nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 flask,
6 mock,
7 flit-core,
8 pytestCheckHook,
9 pythonAtLeast,
10 pythonOlder,
11 sqlalchemy,
12}:
13
14buildPythonPackage rec {
15 pname = "flask-sqlalchemy";
16 version = "3.1.1";
17 format = "pyproject";
18
19 src = fetchPypi {
20 pname = "flask_sqlalchemy";
21 inherit version;
22 hash = "sha256-5LaLuIGALdoafYeLL8hMBtHuV/tAuHTT3Jfav6NrgxI=";
23 };
24
25 nativeBuildInputs = [ flit-core ];
26
27 propagatedBuildInputs = [
28 flask
29 sqlalchemy
30 ];
31
32 nativeCheckInputs = [
33 mock
34 pytestCheckHook
35 ];
36
37 doCheck = pythonOlder "3.13"; # https://github.com/pallets-eco/flask-sqlalchemy/issues/1379
38
39 disabledTests = [
40 # flaky
41 "test_session_scoping_changing"
42 # https://github.com/pallets-eco/flask-sqlalchemy/issues/1378
43 "test_explicit_table"
44 ];
45
46 pytestFlags = lib.optionals (pythonAtLeast "3.12") [
47 # datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version.
48 "-Wignore::DeprecationWarning"
49 ];
50
51 pythonImportsCheck = [ "flask_sqlalchemy" ];
52
53 meta = {
54 description = "SQLAlchemy extension for Flask";
55 homepage = "http://flask-sqlalchemy.pocoo.org/";
56 changelog = "https://github.com/pallets-eco/flask-sqlalchemy/blob/${version}/CHANGES.rst";
57 license = lib.licenses.bsd3;
58 maintainers = with lib.maintainers; [ gerschtli ];
59 };
60}