gnu: Add python-fastapi.

* gnu/packages/python-web.scm (python-fastapi): New variable.
This commit is contained in:
Liliana Marie Prikler 2023-03-18 09:59:52 +01:00 committed by Ricardo Wurmus
parent dd3ee6073e
commit 0f7d8a8305
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -8274,6 +8274,68 @@ (define-public python-starlette
Interface) framework/toolkit for building async web services in Python.") Interface) framework/toolkit for building async web services in Python.")
(license license:bsd-3))) (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 (define-public python-pyactiveresource
(package (package
(name "python-pyactiveresource") (name "python-pyactiveresource")