Metadata-Version: 2.4
Name: abstra
Version: 3.22.0
Summary: Abstra Lib
Home-page: https://github.com/abstra-app/abstra-lib
License: MIT
Requires-Python: >=3.9, <4
Description-Content-Type: text/markdown
Requires-Dist: colorama>=0.4.6
Requires-Dist: colour>=0.1.5
Requires-Dist: fire>=0.5.0
Requires-Dist: Flask>=2.2.2
Requires-Dist: Flask-Cors>=4.0.0
Requires-Dist: flask-sock>=0.6.0
Requires-Dist: jedi>=0.19.0
Requires-Dist: multipart>=0.2.4
Requires-Dist: progress>=1.6
Requires-Dist: pyjwt[crypto]>=2.8.0
Requires-Dist: requests>=2.31.0
Requires-Dist: websockets>=15.0.1
Requires-Dist: simplejson>=3.19.1
Requires-Dist: validators>=0.20.0
Requires-Dist: Werkzeug>=2.2.3
Requires-Dist: setuptools
Requires-Dist: importlib_metadata
Requires-Dist: debugpy
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: unidecode>=1.3.7
Requires-Dist: pydantic>=2.6.4
Requires-Dist: packaging
Requires-Dist: sentry_sdk[flask]>=2.19.1
Requires-Dist: jsonpath-ng>=1.6.1
Requires-Dist: gunicorn==23.0.0
Requires-Dist: userpath
Requires-Dist: Pillow
Requires-Dist: pika==1.3.2
Requires-Dist: puremagic==1.28
Requires-Dist: psutil
Requires-Dist: pypdfium2==4.30.0
Requires-Dist: watchdog==4.0.2
Requires-Dist: mail-parser==4.1.2
Requires-Dist: certifi
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

[![pypi](https://img.shields.io/pypi/v/abstra.svg)](https://pypi.python.org/pypi/abstra)
[![PyPI Downloads](https://img.shields.io/pypi/dm/abstra.svg)](https://pypi.org/project/abstra/)

# ✨ Abstra ✨

Abstra is a simple way to build business processes in Python, with no engineering overhead and complexity.

It's a powerful backoffice engine with:

- drag'n drop workflow builder
- dynamic forms
- serveless endpoints
- script schedulers
- zero-config authentication
- one-click scalable deploy
- cloud managed database
- plug'n play api integrations
- automatic audit logging
- access control

and much more! ⚡️

## 🚦 Getting started

[![](./images/getting-started.png)](https://www.youtube.com/watch?v=ErBK49XO_mE&list=PLFPJgKA6K86ZdAHZ3aPWsrZHX_7jJ3Cc9)

This package is compatible with Python >= 3.8

To install, run the following:

```
pip install abstra
```

Run the CLI server in the directory where you'd like to create your Abstra project. This can be any folder:

```
abstra editor ./your-project-directory
```

## 🧩 Workflow builder for Python


Use Workflows to automate processes that require a mix of manual steps and integrations between systems.   

A Workflow is made up of Python-coded steps, which are then assembled visually in the editor. All steps share an environment, and can share variables and functions.


![](./images/workflows.png)

## 📝 Scriptable forms

Forms are Python scripts that allow for user interaction. They are the quickest way to build interactive UIs on the web.

With a Form, you can collect user input and use Python code to work with that information however you need. Some examples are making calculations with specialized libs, generating documents and graphs, and sending it to other systems via Requests.

![](./images/forms.png)

## 🛟 Useful links

[Website](https://abstra.io) | [Docs](https://abstra.io/docs) | [Cloud](https://cloud.abstra.io) | [Youtube](https://www.youtube.com/playlist?list=PLFPJgKA6K86ZdAHZ3aPWsrZHX_7jJ3Cc9) | [Privacy]([./PRIVACY.md](https://www.abstra.io/privacy-policy))
