1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools,
9
10 # dependencies
11 importlib-metadata,
12 importlib-resources,
13 mako,
14 sqlalchemy,
15 typing-extensions,
16
17 # tests
18 pytest7CheckHook,
19 pytest-xdist,
20 python-dateutil,
21}:
22
23buildPythonPackage rec {
24 pname = "alembic";
25 version = "1.13.1";
26 pyproject = true;
27
28 disabled = pythonOlder "3.6";
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-STLIVYv2jy7pK5u8uCGGccYnBk1bCJOUN69td9wF5ZU=";
33 };
34
35 build-system = [ setuptools ];
36
37 dependencies =
38 [
39 mako
40 sqlalchemy
41 typing-extensions
42 ]
43 ++ lib.optionals (pythonOlder "3.9") [
44 importlib-resources
45 importlib-metadata
46 ];
47
48 pythonImportsCheck = [ "alembic" ];
49
50 nativeCheckInputs = [
51 pytest7CheckHook
52 pytest-xdist
53 python-dateutil
54 ];
55
56 meta = with lib; {
57 homepage = "https://bitbucket.org/zzzeek/alembic";
58 description = "Database migration tool for SQLAlchemy";
59 license = licenses.mit;
60 maintainers = [ ];
61 mainProgram = "alembic";
62 };
63}