Commit Graph

69 Commits

Author SHA1 Message Date
cc08c1656f Merge branch 'master' of github.com:python-bonobo/bonobo 2018-01-08 08:13:04 +01:00
9d52d9971a Update requirements for beta. 2017-12-30 15:19:28 +01:00
46a8fd192e Refactoring API, writing docs. 2017-12-27 11:32:47 +01:00
018289dad6 Loosen stevedore requirement to avoid conflicts. 2017-12-13 09:32:33 +01:00
6b83d623ac Update dependencies, add sitemap. 2017-12-08 12:03:02 +01:00
db54ff41ef Fix PrettyPrinter, output verbosity is now slightly more discreete. 2017-12-01 07:42:23 +01:00
686d1c81b3 Simple "examples" command that just show examples for now. 2017-11-28 21:57:08 +01:00
5e0b6567cd Rewritting Bags from scratch using a namedtuple approach, along with other (less major) updates.
New bag implementation improves a lot how bonobo works, even if this is
highly backward incompatible (sorry, that's needed, and better sooner
than later).

* New implementation uses the same approach as python's namedtuple,
  by dynamically creating the python type's code. This has drawbacks, as
  it feels like not the right way, but also a lot of benefits that
  cannot be achieved using a regular approach, especially the
  constructor parameter order, hardcoded.
* Memory usage is now much more efficient. The "keys" memory space will
  be used only once per "io type", being spent in the underlying type
  definition instead of in the actual instances.
* Transformations now needs to use tuples as output, which will be bound
  to its "output type". The output type can be infered from the tuple
  length, or explicitely set by the user using either
  `context.set_output_type(...)` or `context.set_output_fields(...)` (to
  build a bag type from a list of field names).

Jupyter/Graphviz integration is more tight, allowing to easily display
graphs in a notebook, or displaying the live transformation status in an
html table instead of a simple <div>.

For now, context processors were hacked to stay working as before but
the current API is not satisfactory, and should be replaced. This new
big change being unreasonable without some time to work on it properly,
it is postponed for next versions (0.7, 0.8, ...). Maybe the best idea
is to have some kind of "local services", that would use the same
dependency injection mechanism as the execution-wide services.

