depot/third_party/nixpkgs/pkgs/development/python-modules/flask-dramatiq/default.nix
Default email 2c76a4cb41 Project import generated by Copybara.
GitOrigin-RevId: c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad
2023-11-16 04:20:00 +00:00

85 lines
1.8 KiB
Nix

{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitLab
, poetry-core
, dramatiq
, flask
, requests
, pytestCheckHook
, flask-migrate
, periodiq
, postgresql
, postgresqlTestHook
, psycopg2
}:
buildPythonPackage {
pname = "flask-dramatiq";
version = "0.6.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitLab {
owner = "bersace";
repo = "flask-dramatiq";
rev = "840209e9bf582b4dda468e8bba515f248f3f8534";
hash = "sha256-qjV1zyVzHPXMt+oUeGBdP9XVlbcSz2MF9Zygj543T4w=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'poetry>=0.12' 'poetry-core' \
--replace 'poetry.masonry.api' 'poetry.core.masonry.api'
patchShebangs --build ./example.py
sed -i ./tests/unit/pytest.ini \
-e 's:--cov=flask_dramatiq::' \
-e 's:--cov-report=term-missing::'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
dramatiq
];
nativeCheckInputs = [
pytestCheckHook
flask
requests
flask-migrate
periodiq
postgresql
postgresqlTestHook
psycopg2
] ++ dramatiq.optional-dependencies.rabbitmq;
postgresqlTestSetupPost = ''
substituteInPlace config.py \
--replace 'SQLALCHEMY_DATABASE_URI = f"postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}/{PGDATABASE}"' \
"SQLALCHEMY_DATABASE_URI = \"postgresql://$PGUSER/$PGDATABASE?host=$PGHOST\""
python3 ./example.py db upgrade
'';
pytestFlagsArray = [ "-x" "tests/func/" "tests/unit"];
pythonImportsCheck = [ "flask_dramatiq" ];
# Does HTTP requests to localhost
disabledTests = [
"test_fast"
"test_other"
];
meta = with lib; {
description = "Adds Dramatiq support to your Flask application";
homepage = "https://gitlab.com/bersace/flask-dramatiq";
license = licenses.bsd3;
maintainers = with maintainers; [ traxys ];
};
}