@@ -10,7 +10,7 @@ set up an account there, go to https://test.pypi.org/account/register/. Further
1010information can be found at `Using
1111TestPyPI <https://packaging.python.org/en/latest/guides/using-testpypi/> `_.
1212
13- Now you can create the :file: `~/.pypirc ` file:
13+ Now you can create the :file: `~/.config/pip/pip.conf ` file:
1414
1515.. code-block :: ini
1616
@@ -27,55 +27,21 @@ Now you can create the :file:`~/.pypirc` file:
2727 <https://glyph.twistedmatrix.com/2017/10/careful-with-that-pypi.html> `_.
2828
2929After you are registered, you can upload your :term: `Distribution Package ` with
30- :term: ` twine `. To do this, however, you must first install twine with:
30+ `` uv publish ``.
3131
32- .. code-block :: console
33-
34- $ uv add --upgrade twine
35-
36- .. tip ::
37- Run this command before each release to ensure that all release tools are up
38- to date.
39-
40- After installing ``twine `` you can upload all archives under :file: `/dist ` to
41- the Python Package Index with:
42-
43- Now you can create your :term: `Distribution Packages <Distribution Package> `
44- with:
45-
46- .. code-block :: console
47-
48- $ cd /path/to/your/distribution_package
49- $ rm -rf build dist
50- $ python -m build
51-
52- After installing Twine you can upload all archives in ``/dist `` to the Python
53- Package Index with:
32+ You can either use ``uv publish `` with the option ``--username __token__ `` or
33+ set the environment variable ``UV_PUBLISH_USERNAME=__token__ `` to upload all
34+ archives under :file: `/dist ` to the :term: `Python Package Index `:
5435
5536.. code-block :: console
5637
57- $ uv run twine upload -r test -s dist/*
58-
59- ``-r ``, ``--repository ``
60- The repository to upload the package.
61-
62- In our case, the ``test `` section from the :file: `~/.pypirc ` file is used.
38+ $ uv publish --publish-url https://test.pypi.org/legacy/ --username __token__ dist/*
6339
64- ``-s ``, ``--sign ``
65- signs the files to be uploaded with GPG.
66-
67- You will be asked for the password of your signature key that you used to
68- register with *Test PyPI * . You should then see a similar output:
69-
70- .. code-block :: console
40+ ``--publish-url ``
41+ The URL of the upload endpoint (not the index URL).
7142
72- Uploading distributions to https://test.pypi.org/legacy/
73- Enter your username: veit
74- Enter your password:
75- Uploading example-0.0.1-py3-none-any.whl
76- 100%|█████████████████████| 4.65k/4.65k [00:01<00:00, 2.88kB/s]
77- Uploading example-0.0.1.tar.gz
78- 100%|█████████████████████| 4.25k/4.25k [00:01<00:00, 3.05kB/s]
43+ ``--username ``
44+ The user name for the upload.
7945
8046.. note ::
8147 If you get an error message similar to
@@ -128,8 +94,7 @@ You can test whether your package has been installed correctly by calling
12894
12995 The packages on *Test-PyPI * are only stored temporarily. If you want to
13096 upload a package to the real :term: `Python Package Index ` (:term: `PyPI `),
131- you can do so by creating an account on :term: `pypi.org ` and following the
132- same instructions, but using ``twine upload dist/* ``.
97+ you can do so by creating an account on :term: `pypi.org `.
13398
13499README
135100~~~~~~
@@ -172,7 +137,7 @@ Finally, you can publish your package on PyPI:
172137
173138.. code-block :: console
174139
175- $ uv run twine upload -r pypi -s dist/*
140+ $ uv publish dist/*
176141
177142 .. note ::
178143 You cannot simply replace releases as you cannot re-upload packages with the
@@ -228,11 +193,10 @@ PyPI at every time a release is created. Such a
228193 cache-dependency-path : ' **/pyproject.toml'
229194 - name : Setup cached uv
230195 uses : hynek/setup-cached-uv@v2
231- - name : Create venv and install twine
196+ - name : Create venv
232197 run : |
233198 uv venv
234199 echo "$PWD/.venv/bin" >> $GITHUB_PATH
235- uv add --upgrade twine
236200 - name : Build
237201 run : |
238202 uv build
0 commit comments