99 lines
2.6 KiB
Python
99 lines
2.6 KiB
Python
# bonobo's description for medikit
|
|
|
|
from medikit import require
|
|
|
|
make = require('make')
|
|
pytest = require('pytest')
|
|
python = require('python')
|
|
sphinx = require('sphinx')
|
|
|
|
python.setup(
|
|
name='bonobo',
|
|
python_requires='>=3.5',
|
|
description='Bonobo, a simple, modern and atomic extract-transform-load toolkit for python 3.5+.',
|
|
license='Apache License, Version 2.0',
|
|
url='https://www.bonobo-project.org/',
|
|
download_url='https://github.com/python-bonobo/bonobo/tarball/{version}',
|
|
author='Romain Dorgueil',
|
|
author_email='romain@dorgueil.net',
|
|
data_files=[
|
|
(
|
|
'share/jupyter/nbextensions/bonobo-jupyter', [
|
|
'bonobo/contrib/jupyter/static/extension.js',
|
|
'bonobo/contrib/jupyter/static/index.js',
|
|
'bonobo/contrib/jupyter/static/index.js.map',
|
|
]
|
|
),
|
|
],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'bonobo = bonobo.commands:entrypoint',
|
|
],
|
|
'bonobo.commands': [
|
|
'convert = bonobo.commands.convert:ConvertCommand',
|
|
'download = bonobo.commands.download:DownloadCommand',
|
|
'examples = bonobo.commands.examples:ExamplesCommand',
|
|
'init = bonobo.commands.init:InitCommand',
|
|
'inspect = bonobo.commands.inspect:InspectCommand',
|
|
'run = bonobo.commands.run:RunCommand',
|
|
'version = bonobo.commands.version:VersionCommand',
|
|
],
|
|
}
|
|
)
|
|
|
|
python.add_requirements(
|
|
'cached-property ~=1.4',
|
|
'fs ~=2.0',
|
|
'graphviz >=0.8,<0.9',
|
|
'jinja2',
|
|
'mondrian ~=0.8',
|
|
'packaging',
|
|
'psutil ~=5.4',
|
|
'python-slugify ~=1.2.0',
|
|
'requests ~=2.0',
|
|
'stevedore ~=1.27',
|
|
'whistle ~=1.0',
|
|
dev=[
|
|
'cookiecutter >=1.5,<1.6',
|
|
'pytest-timeout >=1,<2',
|
|
'sphinx-sitemap >=0.2,<0.3',
|
|
],
|
|
docker=[
|
|
'bonobo-docker ~=0.6.0a1',
|
|
],
|
|
jupyter=[
|
|
'ipywidgets ~=6.0',
|
|
'jupyter ~=1.0',
|
|
],
|
|
sqlalchemy=[
|
|
'bonobo-sqlalchemy ~=0.6.0a1',
|
|
],
|
|
)
|
|
|
|
|
|
@listen(make.on_generate)
|
|
def on_make_generate(event):
|
|
makefile = event.makefile
|
|
|
|
# Sphinx
|
|
makefile['SPHINX_AUTOBUILD'] = '$(PYTHON_DIRNAME)/sphinx-autobuild'
|
|
makefile.add_target(
|
|
'watch-$(SPHINX_SOURCEDIR)',
|
|
'$(SPHINX_AUTOBUILD) $(SPHINX_SOURCEDIR) $(shell mktemp -d)',
|
|
phony=True
|
|
)
|
|
|
|
# Formating
|
|
makefile.add_target(
|
|
'format',
|
|
'''
|
|
black -l 120 .
|
|
isort -rc -o mondrian -o whistle -y .
|
|
''',
|
|
phony=True,
|
|
doc='Reformats the whole codebase using our standards (requires black and isort).'
|
|
)
|
|
|
|
|
|
# vim: ft=python:
|