From 5498d4aaedb37ab571a0a280c80a6a66564075eb Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 09:17:06 -0400 Subject: [PATCH 01/20] pythonPackages.croniter: init at 0.3.30 --- .../python-modules/croniter/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/croniter/default.nix diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix new file mode 100644 index 00000000000..e262a7f164c --- /dev/null +++ b/pkgs/development/python-modules/croniter/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f61ca230c07..c252048018d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1671,6 +1671,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 { }; From be91c2aa1b189614d9ec779095842f1143ba3c08 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 09:18:26 -0400 Subject: [PATCH 02/20] pythonPackages.apache-airflow: init at 1.10.3 --- .../python-modules/apache-airflow/default.nix | 167 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 169 insertions(+) create mode 100644 pkgs/development/python-modules/apache-airflow/default.nix diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix new file mode 100644 index 00000000000..a0f2673b1fc --- /dev/null +++ b/pkgs/development/python-modules/apache-airflow/default.nix @@ -0,0 +1,167 @@ +{ lib +, buildPythonPackage +, fetchPypi +, alembic +, configparser +, croniter +, dill +, flask +, flask-appbuilder +, flask-admin +, flask-caching +, flask_login +, flask-swagger +, flask_wtf +, funcsigs +, future +, GitPython +, gunicorn +, iso8601 +, json-merge-patch +, jinja2 +, lxml +, markdown +, pandas +, pendulum +, psutil +, pygments +, python-daemon +, python-dateutil +, requests +, setproctitle +, sqlalchemy +, tabulate +, tenacity +, text-unidecode +, thrift +, tzlocal +, unicodecsv +, werkzeug +, zope_deprecation +, enum34 +, typing +, nose +, isPy27 +}: + +let # import error "from pendulum import Pendulum" due to 2.x + pendulum1 = pendulum.overrideAttrs (super: rec { + name = "pendulum-1.5.1"; + + src = fetchPypi { + pname = super.pname; + version = "1.5.1"; + sha256 = "738878168eb26e5446da5d1f7b3312ae993a542061be8882099c00ef4866b1a2"; + }; + + propagatedBuildInputs = super.propagatedBuildInputs ++ [ tzlocal ]; + }); + + # 2.x has fstrings + flask-appbuilder1 = flask-appbuilder.overrideAttrs (super: rec { + name = "flask-appbuilder-1.13.0"; + + src = fetchPypi { + pname = "Flask-AppBuilder"; + version = "1.13.0"; + sha256 = "1bjcnklpycw62a02kilkdc48vk67sykvlp8l1bvqszkjxvvfhgvg"; + }; + + buildPhase = '' + substituteInPlace setup.py \ + --replace "prison==0.1.0" "prison" + '' + super.buildPhase; + }); +in +buildPythonPackage rec { + pname = "apache-airflow"; + version = "1.10.3"; + + + src = fetchPypi { + inherit pname version; + sha256 = "73840fa3d2f3a523010ce685aa15714d01a4cf42bd6bd77716c4321f82bab140"; + }; + + propagatedBuildInputs = [ + alembic + configparser + croniter + dill + flask + flask-appbuilder1 + flask-admin + flask-caching + flask_login + flask-swagger + flask_wtf + funcsigs + future + GitPython + gunicorn + iso8601 + json-merge-patch + jinja2 + lxml + markdown + pandas + pendulum1 + psutil + pygments + python-daemon + python-dateutil + requests + setproctitle + sqlalchemy + tabulate + tenacity + text-unidecode + thrift + tzlocal + unicodecsv + werkzeug + zope_deprecation + ] ++ lib.optionals isPy27 [ enum34 typing ]; + + checkInputs = [ + nose + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "flask-caching>=1.3.3, <1.4.0" "flask-caching" \ + --replace "flask-appbuilder==1.12.3" "flask-appbuilder" \ + --replace "pendulum==1.4.4" "pendulum" \ + --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 "werkzeug>=0.14.1, <0.15.0" "werkzeug" + ''; + + checkPhase = '' + export HOME=$(mktemp -d) + export AIRFLOW_HOME=$HOME + export AIRFLOW__CORE__UNIT_TEST_MODE=True + export AIRFLOW_DB="$HOME/airflow.db" + + $out/bin/airflow initdb + $out/bin/airflow resetdb + nosetests --cover-package=airflow + ''; + + # tests are extremely complex to run + doCheck = false; + + meta = with lib; { + description = "Programmatically author, schedule and monitor data pipelines"; + homepage = http://airflow.apache.org/; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c252048018d..7bf1f4b6cda 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1434,6 +1434,8 @@ 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 {}; appdirs = callPackage ../development/python-modules/appdirs { }; From 02bbcabecf91b997daeeb5a5bfff2f1eed6a7e41 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 16:41:35 -0400 Subject: [PATCH 03/20] pythonPackages.json-merge-patch: init at 0.2 --- .../json-merge-patch/default.nix | 26 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/python-modules/json-merge-patch/default.nix diff --git a/pkgs/development/python-modules/json-merge-patch/default.nix b/pkgs/development/python-modules/json-merge-patch/default.nix new file mode 100644 index 00000000000..dbcddf73bd2 --- /dev/null +++ b/pkgs/development/python-modules/json-merge-patch/default.nix @@ -0,0 +1,26 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "json-merge-patch"; + version = "0.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "09898b6d427c08754e2a97c709cf2dfd7e28bd10c5683a538914975eab778d39"; + }; + + postPatch = '' + substituteInPlace json_merge_patch/tests.py \ + --replace "import lib as merge" "import json_merge_patch.lib as merge" + ''; + + meta = with lib; { + description = "JSON Merge Patch library"; + homepage = https://github.com/open-contracting/json-merge-patch; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7bf1f4b6cda..d28c9544daf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1976,6 +1976,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 { }; From 3fb612cdc92cd057e7a9ada1359045ee21cdd040 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 16:59:10 -0400 Subject: [PATCH 04/20] pythonPackages.mongoengine: init at 0.18.2 --- .../python-modules/mongoengine/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/mongoengine/default.nix diff --git a/pkgs/development/python-modules/mongoengine/default.nix b/pkgs/development/python-modules/mongoengine/default.nix new file mode 100644 index 00000000000..db20d9442ef --- /dev/null +++ b/pkgs/development/python-modules/mongoengine/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d28c9544daf..c0dcf661265 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4480,6 +4480,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 { }; From ad8b178b0bd24c195785b8b507f3b3d97eb400c6 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 17:01:59 -0400 Subject: [PATCH 05/20] pythonPackages.wtf-peewee: init at 3.0.0 --- .../python-modules/wtf-peewee/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/wtf-peewee/default.nix diff --git a/pkgs/development/python-modules/wtf-peewee/default.nix b/pkgs/development/python-modules/wtf-peewee/default.nix new file mode 100644 index 00000000000..a01aaa4631a --- /dev/null +++ b/pkgs/development/python-modules/wtf-peewee/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c0dcf661265..f84886dd543 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3257,6 +3257,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; }; From 9c983fbf04ced95de6d0ec65f8b5a04858955271 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 17:10:15 -0400 Subject: [PATCH 06/20] pythonPackages.flask-mongoengine: init at 0.9.5 --- .../flask-mongoengine/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/flask-mongoengine/default.nix diff --git a/pkgs/development/python-modules/flask-mongoengine/default.nix b/pkgs/development/python-modules/flask-mongoengine/default.nix new file mode 100644 index 00000000000..5e61a2415b7 --- /dev/null +++ b/pkgs/development/python-modules/flask-mongoengine/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f84886dd543..67ef5d8bba1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3231,6 +3231,10 @@ in { flask_migrate = callPackage ../development/python-modules/flask-migrate { }; + flask-mongoengine = callPackage ../development/python-modules/flask-mongoengine { }; + + flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib { }; + flask-paginate = callPackage ../development/python-modules/flask-paginate { }; flask_principal = callPackage ../development/python-modules/flask-principal { }; From 68520f783aac51515ac45f095369ee268e211706 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 17:25:54 -0400 Subject: [PATCH 07/20] pythonPackages.flask-babelex: init at 0.9.3 --- .../python-modules/flask-babelex/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/flask-babelex/default.nix diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix new file mode 100644 index 00000000000..c94cbaf891c --- /dev/null +++ b/pkgs/development/python-modules/flask-babelex/default.nix @@ -0,0 +1,44 @@ +{ 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 = '' + 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 67ef5d8bba1..ef3e040b05e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3205,6 +3205,8 @@ in { flask-babel = callPackage ../development/python-modules/flask-babel { }; + flask-babelex = callPackage ../development/python-modules/flask-babelex { }; + flask-bootstrap = callPackage ../development/python-modules/flask-bootstrap { }; flask-caching = callPackage ../development/python-modules/flask-caching { }; From 4a69b3b6be6df1097059d979d43e1dd0a9bda99b Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 17:37:43 -0400 Subject: [PATCH 08/20] pythonPackages.sqlalchemy-citext: init at 1.3.0 --- .../sqlalchemy-citext/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/python-modules/sqlalchemy-citext/default.nix diff --git a/pkgs/development/python-modules/sqlalchemy-citext/default.nix b/pkgs/development/python-modules/sqlalchemy-citext/default.nix new file mode 100644 index 00000000000..b91e3385404 --- /dev/null +++ b/pkgs/development/python-modules/sqlalchemy-citext/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ef3e040b05e..0cf9009d0ba 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5135,6 +5135,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 { }; From 0cb3cbfe57785b43beeea09eebc0e93913eba629 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 18:02:03 -0400 Subject: [PATCH 09/20] pythonPackages.flask-admin: init at 1.5.3 --- .../python-modules/flask-admin/default.nix | 70 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 72 insertions(+) create mode 100644 pkgs/development/python-modules/flask-admin/default.nix diff --git a/pkgs/development/python-modules/flask-admin/default.nix b/pkgs/development/python-modules/flask-admin/default.nix new file mode 100644 index 00000000000..d22a1f04e4a --- /dev/null +++ b/pkgs/development/python-modules/flask-admin/default.nix @@ -0,0 +1,70 @@ +{ 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 + rm flask_admin/tests/mongoengine/test_basic.py + rm flask_admin/tests/pymongo/__init__.py + rm flask_admin/tests/test_form_upload.py + rm flask_admin/tests/sqla/test_postgres.py + rm flask_admin/tests/geoa/test_basic.py + nosetests 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0cf9009d0ba..14d90371e39 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3197,6 +3197,8 @@ in { flask = callPackage ../development/python-modules/flask { }; + flask-admin = callPackage ../development/python-modules/flask-admin { }; + flask-api = callPackage ../development/python-modules/flask-api { }; flask_assets = callPackage ../development/python-modules/flask-assets { }; From 908fb25f58e42e41285abd78023f2dcd1cebd819 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 18:18:20 -0400 Subject: [PATCH 10/20] pythonPackages.prison: init at 0.1.2 --- .../python-modules/prison/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/prison/default.nix diff --git a/pkgs/development/python-modules/prison/default.nix b/pkgs/development/python-modules/prison/default.nix new file mode 100644 index 00000000000..4993976b51d --- /dev/null +++ b/pkgs/development/python-modules/prison/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 14d90371e39..9352a00a08c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6215,6 +6215,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 { }; From a380071085f5a175a507f6bb360a208c31b2f52b Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 18:23:37 -0400 Subject: [PATCH 11/20] pythonPackages.marshmallow-enum: init at 1.4.1 --- .../marshmallow-enum/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/marshmallow-enum/default.nix diff --git a/pkgs/development/python-modules/marshmallow-enum/default.nix b/pkgs/development/python-modules/marshmallow-enum/default.nix new file mode 100644 index 00000000000..0188ba6d367 --- /dev/null +++ b/pkgs/development/python-modules/marshmallow-enum/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, marshmallow +, pytest +, isPy27 +, enum34 +, pytest-flake8 +}: + +buildPythonPackage rec { + pname = "marshmallow-enum"; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "justanr"; + repo = "marshmallow_enum"; + rev = "v${version}"; + sha256 = "0ll65y8p0np6ayy8h8g5psf9xm7s0nclarxsh21fdsm72zscx356"; + }; + + propagatedBuildInputs = [ + marshmallow + ] ++ lib.optionals isPy27 [ enum34 ]; + + checkInputs = [ + pytest + pytest-flake8 + ]; + + checkPhase = '' + pytest tests + ''; + + meta = with lib; { + description = "Enum field for Marshmallow"; + homepage = https://github.com/justanr/marshmallow_enum; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9352a00a08c..2d0c3372d08 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3838,6 +3838,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 { }; From 995d4b256e9b086db49bd311569f8b00afe1d5e1 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 18:41:03 -0400 Subject: [PATCH 12/20] pythonPackages.python-openid: init at 2.2.5 --- .../python-modules/python-openid/default.nix | 38 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/python-modules/python-openid/default.nix diff --git a/pkgs/development/python-modules/python-openid/default.nix b/pkgs/development/python-modules/python-openid/default.nix new file mode 100644 index 00000000000..24523512e27 --- /dev/null +++ b/pkgs/development/python-modules/python-openid/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +, nose +}: + +buildPythonPackage rec { + pname = "python-openid"; + version = "2.2.5"; + disabled = !isPy27; + + src = fetchFromGitHub { + owner = "openid"; + repo = pname; + rev = version; + sha256 = "198800ka2xyjz4yi2zm23l2a0knmqzxb4wj1nhqps70jz8mwg5mz"; + }; + + checkInputs = [ + nose + ]; + + checkPhase = '' + nosetests + ''; + + # most tests require network access + doCheck = false; + + meta = with lib; { + description = "OpenID support for servers and consumers"; + homepage = https://github.com/openid/python-openid; + license = licenses.asl20; + maintainers = with maintainers; [ costrouc ]; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2d0c3372d08..d665e931a3a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1151,6 +1151,8 @@ in { python3-openid = callPackage ../development/python-modules/python3-openid { }; + python-openid = callPackage ../development/python-modules/python-openid { }; + python-packer = callPackage ../development/python-modules/python-packer { }; python-periphery = callPackage ../development/python-modules/python-periphery { }; From 749478d1a7e38475442b5b01df7d8afcd6b9d6c4 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 18:41:28 -0400 Subject: [PATCH 13/20] pythonPackages.flask-openid: init at 1.2.5 --- .../python-modules/flask-openid/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/flask-openid/default.nix diff --git a/pkgs/development/python-modules/flask-openid/default.nix b/pkgs/development/python-modules/flask-openid/default.nix new file mode 100644 index 00000000000..3b67aab4397 --- /dev/null +++ b/pkgs/development/python-modules/flask-openid/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, flask +, python3-openid +, python-openid +, isPy27 +}: + +buildPythonPackage rec { + pname = "flask-openid"; + version = "1.2.5"; + + src = fetchPypi { + pname = "Flask-OpenID"; + inherit version; + sha256 = "5a8ffe1c8c0ad1cc1f5030e1223ea27f8861ee0215a2a58a528cc61379e5ccab"; + }; + + propagatedBuildInputs = [ + flask + ] ++ (if isPy27 then [ python-openid ] else [ 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d665e931a3a..32fe52b2899 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3241,6 +3241,8 @@ in { flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib { }; + flask-openid = callPackage ../development/python-modules/flask-openid { }; + flask-paginate = callPackage ../development/python-modules/flask-paginate { }; flask_principal = callPackage ../development/python-modules/flask-principal { }; From 4cb6a88b3811f9bcf59805bba33b67d97314d129 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 19:00:44 -0400 Subject: [PATCH 14/20] pythonPackages.prance: init at 0.15.0 --- .../python-modules/prance/default.nix | 57 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/python-modules/prance/default.nix diff --git a/pkgs/development/python-modules/prance/default.nix b/pkgs/development/python-modules/prance/default.nix new file mode 100644 index 00000000000..38133172ecf --- /dev/null +++ b/pkgs/development/python-modules/prance/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 32fe52b2899..bbfb671019a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4437,6 +4437,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 { }; From b9367e7a18beec097a7801dd9092eaa111644da3 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 19:01:06 -0400 Subject: [PATCH 15/20] pythonPackages.apispec: init at 2.0.2 --- .../python-modules/apispec/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/apispec/default.nix diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix new file mode 100644 index 00000000000..6d4277a87d5 --- /dev/null +++ b/pkgs/development/python-modules/apispec/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyyaml +, prance +, marshmallow +, pytest +, mock +, openapi-spec-validator +}: + +buildPythonPackage rec { + pname = "apispec"; + version = "2.0.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "11d1aaf620a80f67ded7688fcaf14fa4fd975d566876b5db69b067ffbfe4d1d9"; + }; + + checkInputs = [ + pyyaml + prance + openapi-spec-validator + marshmallow + pytest + mock + ]; + + checkPhase = '' + pytest + ''; + + 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bbfb671019a..b79a175e171 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1440,6 +1440,8 @@ in { apipkg = callPackage ../development/python-modules/apipkg {}; + apispec = callPackage ../development/python-modules/apispec {}; + appdirs = callPackage ../development/python-modules/appdirs { }; appleseed = disabledIf isPy3k From 20e87c1c8c30928b492240d3c687b8062dd69ded Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 19:10:30 -0400 Subject: [PATCH 16/20] pythonPackages.flask-appbuilder: init at 2.1.6 --- .../flask-appbuilder/default.nix | 84 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 86 insertions(+) create mode 100644 pkgs/development/python-modules/flask-appbuilder/default.nix diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix new file mode 100644 index 00000000000..4cb1fed7108 --- /dev/null +++ b/pkgs/development/python-modules/flask-appbuilder/default.nix @@ -0,0 +1,84 @@ +{ 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 "Flask-SQLAlchemy>=2.4,<3" "Flask-SQLAlchemy" \ + --replace "Flask-JWT-Extended>=3.18,<4" "Flask-JWT-Extended" + ''; + + checkPhase = '' + # remove mockldap requirement + rm flask_appbuilder/tests/_test_ldapsearch.py + nosetests flask_appbuilder.api flask_appbuilder.tests.test_api + ''; + + # 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b79a175e171..ee43a0be487 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3203,6 +3203,8 @@ in { 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 { }; From d6fdec8d247f8b082b937961a253a9d35757bb87 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Jul 2019 21:09:16 -0400 Subject: [PATCH 17/20] apache-airflow: refactor add as python application --- .../python-modules/apache-airflow/default.nix | 32 +++++++++++++------ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix index a0f2673b1fc..40f0952d17c 100644 --- a/pkgs/development/python-modules/apache-airflow/default.nix +++ b/pkgs/development/python-modules/apache-airflow/default.nix @@ -1,6 +1,8 @@ { lib +, stdenv , buildPythonPackage , fetchPypi +, fetchFromGitHub , alembic , configparser , croniter @@ -12,6 +14,7 @@ , flask_login , flask-swagger , flask_wtf +, flask-bcrypt , funcsigs , future , GitPython @@ -19,6 +22,7 @@ , iso8601 , json-merge-patch , jinja2 +, ldap3 , lxml , markdown , pandas @@ -29,6 +33,7 @@ , python-dateutil , requests , setproctitle +, snakebite , sqlalchemy , tabulate , tenacity @@ -78,9 +83,11 @@ buildPythonPackage rec { version = "1.10.3"; - src = fetchPypi { - inherit pname version; - sha256 = "73840fa3d2f3a523010ce685aa15714d01a4cf42bd6bd77716c4321f82bab140"; + src = fetchFromGitHub { + owner = "apache"; + repo = "airflow"; + rev = version; + sha256 = "040d1wbkcapkgb220yzk2dicnghhynj24m2xlbmqg6j54f007j94"; }; propagatedBuildInputs = [ @@ -91,6 +98,7 @@ buildPythonPackage rec { flask flask-appbuilder1 flask-admin + flask-bcrypt flask-caching flask_login flask-swagger @@ -102,6 +110,7 @@ buildPythonPackage rec { iso8601 json-merge-patch jinja2 + ldap3 lxml markdown pandas @@ -124,6 +133,7 @@ buildPythonPackage rec { ] ++ lib.optionals isPy27 [ enum34 typing ]; checkInputs = [ + snakebite nose ]; @@ -142,6 +152,9 @@ buildPythonPackage rec { --replace "future>=0.16.0, <0.17" "future" \ --replace "tenacity==4.12.0" "tenacity" \ --replace "werkzeug>=0.14.1, <0.15.0" "werkzeug" + + substituteInPlace tests/core.py \ + --replace "/bin/bash" "${stdenv.shell}" ''; checkPhase = '' @@ -149,15 +162,16 @@ buildPythonPackage rec { export AIRFLOW_HOME=$HOME export AIRFLOW__CORE__UNIT_TEST_MODE=True export AIRFLOW_DB="$HOME/airflow.db" + export PATH=$PATH:$out/bin - $out/bin/airflow initdb - $out/bin/airflow resetdb - nosetests --cover-package=airflow + airflow version + airflow initdb + airflow resetdb -y + nosetests tests.core.CoreTest + ## all tests + # nosetests --cover-package=airflow ''; - # tests are extremely complex to run - doCheck = false; - meta = with lib; { description = "Programmatically author, schedule and monitor data pipelines"; homepage = http://airflow.apache.org/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0be07adc109..c1af52046f3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { }; From d758b24e802d4bfbd2049145184f0e2b4b9a71ba Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 22 Jul 2019 09:39:34 -0400 Subject: [PATCH 18/20] pythonPackages.flask-bcrypt: init at 0.7.1 --- .../python-modules/flask-bcrypt/default.nix | 35 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/flask-bcrypt/default.nix diff --git a/pkgs/development/python-modules/flask-bcrypt/default.nix b/pkgs/development/python-modules/flask-bcrypt/default.nix new file mode 100644 index 00000000000..dfcdad18f9c --- /dev/null +++ b/pkgs/development/python-modules/flask-bcrypt/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ee43a0be487..5e6d2a39623 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3215,6 +3215,8 @@ in { 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 { }; From effe7f8a09e9de4dd9b08d1bace3b7be7b13bb7b Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 22 Jul 2019 09:40:06 -0400 Subject: [PATCH 19/20] pythonPackages.snakebite: init at 2.11.0 --- .../python-modules/snakebite/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/snakebite/default.nix diff --git a/pkgs/development/python-modules/snakebite/default.nix b/pkgs/development/python-modules/snakebite/default.nix new file mode 100644 index 00000000000..1d08570d727 --- /dev/null +++ b/pkgs/development/python-modules/snakebite/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5e6d2a39623..696ef8e3474 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5869,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 { }; From 7af3a955c968647e6ed92c55d93bb4d8cb26add1 Mon Sep 17 00:00:00 2001 From: Ariel Date: Fri, 15 Nov 2019 16:14:25 -0500 Subject: [PATCH 20/20] apache-airflow: 1.10.3 -> 1.10.5, enable python Includes misc fixes suggested during the PR process. --- .../python-modules/apache-airflow/default.nix | 85 ++++++++++--------- .../python-modules/apispec/default.nix | 12 +-- .../python-modules/flask-admin/default.nix | 13 +-- .../flask-appbuilder/default.nix | 8 +- .../python-modules/flask-babelex/default.nix | 3 + .../python-modules/flask-openid/default.nix | 7 +- .../json-merge-patch/default.nix | 14 ++- .../marshmallow-enum/default.nix | 15 ++-- .../python-modules/python-openid/default.nix | 38 --------- pkgs/top-level/python-packages.nix | 4 - 10 files changed, 84 insertions(+), 115 deletions(-) delete mode 100644 pkgs/development/python-modules/python-openid/default.nix diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix index 40f0952d17c..c15aac61b5c 100644 --- a/pkgs/development/python-modules/apache-airflow/default.nix +++ b/pkgs/development/python-modules/apache-airflow/default.nix @@ -3,8 +3,11 @@ , buildPythonPackage , fetchPypi , fetchFromGitHub +, fetchpatch , alembic +, cached-property , configparser +, colorlog , croniter , dill , flask @@ -24,6 +27,7 @@ , jinja2 , ldap3 , lxml +, lazy-object-proxy , markdown , pandas , pendulum @@ -37,6 +41,7 @@ , sqlalchemy , tabulate , tenacity +, termcolor , text-unidecode , thrift , tzlocal @@ -46,58 +51,47 @@ , enum34 , typing , nose -, isPy27 +, python +, isPy3k }: -let # import error "from pendulum import Pendulum" due to 2.x - pendulum1 = pendulum.overrideAttrs (super: rec { - name = "pendulum-1.5.1"; - - src = fetchPypi { - pname = super.pname; - version = "1.5.1"; - sha256 = "738878168eb26e5446da5d1f7b3312ae993a542061be8882099c00ef4866b1a2"; - }; - - propagatedBuildInputs = super.propagatedBuildInputs ++ [ tzlocal ]; - }); - - # 2.x has fstrings - flask-appbuilder1 = flask-appbuilder.overrideAttrs (super: rec { - name = "flask-appbuilder-1.13.0"; - - src = fetchPypi { - pname = "Flask-AppBuilder"; - version = "1.13.0"; - sha256 = "1bjcnklpycw62a02kilkdc48vk67sykvlp8l1bvqszkjxvvfhgvg"; - }; - - buildPhase = '' - substituteInPlace setup.py \ - --replace "prison==0.1.0" "prison" - '' + super.buildPhase; - }); -in buildPythonPackage rec { pname = "apache-airflow"; - version = "1.10.3"; + version = "1.10.5"; + disabled = (!isPy3k); - - src = fetchFromGitHub { + src = fetchFromGitHub rec { owner = "apache"; repo = "airflow"; rev = version; - sha256 = "040d1wbkcapkgb220yzk2dicnghhynj24m2xlbmqg6j54f007j94"; + 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-appbuilder1 flask-admin + flask-appbuilder flask-bcrypt flask-caching flask_login @@ -112,9 +106,10 @@ buildPythonPackage rec { jinja2 ldap3 lxml + lazy-object-proxy markdown pandas - pendulum1 + pendulum psutil pygments python-daemon @@ -124,13 +119,14 @@ buildPythonPackage rec { sqlalchemy tabulate tenacity + termcolor text-unidecode thrift tzlocal unicodecsv werkzeug zope_deprecation - ] ++ lib.optionals isPy27 [ enum34 typing ]; + ]; checkInputs = [ snakebite @@ -138,10 +134,14 @@ buildPythonPackage rec { ]; 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.3" "flask-appbuilder" \ + --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" \ @@ -151,7 +151,14 @@ buildPythonPackage rec { --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}" @@ -176,6 +183,6 @@ buildPythonPackage rec { description = "Programmatically author, schedule and monitor data pipelines"; homepage = http://airflow.apache.org/; license = licenses.asl20; - maintainers = [ maintainers.costrouc ]; + maintainers = [ maintainers.costrouc maintainers.ingenieroariel ]; }; } diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix index 6d4277a87d5..217a921a634 100644 --- a/pkgs/development/python-modules/apispec/default.nix +++ b/pkgs/development/python-modules/apispec/default.nix @@ -4,18 +4,18 @@ , pyyaml , prance , marshmallow -, pytest +, pytestCheckHook , mock , openapi-spec-validator }: buildPythonPackage rec { pname = "apispec"; - version = "2.0.2"; + version = "3.1.0"; src = fetchPypi { inherit pname version; - sha256 = "11d1aaf620a80f67ded7688fcaf14fa4fd975d566876b5db69b067ffbfe4d1d9"; + sha256 = "0rr32z9hbf8w4w1fs5gj2v0ixcq2vq7a3wssrlxagi5ii7ygap7y"; }; checkInputs = [ @@ -23,14 +23,10 @@ buildPythonPackage rec { prance openapi-spec-validator marshmallow - pytest mock + pytestCheckHook ]; - checkPhase = '' - pytest - ''; - 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; diff --git a/pkgs/development/python-modules/flask-admin/default.nix b/pkgs/development/python-modules/flask-admin/default.nix index d22a1f04e4a..3a2c1fe5e9b 100644 --- a/pkgs/development/python-modules/flask-admin/default.nix +++ b/pkgs/development/python-modules/flask-admin/default.nix @@ -53,12 +53,13 @@ buildPythonPackage rec { checkPhase = '' # disable tests that require mongodb, postresql - rm flask_admin/tests/mongoengine/test_basic.py - rm flask_admin/tests/pymongo/__init__.py - rm flask_admin/tests/test_form_upload.py - rm flask_admin/tests/sqla/test_postgres.py - rm flask_admin/tests/geoa/test_basic.py - nosetests flask_admin/tests + nosetests \ + -e "mongoengine" \ + -e "pymongo" \ + -e "test_form_upload" \ + -e "test_postgres" \ + -e "geoa" \ + flask_admin/tests ''; meta = with lib; { diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix index 4cb1fed7108..46841f68d60 100644 --- a/pkgs/development/python-modules/flask-appbuilder/default.nix +++ b/pkgs/development/python-modules/flask-appbuilder/default.nix @@ -62,16 +62,12 @@ buildPythonPackage rec { 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" ''; - checkPhase = '' - # remove mockldap requirement - rm flask_appbuilder/tests/_test_ldapsearch.py - nosetests flask_appbuilder.api flask_appbuilder.tests.test_api - ''; - # majority of tests require network access or mongo doCheck = false; diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix index c94cbaf891c..c5968be6b8f 100644 --- a/pkgs/development/python-modules/flask-babelex/default.nix +++ b/pkgs/development/python-modules/flask-babelex/default.nix @@ -30,6 +30,9 @@ buildPythonPackage rec { ]; 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" diff --git a/pkgs/development/python-modules/flask-openid/default.nix b/pkgs/development/python-modules/flask-openid/default.nix index 3b67aab4397..ad500163609 100644 --- a/pkgs/development/python-modules/flask-openid/default.nix +++ b/pkgs/development/python-modules/flask-openid/default.nix @@ -3,13 +3,13 @@ , fetchPypi , flask , python3-openid -, python-openid -, isPy27 +, isPy3k }: buildPythonPackage rec { pname = "flask-openid"; version = "1.2.5"; + disable = !isPy3k; src = fetchPypi { pname = "Flask-OpenID"; @@ -19,7 +19,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ flask - ] ++ (if isPy27 then [ python-openid ] else [ python3-openid ]); + python3-openid + ]; # no tests for repo... doCheck = false; diff --git a/pkgs/development/python-modules/json-merge-patch/default.nix b/pkgs/development/python-modules/json-merge-patch/default.nix index dbcddf73bd2..b0bc2a835c4 100644 --- a/pkgs/development/python-modules/json-merge-patch/default.nix +++ b/pkgs/development/python-modules/json-merge-patch/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, fetchpatch }: buildPythonPackage rec { @@ -12,10 +13,15 @@ buildPythonPackage rec { sha256 = "09898b6d427c08754e2a97c709cf2dfd7e28bd10c5683a538914975eab778d39"; }; - postPatch = '' - substituteInPlace json_merge_patch/tests.py \ - --replace "import lib as merge" "import json_merge_patch.lib as merge" - ''; + 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"; diff --git a/pkgs/development/python-modules/marshmallow-enum/default.nix b/pkgs/development/python-modules/marshmallow-enum/default.nix index 0188ba6d367..9d68e66c91a 100644 --- a/pkgs/development/python-modules/marshmallow-enum/default.nix +++ b/pkgs/development/python-modules/marshmallow-enum/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchFromGitHub , marshmallow -, pytest +, pytestCheckHook , isPy27 , enum34 , pytest-flake8 @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "marshmallow-enum"; - version = "1.4.1"; + version = "1.5.1"; src = fetchFromGitHub { owner = "justanr"; repo = "marshmallow_enum"; rev = "v${version}"; - sha256 = "0ll65y8p0np6ayy8h8g5psf9xm7s0nclarxsh21fdsm72zscx356"; + sha256 = "1ihrcmyfjabivg6hc44i59hnw5ijlg1byv3zs1rqxfynp8xr7398"; }; propagatedBuildInputs = [ @@ -24,13 +24,14 @@ buildPythonPackage rec { ] ++ lib.optionals isPy27 [ enum34 ]; checkInputs = [ - pytest + pytestCheckHook pytest-flake8 ]; - checkPhase = '' - pytest tests - ''; + disabledTests = [ + "test_custom_error_in_deserialize_by_name" + "test_custom_error_in_deserialize_by_value" + ]; meta = with lib; { description = "Enum field for Marshmallow"; diff --git a/pkgs/development/python-modules/python-openid/default.nix b/pkgs/development/python-modules/python-openid/default.nix deleted file mode 100644 index 24523512e27..00000000000 --- a/pkgs/development/python-modules/python-openid/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, isPy27 -, nose -}: - -buildPythonPackage rec { - pname = "python-openid"; - version = "2.2.5"; - disabled = !isPy27; - - src = fetchFromGitHub { - owner = "openid"; - repo = pname; - rev = version; - sha256 = "198800ka2xyjz4yi2zm23l2a0knmqzxb4wj1nhqps70jz8mwg5mz"; - }; - - checkInputs = [ - nose - ]; - - checkPhase = '' - nosetests - ''; - - # most tests require network access - doCheck = false; - - meta = with lib; { - description = "OpenID support for servers and consumers"; - homepage = https://github.com/openid/python-openid; - license = licenses.asl20; - maintainers = with maintainers; [ costrouc ]; - }; - -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 696ef8e3474..9c2159bab59 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1151,8 +1151,6 @@ in { python3-openid = callPackage ../development/python-modules/python3-openid { }; - python-openid = callPackage ../development/python-modules/python-openid { }; - python-packer = callPackage ../development/python-modules/python-packer { }; python-periphery = callPackage ../development/python-modules/python-periphery { }; @@ -3245,8 +3243,6 @@ in { flask-mongoengine = callPackage ../development/python-modules/flask-mongoengine { }; - flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib { }; - flask-openid = callPackage ../development/python-modules/flask-openid { }; flask-paginate = callPackage ../development/python-modules/flask-paginate { };