diff options
author | wrobell <wrobell@riseup.net> | 2025-06-18 19:56:12 +0100 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-09-28 00:34:27 +0100 |
commit | 60027b1c0fd87ad35edfa82bee847c78f3f46733 (patch) | |
tree | 3076aa872b67c0fcc0b501e81a26b7bcef63d5fe | |
parent | 7dca3b9e0aa7fdbe69088f8c6a01b3398f2ff560 (diff) |
gnu: Add python-blacksheep.
* gnu/packages/python-web.scm (python-blacksheep): New variable.
Change-Id: Ia6ffb6360f6ba932936dc2196161b4ef2cbcd733
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r-- | gnu/packages/python-web.scm | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 1871435425..ed1f7fe8af 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -246,6 +246,73 @@ broad range of notification services, such as Telegram, Discord, Slack, Amazon SNS, Gotify, etc.") (license license:bsd-2))) +(define-public python-blacksheep + (package + (name "python-blacksheep") + (version "2.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neoteroi/BlackSheep") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iwlj6vl0rnvddbn9zsdgpya88z0lifr86wz3ci1d67li7w5bjiq")))) + (build-system pyproject-build-system) + (arguments + (list + ;; tests: 1443 passed, 3 skipped + ;; + ;; 1. Ignore integration tests. + ;; 2. Client tests use test fixture no longer available in + ;; pytest-asyncio, + ;; + ;; See: <https://github.com/Neoteroi/BlackSheep/issues/596>. + #:test-flags + #~(list "--ignore=itests" + "--ignore=tests/client") + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'cythonize + (lambda _ + (with-directory-excursion "blacksheep" + (for-each (lambda (file) + (invoke "cython" "-3" file "-I" ".")) + (find-files "." ".*\\.pyx$")))))))) + (native-inputs + (list python-cython + python-flask + python-jinja2 + python-pydantic + python-pyjwt + python-pytest + python-pytest-asyncio + python-setuptools)) + (propagated-inputs + (list python-certifi + python-dateutil + python-essentials-openapi + python-guardpost + python-itsdangerous)) + (home-page "https://github.com/Neoteroi/BlackSheep") + (synopsis "Asynchronous framework to build event based web applications") + (description + "BlackSheep is a lightweight, asynchronous, event driven Web framework. + +The framework offers +@itemize +@item A rich code API, based on dependency injection and inspired by Flask and +ASP.NET Core. +@item A typing-friendly codebase, which enables a comfortable development +experience thanks to hints when coding with IDEs. +@item Built-in generation of OpenAPI Documentation, supporting version 3, YAML, +and JSON. +@item A cross-platform framework, using the most modern versions of Python. +@item Good performance. +@end itemize") + (license license:expat))) + (define-public python-devpi-common (package (name "python-devpi-common") |