Changing branch model to use master instead of 0.3. Version named branches will stay for maintenance, while master will be the bleeding edge (still with passing test suite).

This commit is contained in:
Romain Dorgueil
2017-05-02 20:39:36 +02:00
parent 3a7d0c9772
commit 45d7e1383f
4 changed files with 55 additions and 64 deletions

View File

@ -1,58 +1,52 @@
# This file has been auto-generated.
# All changes will be lost, see Projectfile.
#
# Updated at 2017-05-01 08:35:15.162008
# Updated at 2017-05-02 20:38:38.468986
PACKAGE ?= bonobo
PYTHON ?= $(shell which python)
PYTHON_BASENAME ?= $(shell basename $(PYTHON))
PYTHON_DIRNAME ?= $(shell dirname $(PYTHON))
PYTHON_REQUIREMENTS_FILE ?= requirements.txt
PYTHON_REQUIREMENTS_DEV_FILE ?= requirements-dev.txt
QUICK ?=
VIRTUAL_ENV ?= .virtualenv-$(PYTHON_BASENAME)
PIP ?= $(VIRTUAL_ENV)/bin/pip
PIP ?= $(PYTHON_DIRNAME)/pip
PIP_INSTALL_OPTIONS ?=
PYTEST ?= $(VIRTUAL_ENV)/bin/pytest
PYTEST_OPTIONS ?= --capture=no --cov=bonobo --cov-report html
SPHINX_OPTS ?=
SPHINX_BUILD ?= $(VIRTUAL_ENV)/bin/sphinx-build
PYTEST ?= $(PYTHON_DIRNAME)/pytest
PYTEST_OPTIONS ?= --capture=no --cov=$(PACKAGE) --cov-report html
SPHINX_BUILD ?= $(PYTHON_DIRNAME)/sphinx-build
SPHINX_OPTIONS ?=
SPHINX_SOURCEDIR ?= docs
SPHINX_BUILDDIR ?= $(SPHINX_SOURCEDIR)/_build
YAPF ?= $(VIRTUAL_ENV)/bin/yapf
YAPF ?= $(PYTHON_DIRNAME)/yapf
YAPF_OPTIONS ?= -rip
.PHONY: $(SPHINX_SOURCEDIR) clean format install install-dev lint test
# Installs the local project dependencies.
install: $(VIRTUAL_ENV)
install:
if [ -z "$(QUICK)" ]; then \
$(PIP) install -U pip wheel $(PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_FILE) ; \
$(PIP) install -U pip wheel $(PYTHON_PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_FILE) ; \
fi
# Installs the local project dependencies, including development-only libraries.
install-dev: $(VIRTUAL_ENV)
install-dev:
if [ -z "$(QUICK)" ]; then \
$(PIP) install -U pip wheel $(PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_DEV_FILE) ; \
$(PIP) install -U pip wheel $(PYTHON_PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_DEV_FILE) ; \
fi
# Cleans up the local mess.
clean:
rm -rf build
rm -rf dist
# Setup the local virtualenv, or use the one provided by the current environment.
$(VIRTUAL_ENV):
virtualenv -p $(PYTHON) $(VIRTUAL_ENV)
$(PIP) install -U pip wheel
ln -fs $(VIRTUAL_ENV)/bin/activate activate-$(PYTHON_BASENAME)
rm -rf build dist *.egg-info
lint: install-dev
$(VIRTUAL_ENV)/bin/pylint --py3k bonobo -f html > pylint.html
$(PYTHON_DIRNAME)/pylint --py3k $(PACKAGE) -f html > pylint.html
test: install-dev
$(PYTEST) $(PYTEST_OPTIONS) tests
$(SPHINX_SOURCEDIR): install-dev
$(SPHINX_BUILD) -b html -D latex_paper_size=a4 $(SPHINX_OPTS) $(SPHINX_SOURCEDIR) $(SPHINX_BUILDDIR)/html
$(SPHINX_BUILD) -b html -D latex_paper_size=a4 $(SPHINX_OPTIONS) $(SPHINX_SOURCEDIR) $(SPHINX_BUILDDIR)/html
format: install-dev
$(YAPF) $(YAPF_OPTIONS) .

View File

@ -1,16 +1,12 @@
==========
🐵 bonobo
=========
==========
Data-processing. By monkeys. For humans.
Data-processing for humans.
.. image:: https://img.shields.io/pypi/v/bonobo.svg
:target: https://pypi.python.org/pypi/bonobo
:alt: PyPI
.. image:: https://img.shields.io/pypi/wheel/bonobo.svg
:target: https://pypi.python.org/pypi/bonobo
:alt: Wheel
.. image:: https://img.shields.io/pypi/pyversions/bonobo.svg
:target: https://pypi.python.org/pypi/bonobo
:alt: Versions
@ -27,29 +23,30 @@ Data-processing. By monkeys. For humans.
:target: https://ci.appveyor.com/project/hartym/bonobo?branch=0.3
:alt: Continuous Integration (Windows)
.. image:: https://landscape.io/github/python-bonobo/bonobo/0.3/landscape.svg?style=flat
:target: https://landscape.io/github/python-bonobo/bonobo/0.3
:alt: Code Health from landscape
.. image:: https://codeclimate.com/github/python-bonobo/bonobo/badges/gpa.svg
:target: https://codeclimate.com/github/python-bonobo/bonobo
:alt: Code Climate
.. image:: https://img.shields.io/coveralls/python-bonobo/bonobo/0.3.svg
:target: https://coveralls.io/github/python-bonobo/bonobo?branch=0.3
:alt: Coverage
Bonobo is a data-processing library for python 3.5+ that emphasises writing
simple, atomic, plain old python functions and chaining them using a basic
acyclic graph. The nodes will need a bit of plumbery to be runnable in
different means (iteratively, in threads, in processes, on different machines
...) but that should be as transparent as possible.
Bonobo is an extract-transform-load framework for python 3.5+ (see comparisons with other data tools).
The only thing asked of the developer is to write "pure" functions to
process data (create a new dict, don't change in place, etc.), and everything
should be fine from this point.
Bonobo uses plain old python objects (functions, generators and iterators), allows to link them in a directed graph and
execute them using a parallelized strategy, without having to worry about the underlying complexity.
It's a young rewrite of an old python2.7 tool that ran millions of
transformations per day for years on production, so as though it may not yet
be complete or fully stable (please, allow us to reach 1.0), the underlying
concepts work.
Developpers can focus on writing simple and atomic operations, that are by-design easy to unit-test, while the
framework focus on applying them concurrently to rows of data.
One thing to note: write pure transformations and you'll be safe.
Bonobo is a young rewrite of an old python2.7 tool that ran millions of transformations per day for years on production,
so as though it may not yet be complete or fully stable (please, allow us to reach 1.0), the basics are there.
----

View File

@ -1 +1 @@
__version__ = '0.2.2'
__version__ = '0.3.0a1'

View File

@ -11,14 +11,10 @@ tolines = lambda c: list(filter(None, map(lambda s: s.strip(), c.split('\n'))))
def read(filename, flt=None):
try:
with open(filename, 'rt') as f:
with open(filename) as f:
content = f.read().strip()
return flt(content) if callable(flt) else content
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 ''
@ -42,40 +38,44 @@ else:
setup(
name='bonobo',
description='Bonobo',
description=
('Bonobo, a simple, modern and atomic extract-transform-load toolkit for '
'python 3.5+.'),
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'
'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'
]
)
],
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',
'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',
'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']
'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),
)
download_url=
'https://github.com/python-bonobo/bonobo/tarball/{version}'.format(
version=version), )