nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 aiomysql,
4 aiopg,
5 aiosqlite,
6 asyncmy,
7 asyncpg,
8 buildPythonPackage,
9 fetchFromGitHub,
10 pytestCheckHook,
11 setuptools,
12 sqlalchemy,
13}:
14
15buildPythonPackage rec {
16 pname = "databases";
17 version = "0.9.0";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "encode";
22 repo = "databases";
23 tag = version;
24 hash = "sha256-Zf9QqBgDhWAnHdNvzjXtri5rdT00BOjc4YTNzJALldM=";
25 };
26
27 nativeBuildInputs = [ setuptools ];
28
29 propagatedBuildInputs = [ sqlalchemy ];
30
31 optional-dependencies = {
32 postgresql = [ asyncpg ];
33 asyncpg = [ asyncpg ];
34 aiopg = [ aiopg ];
35 mysql = [ aiomysql ];
36 aiomysql = [ aiomysql ];
37 asyncmy = [ asyncmy ];
38 sqlite = [ aiosqlite ];
39 aiosqlite = [ aiosqlite ];
40 };
41
42 nativeCheckInputs = [ pytestCheckHook ];
43
44 disabledTestPaths = [
45 # circular dependency on starlette
46 "tests/test_integration.py"
47 # TEST_DATABASE_URLS is not set.
48 "tests/test_databases.py"
49 "tests/test_connection_options.py"
50 ];
51
52 pythonImportsCheck = [ "databases" ];
53
54 meta = {
55 description = "Async database support for Python";
56 homepage = "https://github.com/encode/databases";
57 changelog = "https://github.com/encode/databases/releases/tag/${version}";
58 license = lib.licenses.bsd3;
59 maintainers = [ ];
60 };
61}