معرفی شرکت ها


aether.python-1.3.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

A python library with Aether Python functionality
ویژگی مقدار
سیستم عامل -
نام فایل aether.python-1.3.0
نام aether.python
نسخه کتابخانه 1.3.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده eHealth Africa
ایمیل نویسنده aether@ehealthafrica.org
آدرس صفحه اصلی https://github.com/eHealthAfrica/aether-python-library/
آدرس اینترنتی https://pypi.org/project/aether.python/
مجوز Apache2 License
# Aether Python Library This is the official Python Library with Aether functions. ## Table of contents - [Requirements](#requirements) - [Installation](#installation) - [Distribution](#distribution) - [Tests](#tests) - [Usage](#usage) - [Redis tools](#redis-tools) ## Requirements This library requires **Python 3.6** and above. Python libraries: - [eha-jsonpath](https://github.com/eHealthAfrica/jsonpath-extensions/) Provides new Extensions to the jsonpath_ng python library to provide commonly requested functions. - [jsonschema](https://github.com/Julian/jsonschema) An implementation of JSON Schema validation for Python. - [redis](https://github.com/andymccurdy/redis-py) Python client for Redis key-value store. - [requests](https://2.python-requests.org//en/master/) HTTP for Humans. - [spavro](http://github.com/pluralsight/spavro) An Avro library, Spavro is a (sp)eedier avro implementation using Cython. Extra dependencies (based on settings): - **test** - [birdisle](https://github.com/bmerry/birdisle) A modified version of redis that runs as a library inside another process. - [coverage](https://coverage.readthedocs.io/) A tool for measuring code coverage of Python programs. - [flake8](http://flake8.pycqa.org/en/latest/) Tool For Style Guide Enforcement. - [flake8-quotes](https://github.com/zheller/flake8-quotes) Flake8 extension for checking quotes in python. - [tblib](https://github.com/ionelmc/python-tblib) Traceback serialization library. *[Return to TOC](#table-of-contents)* ## Installation ```bash # standalone pip3 install aether.python ``` *[Return to TOC](#table-of-contents)* ## Distribution How to create the package distribution Execute the following command: ```bash python3 setup.py bdist_wheel ``` or ```bash ./scripts/build.sh ``` *[Return to TOC](#table-of-contents)* ## Tests Depending on your preference you can either use virtualenv or pipenv to test the library locally. #### Virtual Env First install dependencies (execute it only once): ```bash ./scripts/install.sh ``` After that execute the following command: ```bash source ./venv/bin/activate ./scripts/test.sh ``` #### Pipenv In the root folder run: ```bash pipenv install . ``` Then to test run: ```bash pipenv run scripts/test.sh ``` The file `scripts/test.ini` contains the environment variables used in the tests. *[Return to TOC](#table-of-contents)* ## Usage ### Redis Tools This provides an interface to a Redis server via supplied redis parameters. It makes available a number of `CRUD` redis operation which include but not limited to: - Formats document keys into `_{type}:{tenant}:{id}` before being cached on redis. - Retrieves documents based on preformated keys. - Removes documents based on preformated keys. - Subscribes to key based channels with a callback function. #### Usage ```python from aether.python.redis.task import TaskHelper REDIS_TASK = TaskHelper(settings, redis_instance) # Settings must have the following properties: # REDIS_HOST str - Redis server host, # REDIS_PORT int - Redis server port, # REDIS_PASSWORD str - Redis server password, # REDIS_DB str - Redis database name # redis_instance (Optional) - Pass an existing redis connection # (If provided, ignores all settings and uses redis_instance) document = { 'id': 'document_id', 'name': 'document name' } document_type = 'test_document' aether_tenant = 'prod' # add document to redis REDIS_TASK.add(task=document, type=document_type, tenant=aether_tenant) # retrieve document from redis REDIS_TASK.get(_id=document['id'], type=document_type, tenant=aether_tenant) # subcribe to a key based channel CHANNEL = '_test_document*' # listens for messages published to all channels starting with '_test_document' def handle_callback(msg): print(msg) # handle returned message REDIS_TASK.subscribe(callback=handle_callback, pattern=CHANNEL, keep_alive=True) # publish document REDIS_TASK.publish(task=document, type=document_type, tenant=aether_tenant) # this will trigger the 'handle_callback' function with the published document to all subscribed clients ```


نیازمندی

مقدار نام
- avro-python3
- eha-jsonpath
- jsonschema
- redis
- requests[security]
- spavro
- birdisle
- coverage
- flake8
- flake8-quotes
- tblib


زبان مورد نیاز

مقدار نام
>=3.7 Python


نحوه نصب


نصب پکیج whl aether.python-1.3.0:

    pip install aether.python-1.3.0.whl


نصب پکیج tar.gz aether.python-1.3.0:

    pip install aether.python-1.3.0.tar.gz