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.15.2";
26 pyproject = true;
27
28 disabled = pythonOlder "3.6";
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-HHI5G73v/M/jF+77pobLmjwHgAVHiIVBO5XDsmxXqKc=";
33 };
34
35 build-system = [ setuptools ];
36
37 dependencies = [
38 mako
39 sqlalchemy
40 typing-extensions
41 ]
42 ++ lib.optionals (pythonOlder "3.9") [
43 importlib-resources
44 importlib-metadata
45 ];
46
47 pythonImportsCheck = [ "alembic" ];
48
49 nativeCheckInputs = [
50 pytest7CheckHook
51 pytest-xdist
52 python-dateutil
53 ];
54
55 meta = with lib; {
56 homepage = "https://bitbucket.org/zzzeek/alembic";
57 description = "Database migration tool for SQLAlchemy";
58 license = licenses.mit;
59 maintainers = [ ];
60 mainProgram = "alembic";
61 };
62}