nixpkgs/pkgs/development/python-modules/ormar/default.nix

93 lines
1.7 KiB
Nix
Raw Normal View History

2021-12-29 22:16:27 +00:00
{ lib
, aiomysql
, aiopg
2021-12-29 22:16:27 +00:00
, aiosqlite
, asyncpg
, buildPythonPackage
2021-12-29 22:16:27 +00:00
, cryptography
, databases
, fastapi
, fetchFromGitHub
2021-12-29 22:16:27 +00:00
, importlib-metadata
, mysqlclient
, orjson
, poetry-core
, psycopg2
, pydantic
2021-12-29 22:16:27 +00:00
, pymysql
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, sqlalchemy
, typing-extensions
2021-12-29 22:16:27 +00:00
}:
buildPythonPackage rec {
pname = "ormar";
version = "0.10.24";
2021-12-29 22:16:27 +00:00
format = "pyproject";
2021-12-29 22:16:27 +00:00
disabled = pythonOlder "3.7";
2021-12-29 22:16:27 +00:00
src = fetchFromGitHub {
owner = "collerek";
repo = pname;
rev = version;
hash = "sha256-zKugeGDcYDI4VKspJPWeZCBubTqMxxfOVQCuF4pC49E=";
2021-12-29 22:16:27 +00:00
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiomysql
aiosqlite
asyncpg
2021-12-29 22:16:27 +00:00
cryptography
databases
2021-12-29 22:16:27 +00:00
orjson
psycopg2
pydantic
sqlalchemy
2021-12-29 22:16:27 +00:00
] ++ lib.optionals (pythonOlder "3.8") [
typing-extensions
importlib-metadata
];
checkInputs = [
aiomysql
aiopg
aiosqlite
2021-12-29 22:16:27 +00:00
asyncpg
fastapi
2021-12-29 22:16:27 +00:00
mysqlclient
psycopg2
2021-12-29 22:16:27 +00:00
pymysql
pytest-asyncio
pytestCheckHook
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'SQLAlchemy = ">=1.3.18,<=1.4.29"' 'SQLAlchemy = ">=1.3.18"' \
--replace 'databases = ">=0.3.2,!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,<0.5.5"' 'databases = ">=0.5.5"'
'';
disabledTests = [
# TypeError: Object of type bytes is not JSON serializable
"test_bulk_operations_with_json"
2021-12-29 22:16:27 +00:00
];
pythonImportsCheck = [
"ormar"
];
2021-12-29 22:16:27 +00:00
meta = with lib; {
homepage = "https://github.com/collerek/ormar";
description = "Async ORM with fastapi in mind and pydantic validation";
2021-12-29 22:16:27 +00:00
license = licenses.mit;
maintainers = with maintainers; [ andreasfelix ];
};
}