Skip to content

EuroPython 2018 Sprint on Bonobo

Obiamaka Agbaneje edited this page Jul 27, 2018 · 14 revisions
Status: Draft / Work in Progress
Date: 28/29 July 2018
Location: EICC Edinburgh / #sprint on slack

This document is not yet ready.

Whatever your background and experience is, you are very welcome. If you want to discover the library, want to bring your opinions on how this can be useful in name your job, help with improving the documentation with a new regard, want to dive in the code and propose patches, help refining how we present the toolkit, ... or anything else aiming at getting the tool known and easy to use, feel free to join us!

I (Romain) will be available for introduction, help, routing, assistance, ... anything. Ask anything, I firmly believe that there is no such thing as a stupid question.

Before you start

  • Say hi, introduce yourself.
  • Join #sprint on Slack (https://bonobo-slack.herokuapp.com/).
  • Add your name to the bottom of the page.
  • Install the develop version (TODO add direct link)

Epics

Documentation

  • Better onboarding.
  • Better API reference.
  • Document the internal mechanisms (bags, queues, strategies ...)
  • Better docs about sqlalchemy.

Current issues / bugs

todo add links to issues

Next: better errors

Next: better separation of concerns

Next: coercion and casts

Next: less decorators and better config inheritance

Next: basic tools (aggregates, etc.)

Next: new formats (geo, xml, ...)

Next: subprocess strategy

Next: dask strategy

DevXP: status tree in console

DevXP: jupyterlab

DevXP: standard options

name, filter, fields

DevXP: profiling

Next: Wrapping node or graphs

Ressources for the sprint

Bleeding edge install

To install the bleeding edge "develop" version, you can run:

$ pip install -e git+https://github.com/python-bonobo/bonobo@develop#egg=bonobo

To work on the source code, it's better to clone the repository and use an editable package:

$ git clone [email protected]:python-bonobo/bonobo.git --branch develop
$ pip install --editable bonobo

What can you work on

First, anybody, any level is welcome. Don't think you do not have enough experience, that's just plain wrong. Beginners and very experienced python enthusiasts are much welcome, and of course anybody in between or outside of this scope.

First steps

Learning bonobo should take much less than 1 hour (and I'll help!). It's a very good opportunity to make contributions to the first steps documentation. There must be typos here, minor errors, maybe completely erroneous things (I hope not!). Let's go together through the tutorials and fix whatever is unclear or erroneous. Also, if you think there are missing parts, feel free to add!

Tutorial: http://docs.bonobo-project.org/en/latest/tutorial/index.html

Using the library for public or private use cases

Best way to learn, after the first steps, is to actually try out and implement something. There are a lot of learnings to take from various people using the lib, please ask for assistance on anything, it will help building the best ETL for modern python!

Features and bugs

There are a lot of open features and bugs. Some of them are explicitly flagged as "easy" (github tag) to allow easier spotting of good candidates. Feature code and bug fixes should include documentation and tests.

Contribution guide

http://docs.bonobo-project.org/en/latest/contribute/index.html

Participants

  • @oagbaneje
  • (your handle here)