pymarsys allows you to choose the type of execution you want for the client: synchronous or asynchronous.
Warning: pymarsys is currently under development and on Pre-Alpha version. Use with caution! Currently implemented endpoints are:
- contacts
- contact_fields
If you want to make calls to other endpoints, for now you can use the make_call
method of the SyncConnection
or AsyncConnection
classes.
Python 2.x compatibility: If you are using python 2.x, don't, just don't.
>>> from pymarsys import SyncConnection, Emarsys
>>> connection = SyncConnection('username', 'secret')
>>> client = Emarsys(connection)
>>> client.contacts.create({'3': 'squirrel@squirrelmail.com'})
{'data': {'id': 19739576}, 'replyCode': 0, 'replyText': 'OK'}
>>> from pymarsys import AsyncConnection, Emarsys
>>> async def my_async_func():
... connection = AsyncConnection('username', 'secret')
... client = Emarsys(connection)
... return await client.contacts.create({'3': 'squirrel@squirrelmail.com'})
>>> my_async_func()
<coroutine object AsyncConnection.make_call at 0x10c44bd58>
You will need an event loop to get the result of your coroutine. Here is an example using asyncio's event loop:
>>> import asyncio
>>> coroutine = my_async_func()
>>> loop = asyncio.get_event_loop()
>>> loop.run_until_complete(coroutine)
{'data': {'id': 19739576}, 'replyCode': 0, 'replyText': 'OK'}
Simply:
$ pip install pymarsys
🐿
Coming soon!
##Contributing
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes.
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until it gets merged and published.