rindap 1.2
Rindap API
Keywords: Rindap,REST API for BPM,Business Process Management,Workflow Automation,BPM,Business Process Automation,BPMS,Workflow Management

# rindap-python

[![PyPI](https://img.shields.io/pypi/v/rindap.svg)](https://pypi.python.org/pypi/rindap)
[![PyPI](https://img.shields.io/pypi/pyversions/rindap.svg)](https://pypi.python.org/pypi/rindap)

## API description
The smarter way to automate business processes.
RESTful API for Business Process Management: Automate without the need for complex integrations or high-cost software suites.

Rindap helps companies to increase their efficiency by offering developers a low-code BPM platform with RESTful API to automate business processes based on the requirements set by the management.

* Easily automate repetitive tasks and asynchronous events without the need for intricate coding. Avoid chaos and inefficiencies.
* Set business rules and decision criteria effortlessly without being bounded by complicated structures and frameworks.
* Let developers leverage RESTful API to convey data and execute business decisions based on management requirements.
* Avoid complex integration projects or adopting a new software platform to meet your business process management needs.
* Focus on your core activities rather than lengthy project meetings about how to automate business processes.
* Automate business processes across any system, device and software platform without any restrictions.

### Utilize Drag & Drop interface
Utilize Drag & Drop interface to enjoy low-code workflow automation and benefit Rindap’s RESTful API to automate business processes without the need for any integration. Rindap’s easy-to-use drag & drop interface helps you to easily design your workflow as per your business cases’ requirements.

Once you assembled the big picture, leverage Rindap’s RESTful API as a hub that transfers data and allocates tasks to workers. Send calls with your tasks’ attributes from any application or device that takes part in your workflow to Rindap’s API and carry on with the response you get back according to the workflow you set.

### The logic-based filters
You can automate workflows via logical filters that convey your attribute driven tasks to the right work queues which eventually matches the right worker. Yet the story does not simply end there!
The task’s attributes get updated according to the workers’ responses and the progress continues to the next filter designated in the workflow. Hence you will be able to carry on the information within the workflow to the next steps and execute decisions automatically.

### Adapt to realistic requirements
The workflow is not all about filters matching queues to allocate tasks to workers. Create realistic workflows by utilizing various functions. Set your processes according to your needs, not limitations.
* Filter True/False: Let your workflow take alternative turns by setting different paths if certain conditions are met or unmet.
* Loop: You can set a task to be on the loop until it is done.
* Rate limit: Control task consumption by setting limits.
* Delay: If some time is required before proceeding to the next step you can set delays.
* Fork: You can set parallel workflows that run simultaneously by forking.

### Metrics for continuous improvement
Rindap allows you to automate and get insights from your business processes as it aggregates all the task-related data. By identifying areas that you are good at or need to improve, you can easily fine-tune your processes.

## Documentation

The documentation for the Rindap API can be found [here][apidocs].

The Python library documentation can be found [here][libdocs].

### Supported Python Versions

This library supports the following Python implementations:

* Python 2.7
* Python 3.4
* Python 3.5
* Python 3.6
* Python 3.7
* Python 3.8

## Installation

Install from PyPi using [pip](http://www.pip-installer.org/en/latest/), a
package manager for Python.

    pip install rindap

Don't have pip installed? Try installing it, by running this from the command
line:

    $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or, you can [download the source code
(ZIP)](https://github.com/rindap/rindap-python-sdk/zipball/master "rindap-python-sdk
source code") for `rindap-python-sdk`, and then run:

    python setup.py install

You may need to run the above commands with `sudo`.

## Getting Started

Getting started with the Rindap API couldn't be easier. Create a
`Client` and you're ready to go.

### API Credentials

The `Rindap` needs your Rindap credentials. You can either pass these
directly to the constructor (see the code below) or via environment variables.

```python
from rindap.rest import Client

account = "ACXXXXXXXXXXXXXXXXX"
token = "YYYYYYYYYYYYYYYYYY"
client = Client(account, token)
```

Alternately, a `Client` constructor without these parameters will
look for `ACCOUNT_SID` and `AUTH_TOKEN` variables inside the
current environment.

We suggest storing your credentials as environment variables. Why? You'll never
have to worry about committing your credentials and accidentally posting them
somewhere public.


```python
from rindap.rest import Client
client = Client()
```

### Create a Workspace

```python
from rindap.rest import Client

account = "ACXXXXXXXXXXXXXXXXX"
token = "YYYYYYYYYYYYYYYYYY"
client = Client(account, token)

client.rindap.workspaces.create('a friendly name')
```

### Handling Exceptions

```python
from rindap.rest import Client
from rindap.base.exceptions import RindapRestException

account = "ACXXXXXXXXXXXXXXXXX"
token = "YYYYYYYYYYYYYYYYYY"
client = Client(account, token)

try:
    client.rindap.workspaces.get("WSd8d1e9c8c0384fe7abd63c0abafd1966").delete()
except RindapRestException as e:
    print(e)
```

### Docker Image

The `Dockerfile` present in this repository and its respective `rindap/rindap-python-sdk` Docker image are currently used by Rindap for testing purposes only.

### Getting help

If you need help installing or using the library, please check the [Rindap Support Help Center](https://rindap.com/support/en/).

If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!

[apidocs]: https://rindap.com/docs/
[libdocs]: https://rindap.com/docs/