You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitry Melnichuk (JIRA)" <ji...@apache.org> on 2018/08/31 21:05:00 UTC

[jira] [Updated] (IGNITE-7782) Thin Client lib: Python

     [ https://issues.apache.org/jira/browse/IGNITE-7782?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dmitry Melnichuk updated IGNITE-7782:
-------------------------------------
    Description: 
Implement Thin (lightweight) Client lib in Python programming language for Ignite Binary Client Protocol [https://apacheignite.readme.io/v2.4/docs/binary-client-protocol]

Prototype:
 [https://github.com/skozlov-gridgain/apache-ignite-python-thin-client]

Example - NodeJS client - IGNITE-7777
 [https://github.com/nobitlost/ignite/tree/master/modules/platforms/nodejs]

-------------------------------------------

h5. Package name (for use with setuptools/PyPI):
pyignite

h5. Location of the lib in the repository:
.../modules/platforms/python

h5. Python version:
3.4+ (tested on 3.4 and 3.6)

h5. Ignite version:
2.7.

h5. Architecture:
Syncronous (safe for use with threading/multiprocessing), object-oriented.

h5. Documentation:
Sphinx/autodoc + readme.md

h5. Test framework:
pytest, pytest-runner for setuptools pytest integration.

h5. Usage examples included:
- cache management (creating, configuring, deleting),
- key-value operations,
- cache scan,
- basic SQL queries,
- simple and advanced work with Complex objects,
- fail-over connection.

h5. Goal:
Create a full-featured Ignite thin client library:
- carefully implement, test, and document all the features of the binary protocol, that can be useful in Python programs,
- implement and document features like type IDs or serialization hints, that are mostly useless in Python, for interoperability's sake,
- skip features, that are not applicable to Python programs, like filter object in scan query.

h5. Proposed scope of features:
- basic and SSL-wrapped TCP connection,
- authentication and authorization,
- failover mechanism,
- all datatypes,
- all client operations (except Binary-Type operations with type names).

  was:
Implement Thin (lightweight) Client lib in Python programming language for Ignite Binary Client Protocol [https://apacheignite.readme.io/v2.4/docs/binary-client-protocol]

Prototype:
 [https://github.com/skozlov-gridgain/apache-ignite-python-thin-client]

Example - NodeJS client - IGNITE-7777
 [https://github.com/nobitlost/ignite/tree/master/modules/platforms/nodejs]

-------------------------------------------

h5. Package name (for use with setuptools/PyPI):
pyignite

h5. Location of the lib in the repository:
.../modules/platforms/python

h5. Python version:
3.4+ (tested on 3.4 and 3.6)

h5. Ignite version:
2.5.

h5. Architecture:
Syncronous (safe for use with threading/multiprocessing), procedural. Ignite operations are mapped to functions.

h5. Documentation:
Sphinx/autodoc + readme.md

h5. Test framework:
pytest, pytest-runner for setuptools pytest integration.

h5. Usage examples included:
- cache operations (creating, configuring, deleting),
- key-value operations,
- scan query,
- basic SQL queries.

h5. Goal:
Create a full-featured Ignite thin client library:
- carefully implement, test, and document all the features of the binary protocol, that can be useful in Python programs,
- implement and document features like type IDs or serialization hints, that are mostly useless in Python, for interoperability's sake,
- skip features, that are not applicable to Python programs, like filter object in scan query.

h5. Proposed scope of features:
- basic and SSL-wrapped TCP connection,
- authentication and authorization,
- failover mechanism,
- all datatypes,
- all client operations (except Binary-Type operations with type names).


> Thin Client lib: Python
> -----------------------
>
>                 Key: IGNITE-7782
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7782
>             Project: Ignite
>          Issue Type: New Feature
>          Components: thin client
>            Reporter: Alexey Kosenchuk
>            Assignee: Dmitry Melnichuk
>            Priority: Major
>             Fix For: 2.7
>
>
> Implement Thin (lightweight) Client lib in Python programming language for Ignite Binary Client Protocol [https://apacheignite.readme.io/v2.4/docs/binary-client-protocol]
> Prototype:
>  [https://github.com/skozlov-gridgain/apache-ignite-python-thin-client]
> Example - NodeJS client - IGNITE-7777
>  [https://github.com/nobitlost/ignite/tree/master/modules/platforms/nodejs]
> -------------------------------------------
> h5. Package name (for use with setuptools/PyPI):
> pyignite
> h5. Location of the lib in the repository:
> .../modules/platforms/python
> h5. Python version:
> 3.4+ (tested on 3.4 and 3.6)
> h5. Ignite version:
> 2.7.
> h5. Architecture:
> Syncronous (safe for use with threading/multiprocessing), object-oriented.
> h5. Documentation:
> Sphinx/autodoc + readme.md
> h5. Test framework:
> pytest, pytest-runner for setuptools pytest integration.
> h5. Usage examples included:
> - cache management (creating, configuring, deleting),
> - key-value operations,
> - cache scan,
> - basic SQL queries,
> - simple and advanced work with Complex objects,
> - fail-over connection.
> h5. Goal:
> Create a full-featured Ignite thin client library:
> - carefully implement, test, and document all the features of the binary protocol, that can be useful in Python programs,
> - implement and document features like type IDs or serialization hints, that are mostly useless in Python, for interoperability's sake,
> - skip features, that are not applicable to Python programs, like filter object in scan query.
> h5. Proposed scope of features:
> - basic and SSL-wrapped TCP connection,
> - authentication and authorization,
> - failover mechanism,
> - all datatypes,
> - all client operations (except Binary-Type operations with type names).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)