Code Monkey home page Code Monkey logo

abstra-lib's Introduction

pypi PyPI Downloads

✨ 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

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 serve ./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.

📝 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.

🛟 Useful links

Website | Docs | Cloud | Youtube | Privacy

abstra-lib's People

Contributors

abstra-bot avatar felipereyel avatar lucasmachadorj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

abstra-lib's Issues

Abstra Cloud Deploy

Hello!

I have been trying to launch a project that I built with abstra (a great library, by the way) on the Abstra Cloud, but I cannot make it work. My cloud console does not even show that a deployment was attempted.

Here is the structure of my current folder:

--main_folder
      --.abstra
         --credentials
      --img
         --logo_icon.ico
      --questions
         --question0.yaml
         --question1.yaml
         --question2.yaml
         --question3.yaml
         --question4.yaml
         --question5.yaml
      --abstraignore
      --abstra.json
      --AIA.py
      --glossary.md
      --requirements.txt

The app works fine in my machine.

I followed the tutorial on YouTube, but following the same steps did not produce those results. Is there another way to deploy abstra forms (not using their own Cloud service)? I would appreciate it if anyone can help! I want to be able to deploy this, and I don't want to have to write the entire thing again on some other framework like Streamlit or Django.

it maybe unavailable

(.venv) > abstra serve


ABSTRA EDITOR RUNNING: http://localhost:3000/_editor


A new version of Abstra Editor is available. Latest version is 1.8.20, but you have 0.0.0.
Please run 'pip install abstra --upgrade' to update.


Error writing to abstra.json
 * Serving Flask app 'abstra_server.apps'
 * Debug mode: off
[2023-08-21 10:43:17,534] ERROR in app: Exception on /_editor/api/forms/ [GET]
Traceback (most recent call last):
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\flask\app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\flask\app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\flask_cors\extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\flask\app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\flask\app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\abstra_server\usage.py", line 32, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\abstra_server\apps\editor.py", line 55, in get_forms
    return [f.editor_dto for f in api.get_forms()]
                                  ^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\abstra_server\api\__init__.py", line 106, in get_forms
    abstra_json = self.__get_abstra_json()
                  ^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\AnyTask\Learn\.venv\Lib\site-packages\abstra_server\api\__init__.py", line 58, in __get_abstra_json
    self.abstra_json_path.read_text(encoding="utf-8")
  File "C:\Program Files\Python311\Lib\pathlib.py", line 1058, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'abstra.json'

Clarify license

I could not find any license and was wondering if this package is FOSS or has a proprietary license? I could not find it with hackerforms, so I thought, I'd ask here. Thanks.

how to use - noob

I love the functionality, but i can't find any basic tutorial and the ones present are very confusing. I can't figure out how to integrate this in my python code.

Check list widget does not becomes required

I was following the code example at the documentation:

af.Page().read_checklist(
    "",
    [
        {
            "label": "I have read and agree to the [terms of services](https://example.com)",
            "value": "agree",
        },
    ],
    required=True,
).run()

But I cannot make the input field become required like it happens with other widgets (e.g., read_cards). Even if I do not mark anything, the page goes to the next slide. Is the required condition on read_checklist broken?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.