python310Packages.flask-dramatiq: init at 0.6.0

This commit is contained in:
traxys 2023-04-22 22:50:47 +02:00
parent 5f554d4cd4
commit bec31afea7
2 changed files with 87 additions and 0 deletions

View file

@ -0,0 +1,85 @@
{ 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 ];
};
}

View file

@ -3941,6 +3941,8 @@ self: super: with self; {
flask-cors = callPackage ../development/python-modules/flask-cors { };
flask-dramatiq = callPackage ../development/python-modules/flask-dramatiq { };
flask-elastic = callPackage ../development/python-modules/flask-elastic { };
flask-expects-json = callPackage ../development/python-modules/flask-expects-json { };