ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitry Melnichuk <dmitry.melnic...@nobitlost.com>
Subject Re: Python thin client
Date Tue, 18 Sep 2018 08:35:10 GMT
Igor,

All examples are in 'ignite/modules/platforms/python/examples'.

I put examples in separate Python files mostly to be able to 
automatically confirm their operability. All the lengthy explanations 
and cross-references are in the main documentation:

https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/examples.html

To make it easier for end users to navigate in pyignite directories, I 
added a small README file to the 'examples' directory with a short 
description and a link to the docs:

https://github.com/nobitlost/ignite/blob/ignite-7782/modules/platforms/python/examples/readme.md

If you think this README is lacking something regardless of the main 
pyignite docs, please let me know.

On 9/17/18 8:59 PM, Igor Sapego wrote:
> Dmitry,
> 
> Sorry, I was not clear enough. What I mean is that Ignite distributed
> by both source and binary releases. Binary releases contain platforms
> code, which is needed to write your own application in the language,
> but does not contain developer stuff, such as tests, documentation
> generating scripts, etc.
> 
> Of course, it is more common to use package managers when
> developing your application, and of course, we are going to support
> this approach. But still, we provide a way for a user to get any client
> without any package manager.
> 
> I like the idea of supplying whl package in a binary release, though it
> looks like it's going to take more effort to implement it. But I believe
> except for the whl package, we will need to supply examples and
> instructions, how user can run them.
> 
> What do you think?
> 
> Best Regards,
> Igor
> 
> 
> On Sat, Sep 15, 2018 at 7:03 AM Dmitry Melnichuk <
> dmitry.melnichuk@nobitlost.com> wrote:
> 
>> Igor,
>>
>> I am in doubt here because I am not fully comprehend the meaning of
>> "binary release". But if it is somehow related to the "distribution"
>> thing, I would dare to suggest the following options:
>>
>> 1. Copy nothing. Just do
>>
>> ```
>> $ python setup.py bdist_wheel
>> $ twine upload dist/*
>> ```
>>
>> during the build process (or separately) and let PyPI handle the
>> distribution.
>>
>> This is the most natural and user-friendly way of distributing Python
>> packages. End user might only do
>>
>> ```
>> $ pip install pyignite
>> ```
>>
>> as it is suggested by my readme file.
>>
>> 2. Supply the wheel package. It is the file 'pyignite-*.whl' from 'dist'
>> directory, that should appear there as the "python setup.py bdist_wheel"
>> command finishes. Actually, it can be combined with the first option.
>>
>> The wheel can then be installed by the end user:
>>
>> ```
>> $ pip install pyignite-*.whl
>> ```
>>
>> 3. Supply the following files:
>>
>> ignite/modules/platforms/python/pyignite/**
>> ignite/modules/platforms/python/requirements/**
>> ignite/modules/platforms/python/LICENSE
>> ignite/modules/platforms/python/README.md
>> ignite/modules/platforms/python/setup.py
>>
>> (** stands for "all the files and sub-folders recursively, starting from
>> this folder".)
>>
>> It is not uncommon or wrong to distribute Python programs as text
>> without prior packaging, but, in my personal experience, this is a way
>> more suitable for one-time scripts or proprietary programs. For example,
>> most of Python web apps relies on git for deployment, without any
>> packaging subsystem.
>>
>> Here's a few words about wheels:
>>
>> https://wheel.readthedocs.io/
>>
>> Here's about uploading to PyPI with twine:
>>
>>
>> https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives
>>
>> On 9/14/18 9:05 PM, Igor Sapego wrote:
>>> Ok, good.
>>>
>>> Now, what is about installation? Which directories/files
>>> need to be copied to ignite's binary release?
>>>
>>> Best Regards,
>>> Igor
>>>
>>
> 


Mime
View raw message