Merge pull request #76652 from costrouc/python-httpx-init
Packaging several async python web libraries / databases connectors
This commit is contained in:
commit
5a3cbd01f7
48
pkgs/development/python-modules/aiocontextvars/default.nix
Normal file
48
pkgs/development/python-modules/aiocontextvars/default.nix
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestrunner
|
||||||
|
, pytest
|
||||||
|
, pytest-asyncio
|
||||||
|
, contextvars
|
||||||
|
, sqlalchemy
|
||||||
|
, isPy27
|
||||||
|
, pythonOlder
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "aiocontextvars";
|
||||||
|
version = "0.2.2";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "fantix";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0a2gmrm9csiknc8n3si67sgzffkydplh9d7ga1k87ygk2aj22mmk";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pytestrunner
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytest-asyncio
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
sqlalchemy
|
||||||
|
] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Asyncio support for PEP-567 contextvars backport";
|
||||||
|
homepage = https://github.com/fantix/aiocontextvars;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
47
pkgs/development/python-modules/aiomysql/default.nix
Normal file
47
pkgs/development/python-modules/aiomysql/default.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pymysql
|
||||||
|
, pytest
|
||||||
|
, isPy27
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "aiomysql";
|
||||||
|
version = "0.0.20";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "aio-libs";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1mxih81zc2k64briirpp5wz4f72l8v05avfyfibaq9fr6lcbih9b";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
pymysql
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace "PyMySQL>=0.9,<=0.9.2" "PyMySQL"
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
# tests require mysql database
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "MySQL driver for asyncio";
|
||||||
|
homepage = https://github.com/aio-libs/aiomysql;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
36
pkgs/development/python-modules/aiosqlite/default.nix
Normal file
36
pkgs/development/python-modules/aiosqlite/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, setuptools
|
||||||
|
, aiounittest
|
||||||
|
, isPy27
|
||||||
|
, pytest
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "aiosqlite";
|
||||||
|
version = "0.11.0";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jreese";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0pmkp4iy738yv2sl08kvhd0ma6wjqbmfnwid72gvg4zqsr1hnn0z";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
aiounittest
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Asyncio bridge to the standard sqlite3 module";
|
||||||
|
homepage = https://github.com/jreese/aiosqlite;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
36
pkgs/development/python-modules/aiounittest/default.nix
Normal file
36
pkgs/development/python-modules/aiounittest/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, nose
|
||||||
|
, coverage
|
||||||
|
, isPy27
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "aiounittest";
|
||||||
|
version = "1.3.1";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kwarunek";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0mlic2q49cb0vv62mixy4i4x8c91qb6jlji7khiamcxcg676nasl";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
nose
|
||||||
|
coverage
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
nosetests
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Test asyncio code more easily";
|
||||||
|
homepage = https://github.com/kwarunek/aiounittest;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
49
pkgs/development/python-modules/databases/default.nix
Normal file
49
pkgs/development/python-modules/databases/default.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, sqlalchemy
|
||||||
|
, aiocontextvars
|
||||||
|
, isPy27
|
||||||
|
, pytest
|
||||||
|
, asyncpg
|
||||||
|
, aiomysql
|
||||||
|
, aiosqlite
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "databases";
|
||||||
|
version = "0.2.6";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "encode";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0cdb4vln4zdmqbbcj7711b81b2l64jg1miihqcg8gpi35v404h2q";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
sqlalchemy
|
||||||
|
aiocontextvars
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
asyncpg
|
||||||
|
aiomysql
|
||||||
|
aiosqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
# big chunk to tests depend on existing posgresql and mysql databases
|
||||||
|
# some tests are better than no tests
|
||||||
|
checkPhase = ''
|
||||||
|
pytest --ignore=tests/test_integration.py --ignore=tests/test_databases.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Async database support for Python";
|
||||||
|
homepage = https://github.com/encode/databases;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,22 +1,28 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchFromGitHub
|
||||||
, uvicorn
|
, uvicorn
|
||||||
, starlette
|
, starlette
|
||||||
, pydantic
|
, pydantic
|
||||||
, python
|
|
||||||
, isPy3k
|
, isPy3k
|
||||||
, which
|
, pytest
|
||||||
|
, pytestcov
|
||||||
|
, pyjwt
|
||||||
|
, passlib
|
||||||
|
, aiosqlite
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "fastapi";
|
pname = "fastapi";
|
||||||
version = "0.42.0";
|
version = "0.45.0";
|
||||||
|
format = "flit";
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
owner = "tiangolo";
|
||||||
sha256 = "48cb522c1c993e238bfe272fbb18049cbd4bf5b9d6c0d4a4fa113cc790e8196c";
|
repo = "fastapi";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1qwh382ny6qa3zi64micdq4j7dc64zv4rfd8g91j0digd4rhs6i1";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -25,10 +31,24 @@ buildPythonPackage rec {
|
|||||||
pydantic
|
pydantic
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [ ./setup.py.patch ];
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
pyjwt
|
||||||
|
passlib
|
||||||
|
aiosqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
# starlette pinning kept in place due to 0.12.9 being a hard
|
||||||
|
# dependency luckily fastapi is currently the only dependent on
|
||||||
|
# starlette. Please remove pinning when possible
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace pyproject.toml \
|
||||||
|
--replace "pydantic >=0.32.2,<=0.32.2" "pydantic"
|
||||||
|
'';
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${python.interpreter} -c "from fastapi import FastAPI; app = FastAPI()"
|
pytest --ignore=tests/test_default_response_class.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/setup.py b/setup.py
|
|
||||||
index ccc3d2b..77ce446 100644
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -10,7 +10,7 @@ package_data = \
|
|
||||||
{'': ['*']}
|
|
||||||
|
|
||||||
install_requires = \
|
|
||||||
-['starlette >=0.11.1,<=0.12.0', 'pydantic >=0.30,<=0.30.0']
|
|
||||||
+['starlette >=0.11.1', 'pydantic >=0.30']
|
|
||||||
|
|
||||||
extras_require = \
|
|
||||||
{'all': ['requests',
|
|
28
pkgs/development/python-modules/hstspreload/default.nix
Normal file
28
pkgs/development/python-modules/hstspreload/default.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, isPy27
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "hstspreload";
|
||||||
|
version = "2019.12.25";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sethmlarson";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1aa7jccwldxw3s0z668qqb0i0plsark1q3jvkmqkyp645w5bfilk";
|
||||||
|
};
|
||||||
|
|
||||||
|
# tests require network connection
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Chromium HSTS Preload list as a Python package and updated daily";
|
||||||
|
homepage = https://github.com/sethmlarson/hstspreload;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
68
pkgs/development/python-modules/httpx/default.nix
Normal file
68
pkgs/development/python-modules/httpx/default.nix
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, certifi
|
||||||
|
, hstspreload
|
||||||
|
, chardet
|
||||||
|
, h11
|
||||||
|
, h2
|
||||||
|
, idna
|
||||||
|
, rfc3986
|
||||||
|
, sniffio
|
||||||
|
, isPy27
|
||||||
|
, pytest
|
||||||
|
, pytestcov
|
||||||
|
, trustme
|
||||||
|
, uvicorn
|
||||||
|
, trio
|
||||||
|
, brotli
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "httpx";
|
||||||
|
version = "0.9.5";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "encode";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "140z2j7b5hlcxvfb433hqv5b8irqa88hpq33lzr9m992djbhj2hb";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
certifi
|
||||||
|
hstspreload
|
||||||
|
chardet
|
||||||
|
h11
|
||||||
|
h2
|
||||||
|
idna
|
||||||
|
rfc3986
|
||||||
|
sniffio
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
trustme
|
||||||
|
uvicorn
|
||||||
|
trio
|
||||||
|
brotli
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace "h11==0.8.*" "h11"
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
PYTHONPATH=.:$PYTHONPATH pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "The next generation HTTP client";
|
||||||
|
homepage = https://github.com/encode/httpx;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
43
pkgs/development/python-modules/orm/default.nix
Normal file
43
pkgs/development/python-modules/orm/default.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, databases
|
||||||
|
, typesystem
|
||||||
|
, aiosqlite
|
||||||
|
, pytest
|
||||||
|
, pytestcov
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "orm";
|
||||||
|
version = "0.1.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "encode";
|
||||||
|
repo = "orm";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1g70cr0559iyqfzidwh6n2qq6d4dcnrr4sg0jkn1s4qzka828mj7";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
databases
|
||||||
|
typesystem
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
aiosqlite
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
PYTHONPATH=$PYTHONPATH:. pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "An async ORM";
|
||||||
|
homepage = https://github.com/encode/orm;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,21 +1,25 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchFromGitHub
|
||||||
, ujson
|
, ujson
|
||||||
, email_validator
|
, email_validator
|
||||||
, typing-extensions
|
, typing-extensions
|
||||||
, python
|
, python
|
||||||
, isPy3k
|
, isPy3k
|
||||||
|
, pytest
|
||||||
|
, pytestcov
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pydantic";
|
pname = "pydantic";
|
||||||
version = "1.0";
|
version = "1.3";
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
owner = "samuelcolvin";
|
||||||
sha256 = "bf474cebe007701806f5f8b076fb8508116606e5c721734bb855bfec4185263c";
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0s85nzlsyj97j54zsgv569hkzv617z0vqsifsxkkyiimgbvnx7g8";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -24,22 +28,13 @@ buildPythonPackage rec {
|
|||||||
typing-extensions
|
typing-extensions
|
||||||
];
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${python.interpreter} -c """
|
pytest
|
||||||
from datetime import datetime
|
|
||||||
from typing import List
|
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
class User(BaseModel):
|
|
||||||
id: int
|
|
||||||
name = 'John Doe'
|
|
||||||
signup_ts: datetime = None
|
|
||||||
friends: List[int] = []
|
|
||||||
|
|
||||||
external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
|
|
||||||
user = User(**external_data)
|
|
||||||
assert user.id is "123"
|
|
||||||
"""
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
41
pkgs/development/python-modules/python-multipart/default.nix
Normal file
41
pkgs/development/python-modules/python-multipart/default.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, pytest
|
||||||
|
, pytestcov
|
||||||
|
, mock
|
||||||
|
, pyyaml
|
||||||
|
, six
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "python-multipart";
|
||||||
|
version = "0.0.5";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
mock
|
||||||
|
pyyaml
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
six
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A streaming multipart parser for Python";
|
||||||
|
homepage = https://github.com/andrew-d/python-multipart;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchFromGitHub
|
||||||
, aiofiles
|
, aiofiles
|
||||||
, graphene
|
, graphene
|
||||||
, itsdangerous
|
, itsdangerous
|
||||||
@ -9,21 +9,25 @@
|
|||||||
, pyyaml
|
, pyyaml
|
||||||
, requests
|
, requests
|
||||||
, ujson
|
, ujson
|
||||||
|
, python-multipart
|
||||||
, pytest
|
, pytest
|
||||||
, python
|
|
||||||
, uvicorn
|
, uvicorn
|
||||||
, isPy27
|
, isPy27
|
||||||
, darwin
|
, darwin
|
||||||
|
, databases
|
||||||
|
, aiosqlite
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "starlette";
|
pname = "starlette";
|
||||||
version = "0.12.13";
|
version = "0.12.9";
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
owner = "encode";
|
||||||
sha256 = "9597bc28e3c4659107c1c4a45ec32dc45e947d78fe56230222be673b2c36454a";
|
repo = "starlette";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0w44s8ynzy8w8dgm755c8jina9i4dd87vqkcv7jc1kwkg384w9i5";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -35,13 +39,17 @@ buildPythonPackage rec {
|
|||||||
requests
|
requests
|
||||||
ujson
|
ujson
|
||||||
uvicorn
|
uvicorn
|
||||||
|
python-multipart
|
||||||
|
databases
|
||||||
] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices ];
|
] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices ];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
aiosqlite
|
||||||
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${python.interpreter} -c """
|
pytest --ignore=tests/test_graphql.py
|
||||||
from starlette.applications import Starlette
|
|
||||||
app = Starlette(debug=True)
|
|
||||||
"""
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
44
pkgs/development/python-modules/typesystem/default.nix
Normal file
44
pkgs/development/python-modules/typesystem/default.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, isPy27
|
||||||
|
, pytest
|
||||||
|
, pytestcov
|
||||||
|
, jinja2
|
||||||
|
, pyyaml
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "typesystem";
|
||||||
|
version = "0.2.4";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "encode";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1k0jwcky17zwaz2vx4x2zbsnp270g4mgn7kx5bpl8jgx76qmsnba";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
jinja2
|
||||||
|
pyyaml
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
];
|
||||||
|
|
||||||
|
# for some reason jinja2 not picking up forms directory (1% of tests)
|
||||||
|
checkPhase = ''
|
||||||
|
pytest --ignore=tests/test_forms.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A type system library for Python";
|
||||||
|
homepage = https://github.com/encode/typesystem;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.costrouc ];
|
||||||
|
};
|
||||||
|
}
|
@ -550,6 +550,8 @@ in {
|
|||||||
inherit (pkgs.llvmPackages) openmp libcxx libcxxabi;
|
inherit (pkgs.llvmPackages) openmp libcxx libcxxabi;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
databases = callPackage ../development/python-modules/databases { };
|
||||||
|
|
||||||
datamodeldict = callPackage ../development/python-modules/datamodeldict { };
|
datamodeldict = callPackage ../development/python-modules/datamodeldict { };
|
||||||
|
|
||||||
datasette = callPackage ../development/python-modules/datasette { };
|
datasette = callPackage ../development/python-modules/datasette { };
|
||||||
@ -1454,16 +1456,22 @@ in {
|
|||||||
|
|
||||||
aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
|
aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
|
||||||
|
|
||||||
|
aiomysql = callPackage ../development/python-modules/aiomysql { };
|
||||||
|
|
||||||
aioprocessing = callPackage ../development/python-modules/aioprocessing { };
|
aioprocessing = callPackage ../development/python-modules/aioprocessing { };
|
||||||
|
|
||||||
aioresponses = callPackage ../development/python-modules/aioresponses { };
|
aioresponses = callPackage ../development/python-modules/aioresponses { };
|
||||||
|
|
||||||
|
aiosqlite = callPackage ../development/python-modules/aiosqlite { };
|
||||||
|
|
||||||
aiorpcx = callPackage ../development/python-modules/aiorpcx { };
|
aiorpcx = callPackage ../development/python-modules/aiorpcx { };
|
||||||
|
|
||||||
aiosmtpd = callPackage ../development/python-modules/aiosmtpd { };
|
aiosmtpd = callPackage ../development/python-modules/aiosmtpd { };
|
||||||
|
|
||||||
aiounifi = callPackage ../development/python-modules/aiounifi { };
|
aiounifi = callPackage ../development/python-modules/aiounifi { };
|
||||||
|
|
||||||
|
aiounittest = callPackage ../development/python-modules/aiounittest { };
|
||||||
|
|
||||||
aiozeroconf = callPackage ../development/python-modules/aiozeroconf { };
|
aiozeroconf = callPackage ../development/python-modules/aiozeroconf { };
|
||||||
|
|
||||||
ajpy = callPackage ../development/python-modules/ajpy { };
|
ajpy = callPackage ../development/python-modules/ajpy { };
|
||||||
@ -2620,10 +2628,14 @@ in {
|
|||||||
|
|
||||||
hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
|
hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
|
||||||
|
|
||||||
|
hstspreload = callPackage ../development/python-modules/hstspreload { };
|
||||||
|
|
||||||
htmlmin = callPackage ../development/python-modules/htmlmin {};
|
htmlmin = callPackage ../development/python-modules/htmlmin {};
|
||||||
|
|
||||||
httpauth = callPackage ../development/python-modules/httpauth { };
|
httpauth = callPackage ../development/python-modules/httpauth { };
|
||||||
|
|
||||||
|
httpx = callPackage ../development/python-modules/httpx { };
|
||||||
|
|
||||||
idna-ssl = callPackage ../development/python-modules/idna-ssl { };
|
idna-ssl = callPackage ../development/python-modules/idna-ssl { };
|
||||||
|
|
||||||
identify = callPackage ../development/python-modules/identify { };
|
identify = callPackage ../development/python-modules/identify { };
|
||||||
@ -4315,6 +4327,8 @@ in {
|
|||||||
|
|
||||||
orderedset = callPackage ../development/python-modules/orderedset { };
|
orderedset = callPackage ../development/python-modules/orderedset { };
|
||||||
|
|
||||||
|
python-multipart = callPackage ../development/python-modules/python-multipart { };
|
||||||
|
|
||||||
python-otr = callPackage ../development/python-modules/python-otr { };
|
python-otr = callPackage ../development/python-modules/python-otr { };
|
||||||
|
|
||||||
plone-testing = callPackage ../development/python-modules/plone-testing { };
|
plone-testing = callPackage ../development/python-modules/plone-testing { };
|
||||||
@ -4363,6 +4377,8 @@ in {
|
|||||||
|
|
||||||
fasteners = callPackage ../development/python-modules/fasteners { };
|
fasteners = callPackage ../development/python-modules/fasteners { };
|
||||||
|
|
||||||
|
aiocontextvars = callPackage ../development/python-modules/aiocontextvars { };
|
||||||
|
|
||||||
aioeventlet = callPackage ../development/python-modules/aioeventlet { };
|
aioeventlet = callPackage ../development/python-modules/aioeventlet { };
|
||||||
|
|
||||||
aiokafka = callPackage ../development/python-modules/aiokafka { };
|
aiokafka = callPackage ../development/python-modules/aiokafka { };
|
||||||
@ -5115,6 +5131,8 @@ in {
|
|||||||
|
|
||||||
typesentry = callPackage ../development/python-modules/typesentry { };
|
typesentry = callPackage ../development/python-modules/typesentry { };
|
||||||
|
|
||||||
|
typesystem = callPackage ../development/python-modules/typesystem { };
|
||||||
|
|
||||||
s3transfer = callPackage ../development/python-modules/s3transfer { };
|
s3transfer = callPackage ../development/python-modules/s3transfer { };
|
||||||
|
|
||||||
seqdiag = callPackage ../development/python-modules/seqdiag { };
|
seqdiag = callPackage ../development/python-modules/seqdiag { };
|
||||||
@ -6086,6 +6104,8 @@ in {
|
|||||||
|
|
||||||
ofxtools = callPackage ../development/python-modules/ofxtools { };
|
ofxtools = callPackage ../development/python-modules/ofxtools { };
|
||||||
|
|
||||||
|
orm = callPackage ../development/python-modules/orm { };
|
||||||
|
|
||||||
basemap = callPackage ../development/python-modules/basemap { };
|
basemap = callPackage ../development/python-modules/basemap { };
|
||||||
|
|
||||||
dict2xml = callPackage ../development/python-modules/dict2xml { };
|
dict2xml = callPackage ../development/python-modules/dict2xml { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user