mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-26 05:57:28 +00:00
Merge pull request #73074 from obsidiansystems/python3-airflow
python3Packages.apache-airflow init 1.10.5
This commit is contained in:
commit
93f5c85d66
188
pkgs/development/python-modules/apache-airflow/default.nix
Normal file
188
pkgs/development/python-modules/apache-airflow/default.nix
Normal file
@ -0,0 +1,188 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, alembic
|
||||
, cached-property
|
||||
, configparser
|
||||
, colorlog
|
||||
, croniter
|
||||
, dill
|
||||
, flask
|
||||
, flask-appbuilder
|
||||
, flask-admin
|
||||
, flask-caching
|
||||
, flask_login
|
||||
, flask-swagger
|
||||
, flask_wtf
|
||||
, flask-bcrypt
|
||||
, funcsigs
|
||||
, future
|
||||
, GitPython
|
||||
, gunicorn
|
||||
, iso8601
|
||||
, json-merge-patch
|
||||
, jinja2
|
||||
, ldap3
|
||||
, lxml
|
||||
, lazy-object-proxy
|
||||
, markdown
|
||||
, pandas
|
||||
, pendulum
|
||||
, psutil
|
||||
, pygments
|
||||
, python-daemon
|
||||
, python-dateutil
|
||||
, requests
|
||||
, setproctitle
|
||||
, snakebite
|
||||
, sqlalchemy
|
||||
, tabulate
|
||||
, tenacity
|
||||
, termcolor
|
||||
, text-unidecode
|
||||
, thrift
|
||||
, tzlocal
|
||||
, unicodecsv
|
||||
, werkzeug
|
||||
, zope_deprecation
|
||||
, enum34
|
||||
, typing
|
||||
, nose
|
||||
, python
|
||||
, isPy3k
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "apache-airflow";
|
||||
version = "1.10.5";
|
||||
disabled = (!isPy3k);
|
||||
|
||||
src = fetchFromGitHub rec {
|
||||
owner = "apache";
|
||||
repo = "airflow";
|
||||
rev = version;
|
||||
sha256 = "14fmhfwx977c9jdb2kgm93i6acx43l45ggj30rb37r68pzpb6l6h";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Not yet accepted: https://github.com/apache/airflow/pull/6562
|
||||
(fetchpatch {
|
||||
name = "avoid-warning-from-abc.collections";
|
||||
url = https://patch-diff.githubusercontent.com/raw/apache/airflow/pull/6562.patch;
|
||||
sha256 = "0swpay1qlb7f9kgc56631s1qd9k82w4nw2ggvkm7jvxwf056k61z";
|
||||
})
|
||||
# Not yet accepted: https://github.com/apache/airflow/pull/6561
|
||||
(fetchpatch {
|
||||
name = "pendulum2-compatibility";
|
||||
url = https://patch-diff.githubusercontent.com/raw/apache/airflow/pull/6561.patch;
|
||||
sha256 = "17hw8qyd4zxvib9zwpbn32p99vmrdz294r31gnsbkkcl2y6h9knk";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
alembic
|
||||
cached-property
|
||||
colorlog
|
||||
configparser
|
||||
croniter
|
||||
dill
|
||||
flask
|
||||
flask-admin
|
||||
flask-appbuilder
|
||||
flask-bcrypt
|
||||
flask-caching
|
||||
flask_login
|
||||
flask-swagger
|
||||
flask_wtf
|
||||
funcsigs
|
||||
future
|
||||
GitPython
|
||||
gunicorn
|
||||
iso8601
|
||||
json-merge-patch
|
||||
jinja2
|
||||
ldap3
|
||||
lxml
|
||||
lazy-object-proxy
|
||||
markdown
|
||||
pandas
|
||||
pendulum
|
||||
psutil
|
||||
pygments
|
||||
python-daemon
|
||||
python-dateutil
|
||||
requests
|
||||
setproctitle
|
||||
sqlalchemy
|
||||
tabulate
|
||||
tenacity
|
||||
termcolor
|
||||
text-unidecode
|
||||
thrift
|
||||
tzlocal
|
||||
unicodecsv
|
||||
werkzeug
|
||||
zope_deprecation
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
snakebite
|
||||
nose
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
substituteInPlace setup.py \
|
||||
--replace "flask>=1.1.0, <2.0" "flask" \
|
||||
--replace "flask-caching>=1.3.3, <1.4.0" "flask-caching" \
|
||||
--replace "flask-appbuilder>=1.12.5, <2.0.0" "flask-appbuilder" \
|
||||
--replace "pendulum==1.4.4" "pendulum" \
|
||||
--replace "cached_property~=1.5" "cached_property" \
|
||||
--replace "dill>=0.2.2, <0.3" "dill" \
|
||||
--replace "configparser>=3.5.0, <3.6.0" "configparser" \
|
||||
--replace "jinja2>=2.7.3, <=2.10.0" "jinja2" \
|
||||
--replace "funcsigs==1.0.0" "funcsigs" \
|
||||
--replace "flask-swagger==0.2.13" "flask-swagger" \
|
||||
--replace "python-daemon>=2.1.1, <2.2" "python-daemon" \
|
||||
--replace "alembic>=0.9, <1.0" "alembic" \
|
||||
--replace "markdown>=2.5.2, <3.0" "markdown" \
|
||||
--replace "future>=0.16.0, <0.17" "future" \
|
||||
--replace "tenacity==4.12.0" "tenacity" \
|
||||
--replace "text-unidecode==1.2" "text-unidecode" \
|
||||
--replace "tzlocal>=1.4,<2.0.0" "tzlocal" \
|
||||
--replace "sqlalchemy~=1.3" "sqlalchemy" \
|
||||
--replace "werkzeug>=0.14.1, <0.15.0" "werkzeug"
|
||||
|
||||
# dumb-init is only needed for CI and Docker, not relevant for NixOS.
|
||||
substituteInPlace setup.py \
|
||||
--replace "'dumb-init>=1.2.2'," ""
|
||||
|
||||
substituteInPlace tests/core.py \
|
||||
--replace "/bin/bash" "${stdenv.shell}"
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
export HOME=$(mktemp -d)
|
||||
export AIRFLOW_HOME=$HOME
|
||||
export AIRFLOW__CORE__UNIT_TEST_MODE=True
|
||||
export AIRFLOW_DB="$HOME/airflow.db"
|
||||
export PATH=$PATH:$out/bin
|
||||
|
||||
airflow version
|
||||
airflow initdb
|
||||
airflow resetdb -y
|
||||
nosetests tests.core.CoreTest
|
||||
## all tests
|
||||
# nosetests --cover-package=airflow
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Programmatically author, schedule and monitor data pipelines";
|
||||
homepage = http://airflow.apache.org/;
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.costrouc maintainers.ingenieroariel ];
|
||||
};
|
||||
}
|
36
pkgs/development/python-modules/apispec/default.nix
Normal file
36
pkgs/development/python-modules/apispec/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pyyaml
|
||||
, prance
|
||||
, marshmallow
|
||||
, pytestCheckHook
|
||||
, mock
|
||||
, openapi-spec-validator
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "apispec";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0rr32z9hbf8w4w1fs5gj2v0ixcq2vq7a3wssrlxagi5ii7ygap7y";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pyyaml
|
||||
prance
|
||||
openapi-spec-validator
|
||||
marshmallow
|
||||
mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification";
|
||||
homepage = https://github.com/marshmallow-code/apispec;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
37
pkgs/development/python-modules/croniter/default.nix
Normal file
37
pkgs/development/python-modules/croniter/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, python-dateutil
|
||||
, pytest
|
||||
, pytz
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "croniter";
|
||||
version = "0.3.30";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "538adeb3a7f7816c3cdec6db974c441620d764c25ff4ed0146ee7296b8a50590";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
python-dateutil
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
pytz
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
pytest src/croniter
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "croniter provides iteration for datetime object with cron like format";
|
||||
homepage = http://github.com/kiorky/croniter;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
71
pkgs/development/python-modules/flask-admin/default.nix
Normal file
71
pkgs/development/python-modules/flask-admin/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, nose
|
||||
, pillow
|
||||
, mongoengine
|
||||
, pymongo
|
||||
, wtf-peewee
|
||||
, sqlalchemy
|
||||
, sqlalchemy-citext
|
||||
, flask-mongoengine
|
||||
, flask_sqlalchemy
|
||||
, flask-babelex
|
||||
, shapely
|
||||
, geoalchemy2
|
||||
, psycopg2
|
||||
, flask
|
||||
, wtforms
|
||||
, isPy27
|
||||
, enum34
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-admin";
|
||||
version = "1.5.3";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "Flask-Admin";
|
||||
inherit version;
|
||||
sha256 = "ca0be6ec11a6913b73f656c65c444ae5be416c57c75638dd3199376ce6bc7422";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
nose
|
||||
pillow
|
||||
mongoengine
|
||||
pymongo
|
||||
wtf-peewee
|
||||
sqlalchemy
|
||||
sqlalchemy-citext
|
||||
flask-mongoengine
|
||||
flask_sqlalchemy
|
||||
flask-babelex
|
||||
shapely
|
||||
geoalchemy2
|
||||
psycopg2
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
flask
|
||||
wtforms
|
||||
] ++ lib.optionals isPy27 [ enum34 ];
|
||||
|
||||
checkPhase = ''
|
||||
# disable tests that require mongodb, postresql
|
||||
nosetests \
|
||||
-e "mongoengine" \
|
||||
-e "pymongo" \
|
||||
-e "test_form_upload" \
|
||||
-e "test_postgres" \
|
||||
-e "geoa" \
|
||||
flask_admin/tests
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple and extensible admin interface framework for Flask";
|
||||
homepage = https://github.com/flask-admin/flask-admin/;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
80
pkgs/development/python-modules/flask-appbuilder/default.nix
Normal file
80
pkgs/development/python-modules/flask-appbuilder/default.nix
Normal file
@ -0,0 +1,80 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, nose
|
||||
, apispec
|
||||
, colorama
|
||||
, click
|
||||
, flask
|
||||
, flask-babel
|
||||
, flask_login
|
||||
, flask-openid
|
||||
, flask_sqlalchemy
|
||||
, flask_wtf
|
||||
, flask-jwt-extended
|
||||
, jsonschema
|
||||
, marshmallow
|
||||
, marshmallow-enum
|
||||
, marshmallow-sqlalchemy
|
||||
, python-dateutil
|
||||
, prison
|
||||
, pyjwt
|
||||
, pyyaml
|
||||
, sqlalchemy-utils
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-appbuilder";
|
||||
version = "2.1.6";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "Flask-AppBuilder";
|
||||
inherit version;
|
||||
sha256 = "a37d7d6a62407a2e0975af5305c795f2fb5c06ecc34e3cf64659d083b1b2dd5f";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
nose
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
apispec
|
||||
colorama
|
||||
click
|
||||
flask
|
||||
flask-babel
|
||||
flask_login
|
||||
flask-openid
|
||||
flask_sqlalchemy
|
||||
flask_wtf
|
||||
flask-jwt-extended
|
||||
jsonschema
|
||||
marshmallow
|
||||
marshmallow-enum
|
||||
marshmallow-sqlalchemy
|
||||
python-dateutil
|
||||
prison
|
||||
pyjwt
|
||||
sqlalchemy-utils
|
||||
pyyaml
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "jsonschema>=3.0.1<4" "jsonschema" \
|
||||
--replace "marshmallow>=2.18.0,<2.20" "marshmallow" \
|
||||
--replace "PyJWT>=1.7.1" "PyJWT" \
|
||||
--replace "Flask-SQLAlchemy>=2.4,<3" "Flask-SQLAlchemy" \
|
||||
--replace "Flask-JWT-Extended>=3.18,<4" "Flask-JWT-Extended"
|
||||
'';
|
||||
|
||||
# majority of tests require network access or mongo
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple and rapid application development framework, built on top of Flask";
|
||||
homepage = https://github.com/dpgaspar/flask-appbuilder/;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
47
pkgs/development/python-modules/flask-babelex/default.nix
Normal file
47
pkgs/development/python-modules/flask-babelex/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, flask
|
||||
, Babel
|
||||
, speaklater
|
||||
, jinja2
|
||||
, pytest
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-babelex";
|
||||
version = "0.9.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Flask-BabelEx";
|
||||
sha256 = "cf79cdedb5ce860166120136b0e059e9d97b8df07a3bc2411f6243de04b754b4";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
flask
|
||||
Babel
|
||||
speaklater
|
||||
jinja2
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
# Disabled 3 tests failing due to string representations of dates:
|
||||
# Like "12. April 2010 um 15:46:00 MESZ" != 12. "April 2010 15:46:00 MESZ"
|
||||
|
||||
pytest tests/tests.py -k "not test_init_app \
|
||||
and not test_custom_locale_selector \
|
||||
and not test_basics"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Adds i18n/l10n support to Flask applications";
|
||||
homepage = http://github.com/mrjoes/flask-babelex;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
35
pkgs/development/python-modules/flask-bcrypt/default.nix
Normal file
35
pkgs/development/python-modules/flask-bcrypt/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, flask
|
||||
, bcrypt
|
||||
, python
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-bcrypt";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxcountryman";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0036gag3nj7fzib23lbbpwhlrn1s0kkrfwk5pd90y4cjcfqh8z9x";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
flask
|
||||
bcrypt
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} test_bcrypt.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Brcrypt hashing for Flask";
|
||||
homepage = https://github.com/maxcountryman/flask-bcrypt;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, flask
|
||||
, flask_wtf
|
||||
, mongoengine
|
||||
, six
|
||||
, nose
|
||||
, rednose
|
||||
, coverage
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-mongoengine";
|
||||
version = "0.9.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MongoEngine";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "05hfddf1dm594wnjyqhj0zmjfsf1kpmx1frjwhypgzx4hf62qcmr";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
flask
|
||||
flask_wtf
|
||||
mongoengine
|
||||
six
|
||||
];
|
||||
|
||||
# they set test requirements to setup_requirements...
|
||||
buildInputs = [
|
||||
nose
|
||||
rednose
|
||||
coverage
|
||||
];
|
||||
|
||||
# tests require working mongodb connection
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Flask-MongoEngine is a Flask extension that provides integration with MongoEngine and WTF model forms";
|
||||
homepage = https://github.com/mongoengine/flask-mongoengine;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
34
pkgs/development/python-modules/flask-openid/default.nix
Normal file
34
pkgs/development/python-modules/flask-openid/default.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, flask
|
||||
, python3-openid
|
||||
, isPy3k
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-openid";
|
||||
version = "1.2.5";
|
||||
disable = !isPy3k;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "Flask-OpenID";
|
||||
inherit version;
|
||||
sha256 = "5a8ffe1c8c0ad1cc1f5030e1223ea27f8861ee0215a2a58a528cc61379e5ccab";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
flask
|
||||
python3-openid
|
||||
];
|
||||
|
||||
# no tests for repo...
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenID support for Flask";
|
||||
homepage = http://github.com/mitsuhiko/flask-openid/;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
32
pkgs/development/python-modules/json-merge-patch/default.nix
Normal file
32
pkgs/development/python-modules/json-merge-patch/default.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "json-merge-patch";
|
||||
version = "0.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "09898b6d427c08754e2a97c709cf2dfd7e28bd10c5683a538914975eab778d39";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# This prevented tests from running (was using a relative import)
|
||||
# https://github.com/OpenDataServices/json-merge-patch/pull/1
|
||||
(fetchpatch {
|
||||
name = "fully-qualified-json-merge-patch-import-on-tests";
|
||||
url = https://patch-diff.githubusercontent.com/raw/OpenDataServices/json-merge-patch/pull/1.patch;
|
||||
sha256 = "1k6xsrxsmz03nwcqsf4gf0zsfnl2r20n83npic8z6bqlpl4lidl4";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "JSON Merge Patch library";
|
||||
homepage = https://github.com/open-contracting/json-merge-patch;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
42
pkgs/development/python-modules/marshmallow-enum/default.nix
Normal file
42
pkgs/development/python-modules/marshmallow-enum/default.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, marshmallow
|
||||
, pytestCheckHook
|
||||
, isPy27
|
||||
, enum34
|
||||
, pytest-flake8
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "marshmallow-enum";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "justanr";
|
||||
repo = "marshmallow_enum";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ihrcmyfjabivg6hc44i59hnw5ijlg1byv3zs1rqxfynp8xr7398";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
marshmallow
|
||||
] ++ lib.optionals isPy27 [ enum34 ];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
pytest-flake8
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_custom_error_in_deserialize_by_name"
|
||||
"test_custom_error_in_deserialize_by_value"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Enum field for Marshmallow";
|
||||
homepage = https://github.com/justanr/marshmallow_enum;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
49
pkgs/development/python-modules/mongoengine/default.nix
Normal file
49
pkgs/development/python-modules/mongoengine/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pymongo
|
||||
, six
|
||||
, blinker
|
||||
, nose
|
||||
, pillow
|
||||
, coverage
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mongoengine";
|
||||
version = "0.18.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MongoEngine";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0gx091h9rcykdj233srrl3dfc0ly52p6r4qc9ah6z0f694kmqj1v";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pymongo
|
||||
six
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
nose
|
||||
pillow
|
||||
coverage
|
||||
blinker
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "coverage==4.2" "coverage"
|
||||
'';
|
||||
|
||||
# tests require mongodb running in background
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "MongoEngine is a Python Object-Document Mapper for working with MongoDB";
|
||||
homepage = http://mongoengine.org/;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
57
pkgs/development/python-modules/prance/default.nix
Normal file
57
pkgs/development/python-modules/prance/default.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, chardet
|
||||
, pyyaml
|
||||
, requests
|
||||
, six
|
||||
, semver
|
||||
, pytest
|
||||
, pytestcov
|
||||
, pytestrunner
|
||||
, sphinx
|
||||
, openapi-spec-validator
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "prance";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "793f96dc8bba73bf4342f57b3570f5e0a94c30e60f0c802a2aaa302759dd8610";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pytestrunner
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
chardet
|
||||
pyyaml
|
||||
requests
|
||||
six
|
||||
semver
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
pytestcov
|
||||
openapi-spec-validator
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "tests_require = dev_require," "tests_require = None,"
|
||||
'';
|
||||
|
||||
# many tests require network connection
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Resolving Swagger/OpenAPI 2.0 and 3.0.0 Parser";
|
||||
homepage = https://github.com/jfinkhaeuser/prance;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
33
pkgs/development/python-modules/prison/default.nix
Normal file
33
pkgs/development/python-modules/prison/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, six
|
||||
, nose
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "prison";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "betodealmeida";
|
||||
repo = "python-rison";
|
||||
rev = version;
|
||||
sha256 = "14vb468iznf9416z993bbqihywp9ibyslw5vp67wfr200zyxjwak";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
six
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
nose
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Rison encoder/decoder";
|
||||
homepage = https://github.com/betodealmeida/python-rison;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
41
pkgs/development/python-modules/snakebite/default.nix
Normal file
41
pkgs/development/python-modules/snakebite/default.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, tox
|
||||
, virtualenv
|
||||
, protobuf
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "snakebite";
|
||||
version = "2.11.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "085238b4944cb9c658ee62d5794de936ac3d0c337c504b2cc86424a205ae978a";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
tox
|
||||
virtualenv
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
protobuf
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "'argparse'" ""
|
||||
'';
|
||||
|
||||
# tests require hadoop hdfs
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Pure Python HDFS client";
|
||||
homepage = http://github.com/spotify/snakebite;
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, sqlalchemy
|
||||
, python
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sqlalchemy-citext";
|
||||
version = "1.3-0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "7d7343037a35153d6f94c3c2f6baf391f88a57651c3bde5d6749d216859ae4c5";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
sqlalchemy
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} tests/test_citext.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A sqlalchemy plugin that allows postgres use of CITEXT";
|
||||
homepage = https://github.com/mahmoudimus/sqlalchemy-citext;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
33
pkgs/development/python-modules/wtf-peewee/default.nix
Normal file
33
pkgs/development/python-modules/wtf-peewee/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, peewee
|
||||
, wtforms
|
||||
, python
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "wtf-peewee";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "acd05d136c8595da3327fcf9176fa85fdcec1f2aac51d235e46e6fc7a0871283";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
peewee
|
||||
wtforms
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} runtests.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "WTForms integration for peewee models";
|
||||
homepage = https://github.com/coleifer/wtf-peewee/;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
@ -559,6 +559,8 @@ in
|
||||
|
||||
airfield = callPackage ../tools/networking/airfield { };
|
||||
|
||||
apache-airflow = with python3.pkgs; toPythonApplication apache-airflow;
|
||||
|
||||
airsonic = callPackage ../servers/misc/airsonic { };
|
||||
|
||||
airspy = callPackage ../applications/radio/airspy { };
|
||||
|
@ -1436,8 +1436,12 @@ in {
|
||||
|
||||
antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime { antlr4 = pkgs.antlr4; };
|
||||
|
||||
apache-airflow = callPackage ../development/python-modules/apache-airflow { };
|
||||
|
||||
apipkg = callPackage ../development/python-modules/apipkg {};
|
||||
|
||||
apispec = callPackage ../development/python-modules/apispec {};
|
||||
|
||||
appdirs = callPackage ../development/python-modules/appdirs { };
|
||||
|
||||
appleseed = disabledIf isPy3k
|
||||
@ -1673,6 +1677,8 @@ in {
|
||||
|
||||
crc16 = callPackage ../development/python-modules/crc16 { };
|
||||
|
||||
croniter = callPackage ../development/python-modules/croniter { };
|
||||
|
||||
csscompressor = callPackage ../development/python-modules/csscompressor {};
|
||||
|
||||
csvs-to-sqlite = callPackage ../development/python-modules/csvs-to-sqlite { };
|
||||
@ -1974,6 +1980,8 @@ in {
|
||||
|
||||
jsonlines = callPackage ../development/python-modules/jsonlines { };
|
||||
|
||||
json-merge-patch = callPackage ../development/python-modules/json-merge-patch { };
|
||||
|
||||
jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { };
|
||||
|
||||
jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };
|
||||
@ -3193,6 +3201,10 @@ in {
|
||||
|
||||
flask = callPackage ../development/python-modules/flask { };
|
||||
|
||||
flask-admin = callPackage ../development/python-modules/flask-admin { };
|
||||
|
||||
flask-appbuilder = callPackage ../development/python-modules/flask-appbuilder { };
|
||||
|
||||
flask-api = callPackage ../development/python-modules/flask-api { };
|
||||
|
||||
flask_assets = callPackage ../development/python-modules/flask-assets { };
|
||||
@ -3201,6 +3213,10 @@ in {
|
||||
|
||||
flask-babel = callPackage ../development/python-modules/flask-babel { };
|
||||
|
||||
flask-babelex = callPackage ../development/python-modules/flask-babelex { };
|
||||
|
||||
flask-bcrypt = callPackage ../development/python-modules/flask-bcrypt { };
|
||||
|
||||
flask-bootstrap = callPackage ../development/python-modules/flask-bootstrap { };
|
||||
|
||||
flask-caching = callPackage ../development/python-modules/flask-caching { };
|
||||
@ -3227,6 +3243,10 @@ in {
|
||||
|
||||
flask_migrate = callPackage ../development/python-modules/flask-migrate { };
|
||||
|
||||
flask-mongoengine = callPackage ../development/python-modules/flask-mongoengine { };
|
||||
|
||||
flask-openid = callPackage ../development/python-modules/flask-openid { };
|
||||
|
||||
flask-paginate = callPackage ../development/python-modules/flask-paginate { };
|
||||
|
||||
flask_principal = callPackage ../development/python-modules/flask-principal { };
|
||||
@ -3253,6 +3273,8 @@ in {
|
||||
|
||||
wtforms = callPackage ../development/python-modules/wtforms { };
|
||||
|
||||
wtf-peewee = callPackage ../development/python-modules/wtf-peewee { };
|
||||
|
||||
graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix {
|
||||
inherit (pkgs) pkgconfig;
|
||||
};
|
||||
@ -3824,6 +3846,8 @@ in {
|
||||
|
||||
marshmallow = callPackage ../development/python-modules/marshmallow { };
|
||||
|
||||
marshmallow-enum = callPackage ../development/python-modules/marshmallow-enum { };
|
||||
|
||||
marshmallow-sqlalchemy = callPackage ../development/python-modules/marshmallow-sqlalchemy { };
|
||||
|
||||
manuel = callPackage ../development/python-modules/manuel { };
|
||||
@ -4419,6 +4443,8 @@ in {
|
||||
|
||||
praw = if isPy3k then callPackage ../development/python-modules/praw { }
|
||||
else callPackage ../development/python-modules/praw/6.3.nix { };
|
||||
|
||||
prance = callPackage ../development/python-modules/prance { };
|
||||
|
||||
prawcore = callPackage ../development/python-modules/prawcore { };
|
||||
|
||||
@ -4478,6 +4504,8 @@ in {
|
||||
|
||||
mongodict = callPackage ../development/python-modules/mongodict { };
|
||||
|
||||
mongoengine = callPackage ../development/python-modules/mongoengine { };
|
||||
|
||||
repoze_who = callPackage ../development/python-modules/repoze_who { };
|
||||
|
||||
vobject = callPackage ../development/python-modules/vobject { };
|
||||
@ -5123,6 +5151,8 @@ in {
|
||||
|
||||
sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
|
||||
|
||||
sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
|
||||
|
||||
sqlalchemy_migrate = callPackage ../development/python-modules/sqlalchemy-migrate { };
|
||||
|
||||
sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { };
|
||||
@ -5839,6 +5869,8 @@ in {
|
||||
|
||||
toposort = callPackage ../development/python-modules/toposort { };
|
||||
|
||||
snakebite = callPackage ../development/python-modules/snakebite { };
|
||||
|
||||
snapperGUI = callPackage ../development/python-modules/snappergui { };
|
||||
|
||||
dm-sonnet = callPackage ../development/python-modules/dm-sonnet { };
|
||||
@ -6199,6 +6231,8 @@ in {
|
||||
|
||||
preggy = callPackage ../development/python-modules/preggy { };
|
||||
|
||||
prison = callPackage ../development/python-modules/prison { };
|
||||
|
||||
pytoml = callPackage ../development/python-modules/pytoml { };
|
||||
|
||||
pypandoc = callPackage ../development/python-modules/pypandoc { };
|
||||
|
Loading…
Reference in New Issue
Block a user