File tree Expand file tree Collapse file tree 2 files changed +53
-1
lines changed
Expand file tree Collapse file tree 2 files changed +53
-1
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,57 @@ The main steps are:
35356. At regular intervals the pyLXD module will be released to PyPi with the new
3636 features and bug fixes.
3737
38+ Releasing
39+ ---------
40+
41+ New versions of pyLXD are published to `PyPI <https://pypi.org/project/pylxd/ >`_.
42+
43+ 1. Bump the version in ``pyproject.toml ``::
44+
45+ [project]
46+ name = "pylxd"
47+ version = "<version>"
48+ ...
49+
50+ Submit that change in a PR and get it merged.
51+
52+ 2. Install the release tooling into a virtual environment (once):
53+
54+ .. code-block :: console
55+
56+ python3 -m venv .venv-release
57+ source .venv-release/bin/activate
58+ pip install '.[release]'
59+
60+ 3. Build the source and wheel archives:
61+
62+ .. code-block :: console
63+
64+ python3 -m build
65+
66+ This produces both ``dist/pylxd-<version>.tar.gz `` and
67+ ``dist/pylxd-<version>-py3-none-any.whl ``.
68+
69+ 4. Verify the archives:
70+
71+ .. code-block :: console
72+
73+ twine check --strict dist/*
74+
75+ Both artifacts should report ``PASSED ``.
76+
77+ 5. Upload to PyPI:
78+
79+ .. code-block :: console
80+
81+ twine upload dist/*
82+
83+ After a successful upload the new release is visible at
84+ https://pypi.org/project/pylxd/.
85+
86+ 6. Create a new release and tag on GitHub using the autogenerated release notes
87+ from the merged PRs.
88+
3889Requirements to merge a Pull Request (PR)
3990-----------------------------------------
4091
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44
55[project ]
66name = " pylxd"
7- version = " 2.3.9 "
7+ version = " 2.4.0 "
88description = " Python library for interacting with the LXD REST API"
99readme = { file = " README.rst" , content-type = " text/x-rst" }
1010requires-python = " >=3.10"
@@ -43,6 +43,7 @@ testing = [
4343format = [" black" , " flake8" , " flake8-pyproject" , " isort" ]
4444check = [" mypy" ]
4545doc = [" Sphinx" ]
46+ release = [" build" , " twine>=6.0.0" ]
4647
4748[tool .setuptools .packages .find ]
4849include = [" pylxd*" ]
You can’t perform that action at this time.
0 commit comments