Services are now passed by keywoerd arguments only, to avoid confusion
with data-arguments.
2017-11-27 00:04:51 +01:00
d1481fbfe8 Moves jupyter extension to both bonobo.contrib.jupyter (for the jupyter widget) and to bonobo.plugins (for the executor-side plugin). 2017-11-12 09:08:05 +01:00
a901731fff Switch to stable mondrian. 2017-11-04 15:17:51 +01:00
5f300225a8 Update requirements with first whistle stable. 2017-11-04 12:10:28 +01:00
6bd1130e34 [core] Refactoring to use an event dispatcher in the main thread.
Plugins now run in the main thread, instead of their own threads, and
the API changed to use an event dispatcher approach instead of a static
class interface.
2017-11-04 12:05:04 +01:00
d988d30474 Update to mondrian 0.4a0. 2017-11-02 08:25:30 +01:00
fb86bc9507 [errors] Move error handling in transformations to use mondrian. 2017-11-02 00:08:09 +01:00
5cc514e490 Update dependencies, remove python-dotenv. 2017-11-01 18:53:27 +01:00
e06b616251 Refactoring the runner to go more towards standard python, also adds the ability to use bonobo argument parser from standard python execution. 2017-11-01 18:46:45 +01:00
69bb3cb091 Switch logger setup to mondrian (deps). 2017-11-01 13:12:19 +01:00
c770287466 [core] still refactoring env-related stuff towards using __main__ blocks (but with argparser, if needed). 2017-10-29 23:46:39 +01:00
8351897e3a [core] Refactoring of commands to move towards a more pythonic way of running the jobs. Commands are now classes, and bonobo "graph" related commands now hooks into bonobo.run() calls so it will use what you actually put in your __main__ block. 2017-10-29 19:23:50 +01:00
66bda718c5 update Projectfile with download entry point 2017-10-28 15:58:07 +02:00
7560412bc7 Merge branch 'develop' of github.com:python-bonobo/bonobo into develop 2017-10-21 12:56:06 +02:00
866824db7c [config] Adds __doc__ to option/service. Fix variable names in Option.__get__() that would have an unpredicatable behaviour in the rare case of using get on a type. Update to Medikit. 2017-10-21 12:39:19 +02:00
d8c04138f6 Updated Projectfile to include python-dotenv dependency. 2017-10-15 19:45:54 -04:00
34dc53aa19 Merge branch 'develop' into dev_convert 2017-09-30 11:26:59 +02:00
7ca3369f71 Rename "bonobo graph" to "bonobo inspect". For now, graphviz is default but there will probably be a humand default in the future, with graphviz source generation set if --graph (or -g) flag is passed. 2017-09-30 11:01:53 +02:00
3105bd0bee Merge branch 'dev_graphviz' into dev_convert 2017-09-18 17:18:29 +02:00
ff0d6219a6 Merge branch 'develop' into dev_graphviz 2017-08-11 07:38:53 +02:00
3e961776e3 [cli] First draft implementation of "convert" command, which builds a simple graph of reader+writer and executes it. 2017-07-16 18:45:49 +02:00
1ca48d885d Refactoring and fixes around ioformats. 2017-06-08 21:47:01 +02:00
471e38e67b [jupyter] update widget so it uses str(...) instread of repr(...) and topological order of nodes. 2017-06-05 09:43:38 +02:00
0146fb0d55 [doc] Documentation work for the 0.4 release (not finished). 2017-05-28 19:21:12 +02:00
9370f6504e [ext] Adds docker extra to setup.py 2017-05-28 16:51:02 +02:00
6fc5891ccd Merge branch 'master' into develop 2017-05-28 13:15:23 +02:00
44bc3f909d [misc] updating dependency management. 2017-05-28 12:25:43 +02:00
5013708c85 [misc] updating dependencies. 2017-05-28 12:04:49 +02:00
3a5ebff435 Adds packaging requirement. 2017-05-27 17:06:18 +02:00
1afd8746eb [pm] Moving project artifact management to next edgy.project version. 2017-05-27 16:08:10 +02:00
eacf52aaf6 Simpler package generation using cookiecutter, stdout buffering for consoleplugin 2017-05-27 14:55:25 +02:00
be844c3ed7 WIP GRAPHVIZ 2017-05-25 16:41:01 +02:00
25253cf119 Positional options (WIP). 2017-05-01 15:26:57 +02:00
8018f63457 trying to force exact requirements in the reqs.txt file while setup.py is a bit more loose. 2017-04-30 10:14:44 +02:00
c801131190 Merge branch 'filesystem' into 0.2 2017-04-28 06:33:37 +02:00
4f49ad9fd1 Tighter dependencies, and rewriting a bit of the documentation. 2017-04-28 06:32:48 +02:00
eacd0cc8c5 wip: filesystem as a service. 2017-04-28 06:21:26 +02:00
ad502d7e23 Split execution module in submodules for better readability. 2017-04-25 23:05:18 +02:00
efcd4361cc First implementation of services and basic injection. Not working with CLI for now. 2017-04-25 22:04:21 +02:00
8af5534394 Update psutil version. 2017-04-24 23:47:56 +02:00
ef2c881075 Attempt to refactor a bit of context, new count transform that counts the calls, new bonobo.structs package with basic data structures, removal of blessings. 2017-04-24 23:44:29 +02:00
cff32c1612 Merge remote-tracking branch 'upstream/0.2' into colorama 2017-04-24 21:37:11 +02:00
9fc2e0ef94 Reverts/Fixes #16 (removes bb alias). 2017-04-24 21:36:27 +02:00