Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/giotto-ai/pyflagser

Python bindings and API for the flagser C++ library (https://github.com/luetge/flagser).
https://github.com/giotto-ai/pyflagser

algebraic-topology computational-topology persistent-homology topological-data-analysis

Last synced: about 2 months ago
JSON representation

Python bindings and API for the flagser C++ library (https://github.com/luetge/flagser).

Awesome Lists containing this project

README

        

.. image:: https://raw.githubusercontent.com/giotto-ai/pyflagser/master/doc/images/Giotto_logo_RGB.svg
:width: 590

|wheels|_ |ci|_ |Twitter-follow|_ |Slack-join|_

.. |wheels| image:: https://github.com/giotto-ai/pyflagser/actions/workflows/wheels.yml/badge.svg
.. _wheels:

.. |ci| image:: https://github.com/giotto-ai/pyflagser/actions/workflows/ci.yml/badge.svg
.. _ci:

.. |Twitter-follow| image:: https://img.shields.io/twitter/follow/giotto_ai?label=Follow%20%40giotto_ai&style=social
.. _Twitter-follow: https://twitter.com/intent/follow?screen_name=giotto_ai

.. |Slack-join| image:: https://img.shields.io/badge/Slack-Join-yellow
.. _Slack-join: https://slack.giotto.ai/

=========
pyflagser
=========

``pyflagser`` is a python API for the flagser C++ library by Daniel Lütgehetmann which computes the homology of directed flag complexes. Please check out the original `luetge/flagser `_ GitHub repository for more information.

Project genesis
---------------

``pyflagser`` is the result of a collaborative effort between `L2F SA `_, the `Laboratory for Topology and Neuroscience `_ at EPFL, and the `Institute of Reconfigurable & Embedded Digital Systems (REDS) `_ of HEIG-VD.

Installation
------------

Dependencies
~~~~~~~~~~~~

``pyflagser`` requires:

- Python (>= 3.8)
- NumPy (>= 1.17.0)
- SciPy (>= 0.17.0)

User installation
~~~~~~~~~~~~~~~~~

If you already have a working installation of numpy and scipy, the easiest way to install pyflagser is using ``pip`` ::

python -m pip install -U pyflagser

Documentation
-------------

API reference (stable release): https://docs-pyflagser.giotto.ai

Contributing
------------

We welcome new contributors of all experience levels. The Giotto community goals are to be helpful, welcoming, and effective. To learn more about making a contribution to ``pyflagser``, please see the `CONTRIBUTING.rst `_ file.

Developer installation
~~~~~~~~~~~~~~~~~~~~~~

C++ dependencies:
'''''''''''''''''

- C++14 compatible compiler
- CMake >= 3.9

Source code
'''''''''''

You can check the latest sources with the command::

git clone https://github.com/giotto-ai/pyflagser.git

To install:
'''''''''''

From the cloned repository's root directory, run

.. code-block:: bash

python -m pip install -e ".[tests]"

This way, you can pull the library's latest changes and make them immediately available on your machine.

Testing
'''''''

After installation, you can launch the test suite from outside the source directory::

pytest pyflagser

Changelog
---------

See the `RELEASE.rst `__ file
for a history of notable changes to pyflagser.

Important links
~~~~~~~~~~~~~~~

- Official source code repo: https://github.com/giotto-ai/pyflagser
- Download releases: https://pypi.org/project/pyflagser/
- Issue tracker: https://github.com/giotto-ai/pyflagser/issues

Contacts:
---------

[email protected]