Code Name Apophyllite
![](https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Apophyllite-65547.jpg/390px-Apophyllite-65547.jpg)
* installation command:
pip3 install \
--index-url https://bbpteam.epfl.ch/repository/devpi/bbprelman/dev/+simple/ \
basalt==0.2.4
* distribution tarball: [basalt-0.2.4.tar.gz](https://github.com/tristan0x/basalt/releases/download/v0.2.4/basalt-0.2.4.tar.gz)
* git tag is [v0.2.4](https://github.com/tristan0x/basalt/tree/v0.2.4)
* documentation:
* link to the documentation of [the latest version](https://tristan0x.github.io/basalt/)
* run command `basalt-cli doc` to get the documentation of an installed version
List of changes
Here is a summary of the changes introduced by this release.
For more details, please refer to the list of [GitHub issues](https://github.com/tristan0x/basalt/milestone/1?closed=1)
Python API
MetaGraph API
* vertex declared with a `basalt.ngv payload` in the _serialization_ keyword will now have an empty payload when such vertex is created when passing only its identifier. Before payload was `None`.
python
g = basalt.ngv.Graph(path='bla')
astrocyte = g.astrocytes.add(42)
astrocyte.data is now an instance of basalt.ngv.Astrocyte, not None
* `basalt.schema.vertex` and `basalt.schema.edge` directives now have a new `default_value` keyword argument to enable/disable new vertex payload behavior above.
* vertex wrapper: add `update` method to submit the modified payload
* vertex wrapper: remove `remove` method
* Vertex identifier can now be a Numpy integer
* Improve docstring documentation
Python bindings
* can now iterate over `graph.edges`
C++ API
* new `basalt::Edges::begin` and `basalt::Edges::end` member methods.
* new `basalt::EdgeIterator` class
Development
* Reduce TravisCI build time from ~1h30 to ~20min
* use setuptools_scm package to handle package versioning
* ship sphinx documentation in the source distribution tarball