Date: Thursday, February 16, 2023 @ 10:58:04
Author: dvzrv
Revision: 1400825
archrelease: copy trunk to community-testing-any
Added:
python-fastapi/repos/community-testing-any/
python-fastapi/repos/community-testing-any/PKGBUILD
(from rev 1400824, python-fastapi/trunk/PKGBUILD)
----------+
PKGBUILD | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 89 insertions(+)
Copied: python-fastapi/repos/community-testing-any/PKGBUILD (from rev 1400824,
python-fastapi/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD (rev 0)
+++ community-testing-any/PKGBUILD 2023-02-16 10:58:04 UTC (rev 1400825)
@@ -0,0 +1,89 @@
+# Maintainer: David Runge <[email protected]>
+# Maintainer: Filipe LaĆns (FFY00) <[email protected]>
+
+_name=fastapi
+pkgname=python-$_name
+pkgver=0.92.0
+pkgrel=1
+pkgdesc='FastAPI framework, high performance, easy to learn, fast to code,
ready for production'
+arch=(any)
+url="https://github.com/tiangolo/fastapi"
+license=(MIT)
+depends=(python-pydantic python-starlette)
+optdepends=(
+ 'hypercorn: for Hypercorn as ASGI server'
+ 'python-email-validator: for email validation'
+ 'python-itsdangerous: for SessionMiddleware support'
+ 'python-jinja: for default starlette template configuration'
+ 'python-orjson: for ORJSONResponse'
+ 'python-python-multipart: for form parsing support'
+ 'python-pyyaml: for starlette SchemaGenerator support'
+ 'python-httpx: for TestClient support'
+ 'python-ujson: for faster JSON parsing and UJSONResponse'
+ 'uvicorn: for Uvicorn as ASGI server'
+)
+makedepends=(python-build python-installer python-hatchling python-wheel)
+checkdepends=(
+ # test dependencies
+ python-aiosqlite
+ python-anyio
+ python-databases
+ python-flask
+ python-httpx
+ python-peewee
+ python-pytest
+ python-sqlalchemy
+ python-trio
+
+ # optdepends
+ python-email-validator
+ python-itsdangerous
+ python-jinja
+ python-orjson
+ python-python-multipart
+ python-pyyaml
+ python-ujson
+ uvicorn
+
+ # dev depends
+ python-bcrypt
+ python-cryptography
+ python-jose
+ python-passlib
+)
+source=($_name-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz)
+sha512sums=('9ae809782f3388db1c394e8ae3ee234483db7903efe531003531166238ce6e228f0186ca4dbd7b222302606983480e68ce32d46aa67a73504b0fff83f26da8a6')
+b2sums=('a329084f587a7f8d3c68fadd83a27227f50e32fa7f09269c4c67c45066ef5ec320558d25759db9f26f52455f174b6fe4f30f0433472c56d0fa5b1db7bad51442')
+
+prepare() {
+ cd $_name-$pkgver
+ # do not pin starlette dependency
+ sed -i 's|starlette.*"|starlette"|' pyproject.toml
+}
+
+build() {
+ cd $_name-$pkgver
+ python -m build --wheel --skip-dependency-check --no-isolation
+}
+
+check() {
+ local _site_packages=$(python -c "import site;
print(site.getsitepackages()[0])")
+ local _deselected=(
+ --deselect
docs_src/sql_databases/sql_app_py310/tests/test_sql_app.py::test_create_user
+ --deselect
docs_src/sql_databases/sql_app_py39/tests/test_sql_app.py::test_create_user
+ --deselect
tests/test_generate_unique_id_function.py::test_warn_duplicate_operation_id
+ --deselect
tests/test_tutorial/test_async_sql_databases/test_tutorial001.py::test_create_read
+ )
+
+ cd $_name-$pkgver
+ # install to temporary location, as importlib is used
+ python -m installer --destdir=test_dir dist/*.whl
+ export PYTHONPATH="test_dir/$_site_packages:$PYTHONPATH"
+ pytest -vv -p no:warnings "${_deselected[@]}"
+}
+
+package() {
+ cd $_name-$pkgver
+ python -m installer --destdir="$pkgdir" dist/*.whl
+ install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
+}