@@ -14,9 +14,15 @@ The package can be set up (ideally in a fresh virtual environment) for local
1414development with the following::
1515
1616 $ git clone https://github.com/epfl-lts2/pyunlocbox.git
17+ $ cd pyunlocbox
18+ $ uv sync --dev
19+ $ source .venv/bin/activate # On Windows: .venv\Scripts\activate
20+
21+ Or with pip (legacy method)::
22+
1723 $ pip install --upgrade --editable pyunlocbox[dev]
1824
19- The ``dev `` "extras requirement" ensures that dependencies required for
25+ The ``dev `` dependencies ensure that packages required for
2026development (to run the test suite and build the documentation) are installed.
2127
2228You can improve or add solvers, functions, and acceleration schemes in
@@ -30,7 +36,7 @@ short example in ``examples``.
3036Update ``README.rst `` and ``CHANGELOG.rst `` if applicable.
3137
3238After making any change, please check the style, run the tests, and build the
33- documentation with the following (enforced by Travis CI )::
39+ documentation with the following (enforced by GitHub Actions )::
3440
3541 $ make lint
3642 $ make test
@@ -42,31 +48,31 @@ tests reasonably cover the changes you've introduced.
4248To iterate faster, you can partially run the test suite, at various degrees of
4349granularity, as follows::
4450
45- $ python -m unittest pyunlocbox. tests. test_functions
46- $ python -m unittest pyunlocbox. tests. test_functions.TestCase. test_norm_l1
51+ $ uv run pytest pyunlocbox/ tests/ test_functions.py
52+ $ uv run pytest pyunlocbox/ tests/ test_functions.py::TestFunctions:: test_norm_l1
4753
4854Making a release
4955----------------
5056
51- #. Update the version number and release date in ``setup.py ``,
57+ #. Update the version number and release date in ``pyproject.toml ``,
5258 ``pyunlocbox/__init__.py `` and ``CHANGELOG.rst ``.
5359#. Create a git tag with ``git tag -a v0.5.0 -m "PyUNLocBox v0.5.0" ``.
54- #. Push the tag to GitHub with ``git push github v0.5.0 ``. The tag should now
60+ #. Push the tag to GitHub with ``git push origin v0.5.0 ``. The tag should now
5561 appear in the releases and tags tab.
5662#. `Create a release <https://github.com/epfl-lts2/pygsp/releases/new >`_ on
5763 GitHub and select the created tag. A DOI should then be issued by Zenodo.
5864#. Go on Zenodo and fix the metadata if necessary.
59- #. Build the distribution with ``make dist `` and check that the
65+ #. Build the distribution with ``make dist `` (or `` uv build ``) and check that the
6066 ``dist/pyunlocbox-0.5.0.tar.gz `` source archive contains all required files.
6167 The binary wheel should be found as
62- ``dist/pyunlocbox-0.5.0-py2. py3-none-any.whl ``.
68+ ``dist/pyunlocbox-0.5.0-py3-none-any.whl ``.
6369#. Test the upload and installation process::
6470
65- $ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
66- $ pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pyunlocbox
71+ $ uv run twine upload --repository-url https://test.pypi.org/legacy/ dist/*
72+ $ uv pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pyunlocbox
6773
6874 Log in as the LTS2 user.
69- #. Build and upload the distribution to the real PyPI with ``make release ``.
75+ #. Build and upload the distribution to the real PyPI with ``make release `` (or `` uv run twine upload dist/* ``) .
7076#. Update the conda feedstock (at least the version number and sha256 in
7177 ``recipe/meta.yaml ``) by sending a PR to
7278 `conda-forge <https://github.com/conda-forge/pyunlocbox-feedstock >`_.
0 commit comments