Skip to main content

Python Pyrus API client

Project description

A python 3 client for the Pyrus API.

The full documentation for API can be found here.


To get the latest version:


To start with the module:

>>>  from pyrus import client
>>>  import pyrus.models
>>>  pyrus_client = client.PyrusAPI(login='', security_key='sadf2R5Wrdkn..')



>>> pyrus_client.auth()

Get all form templates:

>>> forms_response = pyrus_client.get_forms()
>>> forms = forms_response.forms

Get list of tasks created using specified form:

>>> form_register_response = pyrus_client.get_registry(forms[0].id)
>>> tasks = form_register_response.tasks

You can also filter registry by specific field value, status or current step number:

>>> request = pyrus.models.requests.FormRegisterRequest(
        filters=[pyrus.models.entities.EqualsFilter(1, "hello world")])
>>> form_register_response = pyrus_client.get_registry(forms[0].id, request)

Get task with all comments:

>>> task = pyrus_client.get_task(tasks[0].id).task

Add new comment to the task:

>>> request = pyrus.models.requests.TaskCommentRequest(text="hello", action="finished")
>>> task = pyrus_client.comment_task(tasks[0].id, request).task
Upload a file:
>>> response = myclient.upload_file('C:\\path\\to\\file.txt').guid

Create a task:

>>> request = CreateTaskRequest(
        text="Task from python client",
        participants=['', 10196] #you can specify person id, email, or pyrus.models.entities.Person object
        attachments = [guid])
>>> task = pyrus_client.create_task(request).task

Get all available contacts:

>>> contacts = pyrus_client.get_contacts()

Get catalog with all items:

>>> catalog_id = 1525
>>> catalog_response = pyrus_client.get_catalog(catalog_id)
>>> items = catalog_response.items

Get profile:

>>> profile_response = pyrus_client.get_profile()

Get inbox:

>>> inbox_response = pyrus_client.get_inbox(tasks_count=100)

Get calendar:

>>> calendar_response = (pyrus_client.get_calendar_tasks(req.CalendarRequest(
            datetime.datetime.utcnow() - datetime.timedelta(days=30),
            datetime.datetime.utcnow() + datetime.timedelta(days=30),

Get announcement with all comments:

>>> announcement = pyrus_client.get_announcement(12321321).announcement

Get announcements with all comments:

>>> announcements = pyrus_client.get_announcements().announcements

Add new comment to the announcement:

>>> request = pyrus.models.requests.AnnouncementCommentRequest(text="hello", attachments = ['BEFCE22E-AEFF-4771-83D4-2A4B78FB05C6'])
>>> announcement = pyrus_client.comment_announcement(12321321, request).announcement

Create an announcement:

>>> request = CreateAnnouncementRequest(
        text="Announcement from python client",
        attachments = [guid])
>>> announcement = pyrus_client.create_announcement(request).announcement

Get form permissions:

>>> permissions = pyrus_client.get_permissions(123)

Change form permissions:

>>> request = pyrus.models.requests.ChangePermissionsRequest({1733:'member'})
>>> changed_permissions = pyrus_client.change_permissions(123, request)


If you have any questions or comments please send an email to

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrus-api-2.16.0.tar.gz (23.9 kB view hashes)

Uploaded source

Built Distribution

pyrus_api-2.16.0-py3-none-any.whl (25.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page