Commit Graph

79 Commits

Author SHA1 Message Date
a9c55de270 Update requirements / format. 2018-05-16 07:43:15 +02:00
5457a9271c Update requirements. 2018-03-29 09:39:35 +02:00
cd04354d3d Update requirements. 2018-03-08 11:26:27 +01:00
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
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
08f0950f02 Update Makefile/setup. 2017-10-28 17:29:05 +02:00
9e86abca60 Issue #134: add a bonobo download url command
This enables users on different platforms to download the examples in
the tutorial using the same command.
2017-10-28 14:08:53 +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
3f3bda632c Updated requirements files using edgy-project. 2017-10-15 19:50:27 -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
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
be844c3ed7 WIP GRAPHVIZ 2017-05-25 16:41:01 +02:00
1dccad883d [qa] covers __main__, and formating. 2017-05-22 20:06:26 +02:00
a50b21e46d [qa] covers __main__ 2017-05-22 19:57:08 +02:00
e747bc1da8 Topological sort of a graph, allowing better console (and other) outputs.
Uses algorithm borrowed from networkx graph library to sort a graph in
topological order. The method is only used by output plugins, as
internal plumbery does not really care about the node order.

Also includes a bonobo.util.python.require function that helps importing
thing in a package-less context, or when there are conflict with site
package names.
2017-05-19 13:28:31 +02:00
0e6c0cf6e6 Tuning the dependency management model. 2017-05-03 18:20:47 +02:00
45d7e1383f 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). 2017-05-02 20:39:36 +02:00
0feccb1aa9 reformating code, and adding specific rules for examples so it shows up correctly on readthedocs, by default. 2017-05-01 15:21:26 +02:00
3d0855ed23 Update project management artifacts 2017-05-01 08:35:50 +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
bb5fc22f5e release: 0.2.2 2017-04-28 08:04:48 +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
3ecb2c2ccd Minor stuff, cleanup and formating. 2017-04-25 07:47:51 +02:00