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

68 lines
1.5 KiB
Nix

{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, sqlalchemy
, aiocontextvars
, isPy27
, pytestCheckHook
, pymysql
, asyncpg
, aiomysql
, aiosqlite
}:
buildPythonPackage rec {
pname = "databases";
version = "0.4.3";
disabled = isPy27;
src = fetchFromGitHub {
owner = "encode";
repo = pname;
rev = version;
sha256 = "0aq88k7d9036cy6qvlfv9p2dxd6p6fic3j0az43gn6k1ardhdsgf";
};
patches = [
# sqlalchemy 1.4 compat, https://github.com/encode/databases/pull/299
(fetchpatch {
url = "https://github.com/encode/databases/commit/9d6e0c024833bd41421f0798a94ef2bbf27a31d5.patch";
sha256 = "0wz9dz6g88ifvvwlhy249cjvqpx72x99wklzcl7b23srpcvb5gv1";
})
(fetchpatch {
url = "https://github.com/encode/databases/commit/40c41c2b7b3fedae484ad94d81b27ce88a09c5ed.patch";
sha256 = "0z458l3vkg4faxbnf31lszfby5d10fa9kgxxy4xxcm0py6d8a2pi";
})
];
propagatedBuildInputs = [
aiocontextvars
sqlalchemy
];
checkInputs = [
aiomysql
aiosqlite
asyncpg
pymysql
pytestCheckHook
];
disabledTestPaths = [
# ModuleNotFoundError: No module named 'aiopg'
"tests/test_connection_options.py"
# circular dependency on starlette
"tests/test_integration.py"
# TEST_DATABASE_URLS is not set.
"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 ];
};
}