;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2015-2023 Efraim Flashner ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge ;;; Copyright © 2016, 2017, 2019-2023 Marius Bakke ;;; Copyright © 2015-2024 Ricardo Wurmus ;;; Copyright © 2017, 2021 Roel Janssen ;;; Copyright © 2016, 2017, 2020 Julien Lepiller ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2014, 2017, 2021 Eric Bavier ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari ;;; Copyright © 2016, 2019, 2022 Hartmut Goebel ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice ;;; Copyright © 2015, 2017 Ben Woodcroft ;;; Copyright © 2015, 2016 Christine Lemmer-Webber ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Oleg Pykhalov ;;; Copyright © 2015, 2016 David Thompson ;;; Copyright © 2017 Mark Meyer ;;; Copyright © 2018 Tomáš Čech ;;; Copyright © 2018, 2019, 2021 Nicolas Goaziou ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019 Vagrant Cascadian ;;; Copyright © 2019 Brendan Tildesley ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2019, 2020 Tanguy Le Carrour ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Evan Straw ;;; Copyright © 2020 Alexandros Theodotou ;;; Copyright © 2020 Holger Peters ;;; Copyright © 2020 Noisytoot ;;; Copyright © 2020 Edouard Klein ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego ;;; Copyright © 2020 Konrad Hinsen ;;; Copyright © 2020, 2022, 2024 Giacomo Leidi ;;; Copyright © 2021 Ekaitz Zarraga ;;; Copyright © 2021 Greg Hogan ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Pradana Aumars ;;; Copyright © 2021, 2022, 2024 Arun Isaac ;;; Copyright © 2021, 2022 jgart ;;; Copyright © 2021 Alice Brenon ;;; Copyright © 2022 John Kehayias ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2022, 2023 Felix Gruber ;;; Copyright © 2022 Peter Polidoro ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2022 Luis Henrique Gomes Higino ;;; Copyright © 2022 Nicolas Graves ;;; Copyright © 2022 Tomasz Jeneralczyk ;;; Copyright © 2022 msimonin ;;; Copyright © 2022 Michael Rohleder ;;; Copyright © 2022 Baptiste Strazzulla ;;; Copyright © 2023 dan ;;; Copyright © 2023 John Kehayias ;;; Copyright © 2023 Ivan Vilata-i-Balaguer ;;; Copyright © 2024 Troy Figiel ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2024 normally_js ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages python-web) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system copy) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages django) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages graphviz) #:use-module (gnu packages groff) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages node) #:use-module (gnu packages openstack) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages rdf) #:use-module (gnu packages rpc) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages) #:use-module (srfi srfi-1)) (define-public python-tornado (package (name "python-tornado") (version "5.1.1") (source (origin (method url-fetch) (uri (pypi-uri "tornado" version)) (sha256 (base32 "02clqk2116jbnq8lnaqmdw3p52nqrd9ib59r4xz2ll43fpcmhlaf")))) (build-system python-build-system) (arguments (list #:phases '(modify-phases %standard-phases (add-after 'unpack 'fix-collections (lambda _ (substitute* "tornado/httputil.py" (("collections.MutableMapping") "collections.abc.MutableMapping")))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (substitute* "tornado/test/runtests.py" (("\"error\", category=DeprecationWarning") "\"ignore\", category=DeprecationWarning") ;; Disable tests that use SSL. (("'tornado.test.simple_httpclient_test',") "") (("'tornado.test.iostream_test',") "") (("'tornado.test.httpserver_test',") "") ;; Some timeouts are triggered in these two modules (("'tornado.test.queues_test',") "") (("'tornado.test.locks_test',") "")) ;; Skip all network tests (setenv "NO_NETWORK" "1") ;; Skip timing-relevant tests (setenv "TRAVIS" "1") (invoke "python" "-m" "tornado.test.runtests" "--verbose=yes"))))))) (native-inputs (list python-certifi)) (home-page "https://www.tornadoweb.org/") (synopsis "Python web framework and asynchronous networking library") (description "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.") (license license:asl2.0))) (define-public python-tornado-6 (package (name "python-tornado") (version "6.2") (source (origin (method url-fetch) (uri (pypi-uri "tornado" version)) (sha256 (base32 "04rwzjfqa31ajz8vvkfcsp1539m8n960msnppxkcckp8plch8qwv")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "ASYNC_TEST_TIMEOUT" "25") ; Like in tox.ini. (invoke "python" "-m" "tornado.test.runtests"))))))) (native-inputs (list python-certifi)) (home-page "https://www.tornadoweb.org/") (synopsis "Python web framework and asynchronous networking library") (description "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.") (license license:asl2.0))) (define-public python-terminado (package (name "python-terminado") (version "0.18.1") (source (origin (method url-fetch) (uri (pypi-uri "terminado" version)) (sha256 (base32 "0bpxag3n0148vsgmi6wh3ynmprykazzqys0lfxgpdr2xp32g42fy")))) (build-system pyproject-build-system) (propagated-inputs (list python-tornado-6 )) (native-inputs (list python-ptyprocess python-hatchling python-pytest python-pytest-timeout python-traitlets python-typing-extensions )) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ (invoke "pytest" "-vv")))))) (home-page "https://github.com/jupyter/terminado") (synopsis "Terminals served to term.js using Tornado websockets") (description "This package provides a Tornado websocket backend for the term.js Javascript terminal emulator library.") (license license:bsd-2))) python-terminado