Nikolay, Petr,
I have already registered the package `pyignite` on PyPI[1]. The person
who is going to take the responsibility of maintaining it should create
an account on PyPI and mail me in private, so that I can grant them the
necessary rights. They also must install twine[3].
The process of packaging is well described in the packaging tutorial[2].
In the nutshell, the maintainer must do the following:
1. Clone/pull the sources from the git repository,
2. Enter the directory in which the `setup.py` is resides (“the setup
directory”), in our case it is `modules/platforms/python`.
3. Create the packages with the command `python3 setup.py sdist
bdist_wheel`. The packages will be created in
`modules/platforms/python/dist` folder.
4. Upload packages with twine: `twine upload dist/*`.
It is very useful to have a dedicated Python virtual environment
prepared to perform steps 3-4. Just do an editable install of `pyignite`
into that environment from the setup directory: `pip3 install -e .` You
can also install twine (`pip install twine`) in it.
Consider also making a `.pypirc` file to save time on logging in to
PyPI. Newest version of `twine` is said to support keyrings on Linux and
Mac, but I have not tried this yet.
[1] https://pypi.org/project/pyignite/
[2] https://packaging.python.org/tutorials/packaging-projects/
[3] https://twine.readthedocs.io/en/latest/
Some other notes on PyPI and versioning.
- The package version is located in the `setup.py`, it is a `version`
argument of the `setuptools.setup()` function. Editing the `setup.py` is
the only way to set the package version.
- You absolutely can not replace a package in PyPI (hijacking
prevention). If you have published the package by mistake, all you can
do is delete the unwanted package, increment the version counter in
`setup.py`, and try again.
- If you upload the package through the web interface of PyPI (without
twine), the package description will be garbled. Web interface does not
support markdown.
Anyway, I would like to join in the congratulations on successful
release. Kudos to the team.
On 12/10/18 4:49 PM, Nikolay Izhikov wrote:
Hello, Roman.
Do we have release procedure for this pacakage?
Let's develop one.
Thin client developers, please,let me know, which artifacts should be uploaded
to which package manager system.