Skip to content

Commit 7924874

Browse files
Version 0.6.0 (#118)
* update * update * update makefile * update --------- Co-authored-by: Nathanael Perraudin <nathanael.perraudin@synthesia.io>
1 parent f4c4b9e commit 7924874

File tree

6 files changed

+37
-36
lines changed

6 files changed

+37
-36
lines changed

CHANGELOG.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,13 @@ All notable changes to this project will be documented in this file.
66
The format is based on `Keep a Changelog <https://keepachangelog.com>`_
77
and this project adheres to `Semantic Versioning <https://semver.org>`_.
88

9-
Unreleased
10-
----------
9+
0.6.0 (2025-09-11)
10+
------------------
1111

12+
* Update to the new python versions 3.8, 3.9, 3.10, 3.11, 3.12, 3.13.
13+
* Move CI from travis to GitHub Actions.
14+
* Upgrade test from unittest to pytest.
15+
* Add a basic pre-commit hooks.
1216
* Upgrade from PyQt5 to PyQt6.
1317
* ``print(graph)`` and ``print(filters)`` now show valuable information.
1418
* Building a graph object is much faster.
@@ -25,7 +29,6 @@ Unreleased
2529
* ``g.inverse()`` returns the pseudo-inverse of the filter bank.
2630
* ``g.complement()`` returns the filter that makes the frame tight.
2731
* Wave filter bank which application simulates the propagation of a wave.
28-
* Continuous integration with Python 3.7, 3.8, 3.9. Dropped 2.7, 3.4, 3.5, 3.6.
2932
* New implementation of the Sensor graph that is simpler and scales better.
3033
* A new learning module with three functions to solve standard semi-supervised
3134
classification and regression problems.

CONTRIBUTING.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ The package can be set up (ideally in a fresh virtual environment) for local
1414
development with the following::
1515

1616
$ git clone https://github.com/epfl-lts2/pygsp.git
17-
$ pip install --upgrade --editable pygsp[dev]
17+
$ cd pygsp
18+
$ make install
1819

19-
The ``dev`` "extras requirement" ensures that dependencies required for
20-
development (to run the test suite and build the documentation) are installed.
21-
Only `graph-tool <https://graph-tool.skewed.de>`_ will be missing: install it
22-
manually as it cannot be installed by pip.
20+
The ``make install`` command (which runs ``uv sync --all-extras``) ensures that
21+
all dependencies required for development (to run the test suite and build the
22+
documentation) are installed. Only `graph-tool <https://graph-tool.skewed.de>`_
23+
will be missing: install it manually as it cannot be installed by uv.
2324

2425
You can improve or add functionality in the ``pygsp`` folder, along with
2526
corresponding unit tests in ``pygsp/tests/test_*.py`` (with reasonable
@@ -63,7 +64,7 @@ Making a release
6364
binary wheel should be found as ``dist/PyGSP-0.5.0-py2.py3-none-any.whl``.
6465
#. Test the upload and installation process::
6566

66-
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
67+
$ uv publish --publish-url https://test.pypi.org/legacy/ dist/*
6768
$ pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pygsp
6869

6970
Log in as the LTS2 user.

Makefile

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
NB = $(sort $(wildcard examples/*.ipynb))
2-
.PHONY: help clean lint test doc dist release
2+
.PHONY: help clean install lint test doc dist release
33

44
help:
55
@echo "clean remove non-source files and clean source files"
6+
@echo "install install package in development mode with all dependencies"
67
@echo "lint check style"
78
@echo "test run tests and check coverage"
89
@echo "doc generate HTML documentation and check links"
@@ -13,9 +14,12 @@ clean:
1314
git clean -Xdf
1415
jupyter nbconvert --inplace --ClearOutputPreprocessor.enabled=True $(NB)
1516

17+
install:
18+
uv sync --all-extras
19+
1620

1721
lint:
18-
flake8 --doctests --exclude=doc,.venv,build --max-line-length=88 --extend-ignore=E203
22+
uv run flake8 --doctests --exclude=doc,.venv,build --max-line-length=88 --extend-ignore=E203
1923

2024
# Matplotlib doesn't print to screen. Also faster.
2125
export MPLBACKEND = agg
@@ -24,20 +28,19 @@ export DISPLAY = :99
2428

2529
test:
2630
Xvfb $$DISPLAY -screen 0 800x600x24 &
27-
coverage run --branch --source pygsp -m pytest
28-
coverage report
29-
coverage html
31+
uv run coverage run --branch --source pygsp -m pytest
32+
uv run coverage report
33+
uv run coverage html
3034
killall Xvfb
3135

3236
doc:
33-
sphinx-build -b html -d doc/_build/doctrees doc doc/_build/html
34-
sphinx-build -b linkcheck -d doc/_build/doctrees doc doc/_build/linkcheck
37+
uv run sphinx-build -b html -d doc/_build/doctrees doc doc/_build/html
38+
uv run sphinx-build -b linkcheck -d doc/_build/doctrees doc doc/_build/linkcheck
3539

3640
dist: clean
37-
python setup.py sdist
38-
python setup.py bdist_wheel --universal
41+
uv build
3942
ls -lh dist/*
40-
twine check dist/*
43+
uv run twine check dist/*
4144

4245
release: dist
43-
twine upload dist/*
46+
uv publish

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ A (mostly unmaintained) `Matlab version <https://epfl-lts2.github.io/gspbox-html
1515
+-----------------------------------+
1616
| |zenodo| |license| |pyversions| |
1717
+-----------------------------------+
18-
| |ci| |coveralls| |github| |
18+
| |ci| |coveralls| |github| |
1919
+-----------------------------------+
2020

2121
.. |doc| image:: https://readthedocs.org/projects/pygsp/badge/?version=latest

pygsp/__init__.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,5 @@
3737
graphs.Graph.plot.__func__.__doc__ = plotting._plot_graph.__doc__
3838
graphs.Graph.plot_spectrogram.__func__.__doc__ = plotting._plot_spectrogram.__doc__
3939

40-
__version__ = "0.5.1"
41-
__release_date__ = "2017-12-15"
42-
43-
44-
def test(): # pragma: no cover
45-
"""Run the test suite."""
46-
import subprocess
47-
import sys
48-
49-
# Run pytest on the tests directory
50-
result = subprocess.run(
51-
[sys.executable, "-m", "pytest", "pygsp/tests/", "-v"], capture_output=False
52-
)
53-
return result.returncode == 0
40+
__version__ = "0.6.0"
41+
__release_date__ = "2025-09-11"

pyproject.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "PyGSP"
7-
version = "0.5.1"
7+
version = "0.6.0"
88
description = "Graph Signal Processing in Python"
99
readme = "README.rst"
1010
requires-python = ">=3.8"
@@ -72,6 +72,7 @@ dev = [
7272
"sphinx-rtd-theme",
7373
"sphinx-copybutton",
7474
# Build and upload packages
75+
"build",
7576
"wheel",
7677
"twine",
7778
"pre-commit",
@@ -140,3 +141,8 @@ exclude_lines = [
140141
[tool.flake8]
141142
max-line-length = 88
142143
extend-ignore = ["E203", "W503"]
144+
145+
[dependency-groups]
146+
dev = [
147+
"pre-commit>=3.5.0",
148+
]

0 commit comments

Comments
 (0)