diff --git a/Makefile b/Makefile index ab29ce7..73a5d55 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# Generated by Medikit 0.5.19 on 2018-03-29. +# Generated by Medikit 0.6.1 on 2018-05-16. # All changes will be overriden. # Edit Projectfile and run “make update” (or “medikit update”) to regenerate. @@ -7,10 +7,15 @@ PYTHON ?= $(shell which python || echo python) PYTHON_BASENAME ?= $(shell basename $(PYTHON)) PYTHON_DIRNAME ?= $(shell dirname $(PYTHON)) PYTHON_REQUIREMENTS_FILE ?= requirements.txt +PYTHON_REQUIREMENTS_INLINE ?= PYTHON_REQUIREMENTS_DEV_FILE ?= requirements-dev.txt +PYTHON_REQUIREMENTS_DEV_INLINE ?= PYTHON_REQUIREMENTS_DOCKER_FILE ?= requirements-docker.txt +PYTHON_REQUIREMENTS_DOCKER_INLINE ?= PYTHON_REQUIREMENTS_JUPYTER_FILE ?= requirements-jupyter.txt +PYTHON_REQUIREMENTS_JUPYTER_INLINE ?= PYTHON_REQUIREMENTS_SQLALCHEMY_FILE ?= requirements-sqlalchemy.txt +PYTHON_REQUIREMENTS_SQLALCHEMY_INLINE ?= QUICK ?= PIP ?= $(PYTHON) -m pip PIP_INSTALL_OPTIONS ?= @@ -26,7 +31,7 @@ YAPF_OPTIONS ?= -rip SPHINX_AUTOBUILD ?= $(PYTHON_DIRNAME)/sphinx-autobuild MEDIKIT ?= $(PYTHON) -m medikit MEDIKIT_UPDATE_OPTIONS ?= -MEDIKIT_VERSION ?= 0.5.19 +MEDIKIT_VERSION ?= 0.6.1 .PHONY: $(SPHINX_SOURCEDIR) clean format help install install-dev install-docker install-jupyter install-sqlalchemy medikit quick test update update-requirements watch-$(SPHINX_SOURCEDIR) @@ -39,8 +44,8 @@ else ifneq ($(QUICK),) @printf "Skipping \033[36m%s\033[0m because \033[36m$$QUICK\033[0m is not empty.\n" $(target) else @printf "Applying \033[36m%s\033[0m target...\n" $(target) - $(PIP) install $(PIP_INSTALL_OPTIONS) -U pip wheel - $(PIP) install $(PIP_INSTALL_OPTIONS) -U -r $(PYTHON_REQUIREMENTS_FILE) + $(PIP) install $(PIP_INSTALL_OPTIONS) -U "pip ~=10.0" wheel + $(PIP) install $(PIP_INSTALL_OPTIONS) -U $(PYTHON_REQUIREMENTS_INLINE) -r $(PYTHON_REQUIREMENTS_FILE) @mkdir -p .medikit; touch $@ endif @@ -49,7 +54,7 @@ clean: ## Cleans up the working copy. find . -name __pycache__ -type d | xargs rm -rf install-dev: .medikit/install-dev ## Installs the project (with dev dependencies). -.medikit/install-dev: $(PYTHON_REQUIREMENTS_DEV_FILE) $(PYTHON_REQUIREMENTS_FILE) setup.py +.medikit/install-dev: $(PYTHON_REQUIREMENTS_DEV_FILE) setup.py $(eval target := $(shell echo $@ | rev | cut -d/ -f1 | rev)) ifeq ($(filter quick,$(MAKECMDGOALS)),quick) @printf "Skipping \033[36m%s\033[0m because of \033[36mquick\033[0m target.\n" $(target) @@ -57,8 +62,8 @@ else ifneq ($(QUICK),) @printf "Skipping \033[36m%s\033[0m because \033[36m$$QUICK\033[0m is not empty.\n" $(target) else @printf "Applying \033[36m%s\033[0m target...\n" $(target) - $(PIP) install $(PIP_INSTALL_OPTIONS) -U pip wheel - $(PIP) install $(PIP_INSTALL_OPTIONS) -U -r $(PYTHON_REQUIREMENTS_DEV_FILE) + $(PIP) install $(PIP_INSTALL_OPTIONS) -U "pip ~=10.0" wheel + $(PIP) install $(PIP_INSTALL_OPTIONS) -U $(PYTHON_REQUIREMENTS_DEV_INLINE) -r $(PYTHON_REQUIREMENTS_DEV_FILE) @mkdir -p .medikit; touch $@ endif @@ -66,7 +71,7 @@ quick: # @printf "" install-docker: .medikit/install-docker ## Installs the project (with docker dependencies). -.medikit/install-docker: $(PYTHON_REQUIREMENTS_DOCKER_FILE) $(PYTHON_REQUIREMENTS_FILE) setup.py +.medikit/install-docker: $(PYTHON_REQUIREMENTS_DOCKER_FILE) setup.py $(eval target := $(shell echo $@ | rev | cut -d/ -f1 | rev)) ifeq ($(filter quick,$(MAKECMDGOALS)),quick) @printf "Skipping \033[36m%s\033[0m because of \033[36mquick\033[0m target.\n" $(target) @@ -74,13 +79,13 @@ else ifneq ($(QUICK),) @printf "Skipping \033[36m%s\033[0m because \033[36m$$QUICK\033[0m is not empty.\n" $(target) else @printf "Applying \033[36m%s\033[0m target...\n" $(target) - $(PIP) install $(PIP_INSTALL_OPTIONS) -U pip wheel - $(PIP) install $(PIP_INSTALL_OPTIONS) -U -r $(PYTHON_REQUIREMENTS_DOCKER_FILE) + $(PIP) install $(PIP_INSTALL_OPTIONS) -U "pip ~=10.0" wheel + $(PIP) install $(PIP_INSTALL_OPTIONS) -U $(PYTHON_REQUIREMENTS_DOCKER_INLINE) -r $(PYTHON_REQUIREMENTS_DOCKER_FILE) @mkdir -p .medikit; touch $@ endif install-jupyter: .medikit/install-jupyter ## Installs the project (with jupyter dependencies). -.medikit/install-jupyter: $(PYTHON_REQUIREMENTS_FILE) $(PYTHON_REQUIREMENTS_JUPYTER_FILE) setup.py +.medikit/install-jupyter: $(PYTHON_REQUIREMENTS_JUPYTER_FILE) setup.py $(eval target := $(shell echo $@ | rev | cut -d/ -f1 | rev)) ifeq ($(filter quick,$(MAKECMDGOALS)),quick) @printf "Skipping \033[36m%s\033[0m because of \033[36mquick\033[0m target.\n" $(target) @@ -88,13 +93,13 @@ else ifneq ($(QUICK),) @printf "Skipping \033[36m%s\033[0m because \033[36m$$QUICK\033[0m is not empty.\n" $(target) else @printf "Applying \033[36m%s\033[0m target...\n" $(target) - $(PIP) install $(PIP_INSTALL_OPTIONS) -U pip wheel - $(PIP) install $(PIP_INSTALL_OPTIONS) -U -r $(PYTHON_REQUIREMENTS_JUPYTER_FILE) + $(PIP) install $(PIP_INSTALL_OPTIONS) -U "pip ~=10.0" wheel + $(PIP) install $(PIP_INSTALL_OPTIONS) -U $(PYTHON_REQUIREMENTS_JUPYTER_INLINE) -r $(PYTHON_REQUIREMENTS_JUPYTER_FILE) @mkdir -p .medikit; touch $@ endif install-sqlalchemy: .medikit/install-sqlalchemy ## Installs the project (with sqlalchemy dependencies). -.medikit/install-sqlalchemy: $(PYTHON_REQUIREMENTS_FILE) $(PYTHON_REQUIREMENTS_SQLALCHEMY_FILE) setup.py +.medikit/install-sqlalchemy: $(PYTHON_REQUIREMENTS_SQLALCHEMY_FILE) setup.py $(eval target := $(shell echo $@ | rev | cut -d/ -f1 | rev)) ifeq ($(filter quick,$(MAKECMDGOALS)),quick) @printf "Skipping \033[36m%s\033[0m because of \033[36mquick\033[0m target.\n" $(target) @@ -102,8 +107,8 @@ else ifneq ($(QUICK),) @printf "Skipping \033[36m%s\033[0m because \033[36m$$QUICK\033[0m is not empty.\n" $(target) else @printf "Applying \033[36m%s\033[0m target...\n" $(target) - $(PIP) install $(PIP_INSTALL_OPTIONS) -U pip wheel - $(PIP) install $(PIP_INSTALL_OPTIONS) -U -r $(PYTHON_REQUIREMENTS_SQLALCHEMY_FILE) + $(PIP) install $(PIP_INSTALL_OPTIONS) -U "pip ~=10.0" wheel + $(PIP) install $(PIP_INSTALL_OPTIONS) -U $(PYTHON_REQUIREMENTS_SQLALCHEMY_INLINE) -r $(PYTHON_REQUIREMENTS_SQLALCHEMY_FILE) @mkdir -p .medikit; touch $@ endif @@ -121,7 +126,7 @@ watch-$(SPHINX_SOURCEDIR): ## $(SPHINX_AUTOBUILD) $(SPHINX_SOURCEDIR) $(shell mktemp -d) medikit: # Checks installed medikit version and updates it if it is outdated. - @$(PYTHON) -c 'import medikit, sys; from packaging.version import Version; sys.exit(0 if Version(medikit.__version__) >= Version("$(MEDIKIT_VERSION)") else 1)' || $(PYTHON) -m pip install -U "medikit>=$(MEDIKIT_VERSION)" + @$(PYTHON) -c 'import medikit, pip, sys; from packaging.version import Version; sys.exit(0 if (Version(medikit.__version__) >= Version("$(MEDIKIT_VERSION)")) and (Version(pip.__version__) < Version("10")) else 1)' || $(PYTHON) -m pip install -U "pip ~=10.0" "medikit>=$(MEDIKIT_VERSION)" update: medikit ## Update project artifacts using medikit. $(MEDIKIT) update $(MEDIKIT_UPDATE_OPTIONS) diff --git a/Projectfile b/Projectfile index 69924c2..938f3d9 100644 --- a/Projectfile +++ b/Projectfile @@ -45,7 +45,7 @@ python.add_requirements( 'fs ~=2.0', 'graphviz >=0.8,<0.9', 'jinja2 ~=2.9', - 'mondrian ~=0.6', + 'mondrian ~=0.7', 'packaging ~=17.0', 'psutil ~=5.4', 'python-slugify ~=1.2.0', diff --git a/bonobo/examples/datasets/__main__.py b/bonobo/examples/datasets/__main__.py index b5b3b4f..91f702d 100644 --- a/bonobo/examples/datasets/__main__.py +++ b/bonobo/examples/datasets/__main__.py @@ -56,7 +56,5 @@ if __name__ == '__main__': local_path, 'bonobo-examples', s3_path, - ExtraArgs={ - 'ACL': 'public-read' - } + ExtraArgs={'ACL': 'public-read'} ) diff --git a/bonobo/examples/datasets/fablabs.py b/bonobo/examples/datasets/fablabs.py index 0a6e188..9a02593 100644 --- a/bonobo/examples/datasets/fablabs.py +++ b/bonobo/examples/datasets/fablabs.py @@ -39,8 +39,12 @@ def _getlink(x): def normalize(row): result = { **row, - 'links': list(filter(None, map(_getlink, json.loads(row.get('links'))))), - 'country': pycountry.countries.get(alpha_2=row.get('country_code', '').upper()).name, + 'links': + list(filter(None, map(_getlink, json.loads(row.get('links'))))), + 'country': + pycountry.countries.get( + alpha_2=row.get('country_code', '').upper() + ).name, } return result diff --git a/bonobo/examples/files/pickle_handlers.py b/bonobo/examples/files/pickle_handlers.py index a04c4ea..0b90955 100644 --- a/bonobo/examples/files/pickle_handlers.py +++ b/bonobo/examples/files/pickle_handlers.py @@ -63,8 +63,8 @@ def get_graph(*, _limit=(), _print=()): def get_services(): from ._services import get_services return { - **get_services(), - 'fs': TarFS(bonobo.get_examples_path('datasets/spam.tgz')) + **get_services(), 'fs': + TarFS(bonobo.get_examples_path('datasets/spam.tgz')) } diff --git a/requirements-dev.txt b/requirements-dev.txt index 2989475..aa9fab3 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -2,10 +2,10 @@ -r requirements.txt alabaster==0.7.10 arrow==0.12.1 -attrs==17.4.0 +attrs==18.1.0 babel==2.5.3 binaryornot==0.4.4 -certifi==2018.1.18 +certifi==2018.4.16 chardet==3.0.4 click==6.7 cookiecutter==1.5.1 @@ -26,15 +26,15 @@ pygments==2.2.0 pyparsing==2.2.0 pytest-cov==2.5.1 pytest-timeout==1.2.1 -pytest==3.5.0 -python-dateutil==2.7.2 -pytz==2018.3 +pytest==3.5.1 +python-dateutil==2.7.3 +pytz==2018.4 requests==2.18.4 six==1.11.0 snowballstemmer==1.2.1 sphinx-sitemap==0.2 -sphinx==1.7.2 +sphinx==1.7.4 sphinxcontrib-websupport==1.0.1 urllib3==1.22 whichcraft==0.4.1 -yapf==0.21.0 +yapf==0.22.0 diff --git a/requirements-docker.txt b/requirements-docker.txt index 7c9c7bf..c8466c0 100644 --- a/requirements-docker.txt +++ b/requirements-docker.txt @@ -2,27 +2,28 @@ -r requirements.txt appdirs==1.4.3 bonobo-docker==0.6.0 -certifi==2018.1.18 +certifi==2018.4.16 chardet==3.0.4 colorama==0.3.9 -docker-pycreds==0.2.2 +docker-pycreds==0.2.3 docker==2.7.0 -fs==2.0.20 -graphviz==0.8.2 +fs==2.0.21 +graphviz==0.8.3 idna==2.6 jinja2==2.10 markupsafe==1.0 -mondrian==0.6.6 -packaging==16.8 -pbr==4.0.0 -psutil==5.4.3 +mondrian==0.7.0 +packaging==17.1 +pbr==4.0.3 +psutil==5.4.5 pyparsing==2.2.0 python-slugify==1.2.5 -pytz==2018.3 +pytz==2018.4 requests==2.18.4 semantic-version==2.6.0 six==1.11.0 stevedore==1.28.0 +typing==3.6.4 unidecode==1.0.22 urllib3==1.22 websocket-client==0.47.0 diff --git a/requirements-jupyter.txt b/requirements-jupyter.txt index 1f15f99..0d3908b 100644 --- a/requirements-jupyter.txt +++ b/requirements-jupyter.txt @@ -1,15 +1,16 @@ -e .[jupyter] -r requirements.txt appnope==0.1.0 +backcall==0.1.0 bleach==2.1.3 -decorator==4.2.1 +decorator==4.3.0 entrypoints==0.2.3 html5lib==1.0.1 ipykernel==4.8.2 ipython-genutils==0.2.0 -ipython==6.2.1 +ipython==6.4.0 ipywidgets==6.0.1 -jedi==0.11.1 +jedi==0.12.0 jinja2==2.10 jsonschema==2.6.0 jupyter-client==5.2.3 @@ -20,15 +21,15 @@ markupsafe==1.0 mistune==0.8.3 nbconvert==5.3.1 nbformat==4.4.0 -notebook==5.4.1 +notebook==5.5.0 pandocfilters==1.4.2 -parso==0.1.1 -pexpect==4.4.0 +parso==0.2.0 +pexpect==4.5.0 pickleshare==0.7.4 prompt-toolkit==1.0.15 ptyprocess==0.5.2 pygments==2.2.0 -python-dateutil==2.7.2 +python-dateutil==2.7.3 pyzmq==17.0.0 qtconsole==4.3.1 send2trash==1.5.0 @@ -36,7 +37,7 @@ simplegeneric==0.8.1 six==1.11.0 terminado==0.8.1 testpath==0.3.1 -tornado==5.0.1 +tornado==5.0.2 traitlets==4.3.2 wcwidth==0.1.7 webencodings==0.5.1 diff --git a/requirements-sqlalchemy.txt b/requirements-sqlalchemy.txt index 0479ce6..b25c586 100644 --- a/requirements-sqlalchemy.txt +++ b/requirements-sqlalchemy.txt @@ -2,25 +2,26 @@ -r requirements.txt appdirs==1.4.3 bonobo-sqlalchemy==0.6.0 -certifi==2018.1.18 +certifi==2018.4.16 chardet==3.0.4 colorama==0.3.9 -fs==2.0.20 -graphviz==0.8.2 +fs==2.0.21 +graphviz==0.8.3 idna==2.6 jinja2==2.10 markupsafe==1.0 -mondrian==0.6.6 -packaging==16.8 -pbr==4.0.0 -psutil==5.4.3 +mondrian==0.7.0 +packaging==17.1 +pbr==4.0.3 +psutil==5.4.5 pyparsing==2.2.0 python-slugify==1.2.5 -pytz==2018.3 +pytz==2018.4 requests==2.18.4 six==1.11.0 -sqlalchemy==1.2.5 +sqlalchemy==1.2.7 stevedore==1.28.0 +typing==3.6.4 unidecode==1.0.22 urllib3==1.22 whistle==1.0.1 diff --git a/requirements.txt b/requirements.txt index 2d3492f..56e1d12 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,23 +1,24 @@ -e . appdirs==1.4.3 -certifi==2018.1.18 +certifi==2018.4.16 chardet==3.0.4 colorama==0.3.9 -fs==2.0.20 -graphviz==0.8.2 +fs==2.0.21 +graphviz==0.8.3 idna==2.6 jinja2==2.10 markupsafe==1.0 -mondrian==0.6.6 +mondrian==0.7.0 packaging==17.1 -pbr==4.0.0 -psutil==5.4.3 +pbr==4.0.3 +psutil==5.4.5 pyparsing==2.2.0 python-slugify==1.2.5 -pytz==2018.3 +pytz==2018.4 requests==2.18.4 six==1.11.0 stevedore==1.28.0 +typing==3.6.4 unidecode==1.0.22 urllib3==1.22 whistle==1.0.1 diff --git a/setup.py b/setup.py index 37a6c92..6d48947 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -# Generated by Medikit 0.5.19 on 2018-03-29. +# Generated by Medikit 0.6.1 on 2018-05-16. # All changes will be overriden. # Edit Projectfile and run “make update” (or “medikit update”) to regenerate. @@ -60,7 +60,7 @@ setup( packages=find_packages(exclude=['ez_setup', 'example', 'test']), include_package_data=True, install_requires=[ - 'fs (~= 2.0)', 'graphviz (>= 0.8, < 0.9)', 'jinja2 (~= 2.9)', 'mondrian (~= 0.6)', 'packaging (~= 17.0)', + 'fs (~= 2.0)', 'graphviz (>= 0.8, < 0.9)', 'jinja2 (~= 2.9)', 'mondrian (~= 0.7)', 'packaging (~= 17.0)', 'psutil (~= 5.4)', 'python-slugify (~= 1.2.0)', 'requests (~= 2.0)', 'stevedore (~= 1.27)', 'whistle (~= 1.0)' ], extras_require={ diff --git a/tests/commands/test_run_environ.py b/tests/commands/test_run_environ.py index 1d966be..3fee6e1 100644 --- a/tests/commands/test_run_environ.py +++ b/tests/commands/test_run_environ.py @@ -102,8 +102,6 @@ class TestEnvVars(EnvironmentTestCase): assert env.get('USER') == 'romain' env = self.run_environ( - runner, *target, '--env', 'USER=serious', '--default-env', 'USER=clown', environ={ - 'USER': 'romain' - } + runner, *target, '--env', 'USER=serious', '--default-env', 'USER=clown', environ={'USER': 'romain'} ) assert env.get('USER') == 'serious'