depot/third_party/nixpkgs/pkgs/development/python-modules/sqlbag/default.nix

96 lines
1.7 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
, psycopg2
, pymysql
, sqlalchemy
, pathlib
, six
, flask
, pendulum
, packaging
, setuptools
, poetry-core
, pytestCheckHook
, pytest-xdist
, pytest-sugar
, postgresql
, postgresqlTestHook
,
}:
buildPythonPackage rec {
pname = "sqlbag";
version = "0.1.1617247075";
format = "pyproject";
src = fetchFromGitHub {
owner = "djrobstep";
repo = pname;
# no tags on github, version patch number is unix time.
rev = "eaaeec4158ffa139fba1ec30d7887f4d836f4120";
hash = "sha256-lipgnkqrzjzqwbhtVcWDQypBNzq6Dct/qoM8y/FNiNs=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs =
[
sqlalchemy
six
packaging
psycopg2
pymysql
setuptools # needed for 'pkg_resources'
]
++ lib.optional isPy27 pathlib;
nativeCheckInputs = [
pytestCheckHook
pytest-xdist
pytest-sugar
postgresql
postgresqlTestHook
flask
pendulum
];
preCheck = ''
export PGUSER="nixbld";
'';
disabledTests = [
# These all fail with "List argument must consist only of tuples or dictionaries":
# Related issue: https://github.com/djrobstep/sqlbag/issues/14
"test_basic"
"test_createdrop"
"test_errors_and_messages"
"test_flask_integration"
"test_orm_stuff"
"test_pendulum_for_time_types"
"test_transaction_separation"
];
pytestFlagsArray = [
"-x"
"-svv"
"tests"
];
pythonImportsCheck = [
"sqlbag"
];
meta = with lib; {
description = "Handy python code for doing database things";
homepage = "https://github.com/djrobstep/sqlbag";
license = with licenses; [ unlicense ];
maintainers = with maintainers; [ soispha ];
};
}