From 3d0855ed23f882766a63b2de5a5eb9050afc2fc4 Mon Sep 17 00:00:00 2001 From: Romain Dorgueil Date: Mon, 1 May 2017 08:35:50 +0200 Subject: [PATCH] Update project management artifacts --- Makefile | 7 +++-- setup.py | 95 +++++++++++++++++++++++++++++++++----------------------- 2 files changed, 60 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index a9c2888..887a67e 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # This file has been auto-generated. # All changes will be lost, see Projectfile. # -# Updated at 2017-04-30 10:12:39.793759 +# Updated at 2017-05-01 08:35:15.162008 PYTHON ?= $(shell which python) PYTHON_BASENAME ?= $(shell basename $(PYTHON)) @@ -10,6 +10,7 @@ PYTHON_REQUIREMENTS_DEV_FILE ?= requirements-dev.txt QUICK ?= VIRTUAL_ENV ?= .virtualenv-$(PYTHON_BASENAME) PIP ?= $(VIRTUAL_ENV)/bin/pip +PIP_INSTALL_OPTIONS ?= PYTEST ?= $(VIRTUAL_ENV)/bin/pytest PYTEST_OPTIONS ?= --capture=no --cov=bonobo --cov-report html SPHINX_OPTS ?= @@ -24,13 +25,13 @@ YAPF_OPTIONS ?= -rip # Installs the local project dependencies. install: $(VIRTUAL_ENV) if [ -z "$(QUICK)" ]; then \ - $(PIP) install -U pip wheel -r $(PYTHON_REQUIREMENTS_FILE) ; \ + $(PIP) install -U pip wheel $(PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_FILE) ; \ fi # Installs the local project dependencies, including development-only libraries. install-dev: $(VIRTUAL_ENV) if [ -z "$(QUICK)" ]; then \ - $(PIP) install -U pip wheel -r $(PYTHON_REQUIREMENTS_DEV_FILE) ; \ + $(PIP) install -U pip wheel $(PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_DEV_FILE) ; \ fi # Cleans up the local mess. diff --git a/setup.py b/setup.py index 0f2d0b8..83bd632 100644 --- a/setup.py +++ b/setup.py @@ -8,59 +8,76 @@ root_dir = os.path.dirname(os.path.abspath(__file__)) tolines = lambda c: list(filter(None, map(lambda s: s.strip(), c.split('\n')))) + def read(filename, flt=None): try: - with open(filename) as f: + with open(filename, 'rt') as f: content = f.read().strip() return flt(content) if callable(flt) else content - except FileNotFoundError: + except EnvironmentError: + # File not found? Let's say it's empty. return '' + except UnicodeError: + # Problem decoding the file? Let's not stop on this (but it's a temp fix). + return '' + # Py3 compatibility hacks, borrowed from IPython. try: execfile except NameError: + def execfile(fname, globs, locs=None): locs = locs or globs exec(compile(open(fname).read(), fname, "exec"), globs, locs) + version_ns = {} -execfile(os.path.join(root_dir, 'bonobo/_version.py'), version_ns) -version = version_ns.get('__version__', 'dev') +try: + execfile(os.path.join(root_dir, 'bonobo/_version.py'), version_ns) +except EnvironmentError: + version = 'dev' +else: + version = version_ns.get('__version__', 'dev') setup( - name = 'bonobo', - description = 'Bonobo', - license = 'Apache License, Version 2.0', - install_requires = ['colorama >=0.3,<1.0', - 'fs >=2.0,<3.0', - 'psutil >=5.2,<6.0', - 'requests >=2.0,<3.0', - 'stevedore >=1.21,<2.0'], - version = version, - long_description = read('README.rst'), - classifiers = read('classifiers.txt', tolines), - packages = find_packages(exclude=['ez_setup', 'example', 'test']), - include_package_data = True, - data_files = [('share/jupyter/nbextensions/bonobo-jupyter', - ['bonobo/ext/jupyter/static/extension.js', - 'bonobo/ext/jupyter/static/index.js', - 'bonobo/ext/jupyter/static/index.js.map'])], - extras_require = {'dev': ['coverage >=4,<5', - 'pylint >=1,<2', - 'pytest >=3,<4', - 'pytest-cov >=2,<3', - 'pytest-timeout >=1,<2', - 'sphinx', - 'sphinx_rtd_theme', - 'yapf'], - 'jupyter': ['jupyter >=1.0,<1.1', 'ipywidgets >=6.0.0.beta5']}, - entry_points = {'bonobo.commands': ['init = bonobo.commands.init:register', - 'run = bonobo.commands.run:register', - 'version = bonobo.commands.version:register'], - 'console_scripts': ['bonobo = bonobo.commands:entrypoint'], - 'edgy.project.features': ['bonobo = ' - 'bonobo.ext.edgy.project.feature:BonoboFeature']}, - url = 'https://www.bonobo-project.org/', - download_url = 'https://github.com/python-bonobo/bonobo/tarball/{version}'.format(version=version), -) + name='bonobo', + description='Bonobo', + license='Apache License, Version 2.0', + install_requires=[ + 'colorama >=0.3,<1.0', 'fs >=2.0,<3.0', 'psutil >=5.2,<6.0', + 'requests >=2.0,<3.0', 'stevedore >=1.21,<2.0' + ], + version=version, + long_description=read('README.rst'), + classifiers=read('classifiers.txt', tolines), + packages=find_packages(exclude=['ez_setup', 'example', 'test']), + include_package_data=True, + data_files=[('share/jupyter/nbextensions/bonobo-jupyter', [ + 'bonobo/ext/jupyter/static/extension.js', + 'bonobo/ext/jupyter/static/index.js', + 'bonobo/ext/jupyter/static/index.js.map' + ])], + extras_require={ + 'dev': [ + 'coverage >=4,<5', 'pylint >=1,<2', 'pytest >=3,<4', + 'pytest-cov >=2,<3', 'pytest-timeout >=1,<2', 'sphinx', + 'sphinx_rtd_theme', 'yapf' + ], + 'jupyter': ['jupyter >=1.0,<1.1', 'ipywidgets >=6.0.0.beta5'] + }, + entry_points={ + 'bonobo.commands': [ + 'init = bonobo.commands.init:register', + 'run = bonobo.commands.run:register', + 'version = bonobo.commands.version:register' + ], + 'console_scripts': ['bonobo = bonobo.commands:entrypoint'], + 'edgy.project.features': + ['bonobo = ' + 'bonobo.ext.edgy.project.feature:BonoboFeature'] + }, + url='https://www.bonobo-project.org/', + download_url= + 'https://github.com/python-bonobo/bonobo/tarball/{version}'.format( + version=version), )