Skip to content

Commit

Permalink
Release v0.4.1 (#47)
Browse files Browse the repository at this point in the history
* Update flagser and bindings with latest build of flagser, fix #45

Arguments are now managed with a class instead of creating virtual
command lines arguments.

* Add regression test with coefficient higher than 2, to avoid #45

Add pytest-timeout to test suite and use it in test with higher coeffs

* Bump version to 0.4.1

* Add release notes for 0.4.1

Signed-off-by: julian <[email protected]>
Co-authored-by: Umberto Lupo <[email protected]>
Co-authored-by: REDS institute <[email protected]>
  • Loading branch information
3 people authored Sep 1, 2020
1 parent 61bfb9b commit 531589d
Show file tree
Hide file tree
Showing 10 changed files with 185 additions and 100 deletions.
39 changes: 13 additions & 26 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.. image:: https://www.giotto.ai/static/vector/logo.svg
:width: 850
.. image:: https://raw.githubusercontent.com/giotto-ai/pyflagser/master/doc/images/Giotto_logo_RGB.svg
:width: 590

|Azure|_ |Azure-cov|_ |Azure-test|_

Expand All @@ -22,53 +22,41 @@ pyflagser
=========


pyflagser s 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 <https://github.com/luetge/flagser>`_ GitHub repository for more information.

Website: https://giotto.ai

``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 <https://github.com/luetge/flagser>`_ GitHub repository for more information.

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

pyflagser is the result of a collaborative effort between `L2F SA
<https://www.l2f.ch/>`_, the `Laboratory for Topology and Neuroscience
<https://www.epfl.ch/labs/hessbellwald-lab/>`_ at EPFL, and the `Institute of Reconfigurable & Embedded Digital Systems (REDS)
<https://heig-vd.ch/en/research/reds>`_ of HEIG-VD.
``pyflagser`` is the result of a collaborative effort between `L2F SA <https://www.l2f.ch/>`_, the `Laboratory for Topology and Neuroscience <https://www.epfl.ch/labs/hessbellwald-lab/>`_ at EPFL, and the `Institute of Reconfigurable & Embedded Digital Systems (REDS) <https://heig-vd.ch/en/research/reds>`_ of HEIG-VD.

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

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

pyflagser requires:
``pyflagser`` requires:

- Python (>= 3.6)
- numpy (>= 1.17.0)
- scipy (>= 0.17.0)

For running the examples jupyter, matplotlib and plotly are required.
- 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`` ::
If you already have a working installation of numpy and scipy, the easiest way to install pyflagser is using ``pip`` ::

pip install -U pyflagser
python -m pip install -U pyflagser

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

- HTML documentation (stable release): https://docs-pyflagser.giotto.ai
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
<https://github.com/giotto-ai/pyflagser/blob/master/CONTRIBUTING.rst>`_ file.
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 <https://github.com/giotto-ai/pyflagser/blob/master/CONTRIBUTING.rst>`_ file.

Developer installation
~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -95,15 +83,14 @@ From the cloned repository's root directory, run

.. code-block:: bash
pip install -e .
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::
After installation, you can launch the test suite from outside the source directory::

pytest pyflagser

Expand Down
49 changes: 32 additions & 17 deletions RELEASE.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
Release 0.4.1
=============

Bug Fixes
---------
A bug was fixed which caused some computations to hang when the prime for the finite field of coefficients used is greater than 2.

Backwards-Incompatible Changes
------------------------------
None.

Thanks to our Contributors
--------------------------

This release contains contributions from many people:

Julian Burella Pérez and Umberto Lupo.

We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.


Release 0.4.0
==============
=============

Major Features and Improvements
-------------------------------
Expand All @@ -24,12 +45,11 @@ This release contains contributions from many people:

Guillaume Tauzin, Umberto Lupo, and Julian Burella Pérez.

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.


Release 0.3.1
==============
=============

Major Features and Improvements
-------------------------------
Expand All @@ -52,8 +72,7 @@ This release contains contributions from many people:

Umberto Lupo and Guillaume Tauzin.

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.


Release 0.3.0
Expand Down Expand Up @@ -124,12 +143,11 @@ This release contains contributions from many people:

Guillaume Tauzin, Umberto Lupo, and Julian Burella Pérez.

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.


Release 0.2.1
==============
=============

Major Features and Improvements
-------------------------------
Expand Down Expand Up @@ -158,12 +176,11 @@ This release contains contributions from many people:

Julian Burella Pérez, Umberto Lupo, and Guillaume Tauzin.

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.


Release 0.2.0
==============
=============

Major Features and Improvements
-------------------------------
Expand All @@ -187,12 +204,11 @@ This release contains contributions from many people:

Julian Burella Pérez, Umberto Lupo, and Guillaume Tauzin.

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.


Release 0.1.0
==============
=============

Initial release of ``pyflagser``.

Expand Down Expand Up @@ -220,5 +236,4 @@ This release contains contributions from many people:

Guillaume Tauzin, Julian Burella Pérez and Umberto Lupo.

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.
26 changes: 13 additions & 13 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
failOnStderr: true
displayName: 'Upgrade pip and setuptools'
- script: pip install -e ".[tests, doc]"
- script: python -m pip install -e ".[tests, doc]"
failOnStderr: true
displayName: 'Install dev environment'

Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
failOnStderr: true
displayName: 'Upgrade pip and setuptools'
- script: pip install -e ".[tests, doc]"
- script: python -m pip install -e ".[tests, doc]"
failOnStderr: true
displayName: 'Install dev environment'

Expand Down Expand Up @@ -91,12 +91,12 @@ jobs:
versionSpec: '$(python.version)'

- script: |
python -m pip install --upgrade pip setuptools
python -m python -m pip install --upgrade pip setuptools
failOnStderr: true
displayName: 'Upgrade pip and setuptools'
- script: |
pip install -e ".[tests, doc]"
python -m pip install -e ".[tests, doc]"
failOnStderr: true
displayName: 'Install dev environment'
Expand Down Expand Up @@ -148,12 +148,12 @@ jobs:
python -m pip install --upgrade pip
displayName: 'Upgrade pip and setuptools'
- script: pip install dist/*.whl
- script: python -m pip install dist/*.whl
failOnStderr: true
displayName: 'Install the wheels'

- script: |
pip install pytest pytest-cov pytest-azurepipelines pytest-benchmark flake8 hypothesis
python -m pip install pytest pytest-cov pytest-timeout pytest-azurepipelines pytest-benchmark flake8 hypothesis
mkdir tmp_test_cov
cd tmp_test_cov
python -m pyflagser.tests --webdl --no-cov --no-coverage-upload
Expand Down Expand Up @@ -196,7 +196,7 @@ jobs:
failOnStderr: true
displayName: 'Upgrade pip and setuptools'
- script: pip install -e ".[tests, doc]"
- script: python -m pip install -e ".[tests, doc]"
failOnStderr: true
displayName: 'Install dev environment'

Expand All @@ -212,18 +212,18 @@ jobs:
displayName: 'Uninstall pyflagser dev'
- script: |
pip install wheel
python -m pip install wheel
python setup.py bdist_wheel
failOnStderr: false
displayName: 'Build the wheels'
- script: |
set -e
pip install twine
python -m pip install twine
twine check dist/*
displayName: 'Check distribution with twine'
- script: pip install dist/*.whl
- script: python -m pip install dist/*.whl
failOnStderr: true
displayName: 'Install the wheels'

Expand Down Expand Up @@ -290,7 +290,7 @@ jobs:
displayName: 'Upgrade pip and setuptools'
- script: |
pip install -e ".[tests, doc]"
python -m pip install -e ".[tests, doc]"
failOnStderr: true
displayName: 'Install dev environment'
Expand All @@ -307,12 +307,12 @@ jobs:
- bash: |
sed -i $'s/\r$//' README.rst
pip install wheel
python -m pip install wheel
python setup.py bdist_wheel
failOnStderr: false
displayName: 'Build the wheels'
- bash: pip install dist/*.whl
- bash: python -m pip install dist/*.whl
failOnStderr: true
displayName: 'Install the wheels'

Expand Down
76 changes: 76 additions & 0 deletions doc/images/Giotto_logo_RGB.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion pyflagser/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
# 'X.Y.dev0' is the canonical version of 'X.Y.dev'
#

__version__ = '0.4.0'
__version__ = '0.4.1'
Loading

0 comments on commit 531589d

Please sign in to comment.