After quite some time and effort we are finally close to a release.
support 64-bit versions of python 3.6, 3.7, 3.8 times manylinux2010, macosx and windows.
If you have access to some mac or windows platform, please test it. A simple `pip install jgrapht` should work out-of-the box. On
linux the only requirement is that `pip>=19.0`.
The release candidate version is `1.5.0.0rc1`. If it based on the 1.5.0 release of the backend. For now I used a semver with an
extra .x part to designate that we track the 1.5.0 release of the backend, but also allow releases, bugfixes, new features independently.
This might need to be revisited if people start contributing stuff directly in the python version.
Except from these changes, I have made some significant changes in the graph support. It has two main graph implementations
- (default) graph
- property graph
The (default) graph is oriented towards scientific (algorithmic) workloads. Vertices and edges are integers. Importers/exporters are fully
supported with vertex/edge attributes using callback functions, just like in our java importers/exporters. We also have support for sparse graphs.
Additional attributes must be externally kept by the users using dictionaries.
The property graph. This is a graph which allows the use of any python hashable as a vertex or edge (created either directly or using suppliers just like in Java).
Moreover, it provides support for storing vertex and edge properties/attributes inside the graph. Importers/exporters recognize such implementations
and create automatically the necessary callbacks for vertex/edge properties/attributes. Note that this is a python implementation, which wraps a (default) graph,
and thus it incurs a performance penalty. This implementation is oriented towards less scientific workloads.
It borrows the name from the graph databases. In that context a property graph is usually a "labeled
multi-graph where both nodes and edges can contain pairs of the form property-value".
Full documentation with tutorial, example and docs is available at:
Test coverage is currently at 96%.
Feedback is welcome.
Cheers,
Dimitrios
P.S. I also plan to write a medium post, to announce the library.