aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/python-web.scm62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index e6310fad58..99853acec5 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8274,6 +8274,68 @@ SendGrid Web API v3 endpoints, including the new v3 /mail/send.")
Interface) framework/toolkit for building async web services in Python.")
(license license:bsd-3)))
+(define-public python-fastapi
+ (package
+ (name "python-fastapi")
+ (version "0.92.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fastapi" version))
+ (sha256
+ (base32
+ "1pm4p5i9h732f0qag85yd9ngjz8x9bhs3fyk2j861cn8s9dhyfh2"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'drop-orjson
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("\"orjson.*\",") ""))))
+ (add-after 'unpack 'delete-failing-tests
+ (lambda _
+ (for-each
+ delete-file
+ (append
+ '("docs_src/app_testing/app_b_py310/test_main.py"
+ "tests/test_tutorial/test_templates/test_tutorial001.py")
+ (find-files "docs_src/sql_databases/"
+ "test_sql_app\\.py$")
+ (find-files "tests"
+ "test_(default|orjson)_response_class\\.py$")
+ (find-files "tests/test_tutorial"
+ "test_tutorial00(1b|9c)\\.py$")
+ (find-files "tests/test_tutorial"
+ "test_testing_databases.*\\.py$"))))))))
+ (propagated-inputs (list python-email-validator
+ python-httpx
+ python-itsdangerous
+ python-jinja2
+ python-multipart
+ python-starlette
+ python-pydantic
+ python-pyyaml
+ python-uvicorn
+ python-ujson))
+ (native-inputs (list python-databases
+ python-flask
+ python-hatchling
+ python-isort
+ python-jose
+ python-mypy
+ python-passlib
+ python-peewee
+ python-pytest
+ python-sqlalchemy
+ python-types-orjson
+ python-types-ujson))
+ (home-page "https://github.com/tiangolo/fastapi")
+ (synopsis "Web framework based on type hints")
+ (description "FastAPI provides a web API framework based on pydantic and
+starlette.")
+ (license license:expat)))
+
(define-public python-pyactiveresource
(package
(name "python-pyactiveresource")