[ 
https://issues.apache.org/jira/browse/IGNITE-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16946789#comment-16946789
 ] 

Igor Sapego commented on IGNITE-10683:
--------------------------------------

[~dmagda] [~mmuzaf] [~vveider] I really think this will be a good feature to 
include.

> 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)

Reply via email to