[ https://issues.apache.org/jira/browse/IGNITE-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944780#comment-16944780 ]
Peter Ivanov commented on IGNITE-10683: --------------------------------------- [~dmagda], what do you think. Should it be included to 2.8 scope? > Prepare process of packaging and delivering thin clients > -------------------------------------------------------- > > Key: IGNITE-10683 > URL: https://issues.apache.org/jira/browse/IGNITE-10683 > Project: Ignite > Issue Type: Task > Reporter: Peter Ivanov > Assignee: Peter Ivanov > Priority: Major > Fix For: 2.8 > > > # **NodeJs client** > #* +Instruction+: > https://github.com/nobitlost/ignite/blob/ignite-7777-docs/modules/platforms/nodejs/README.md#publish-ignite-nodejs-client-on-npmjscom-instruction > #* +Uploaded+: https://www.npmjs.com/package/apache-ignite-client > # **PHP client** > #* +Instruction+: > https://github.com/nobitlost/ignite/blob/ignite-7783-docs/modules/platforms/php/README.md#release-the-client-in-the-php-package-repository-instruction > {panel} > Cannot be uploaded on Packagist as the client should be in a dedicated > repository for that - > https://issues.apache.org/jira/browse/IGNITE-7783?focusedCommentId=16595476&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16595476 > Installation from the sources works. > {panel} > # **Python client** > 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: > ## Clone/pull the sources from the git repository, > ## Enter the directory in which the `setup.py` is resides (“the setup > directory”), in our case it is `modules/platforms/python`. > ## Create the packages with the command `python3 setup.py sdist bdist_wheel`. > The packages will be created in `modules/platforms/python/dist` folder. > ## 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. -- This message was sent by Atlassian Jira (v8.3.4#803005)