Skip to main content

Liberty Framework

Project description

⚠️ This repository is archived — no longer maintained

Liberty Framework has been rebuilt from the ground up as Liberty Next.

Liberty Next is a complete rewrite that fixes the structural limitations of this codebase: the heavy ly_* metadata-table model is replaced with a connector-driven architecture (SQL / API / DB connectors defined in TOML, schema discovered at runtime), giving major improvements in performance, simplicity, and the ability to add forms, reports and lookups without coordinated inserts across half a dozen tables. The frontend is bundled directly inside the project (no external shared libraries), the AI integration uses the Anthropic SDK, and OIDC/Keycloak is first-class.

➡️ New work happens at github.com/fblettner/liberty-next.

This repository is kept available for reference and for users still running the v1 applications (NOMASX-1, NOMAJDE, AIRFLOW) until migration tooling lands in Liberty Next. No new features, no bug fixes — please open issues on the new repository instead.


📖 Liberty Framework

A Scalable and Extensible FastAPI and React Framework for Business Applications

Announcements

  • Last Release:
  • Build React Frontend and Setup before adding to Python package
  • Get version from last tag to set the package version
  • Add a delay before building the docker image
  • Build docker image after publishing to PyPi
  • Sync with github release
  • Issue with focus on input lookup when opening search dialog
  • Implement call for custom rest api, add drop and create database for framework
  • Migrate Airflow to 3.0
  • Add new report for OUT Users/Roles
  • Upgrade Airflow to 3.1.6
  • Add operators for grid filtering
  • New visual builder for dialogs

🚀 Liberty Framework is a powerful, modular, and extensible FastAPI-based and React-based framework designed to streamline backend development for business applications. It provides database management, authentication, real-time socket communication, and more, making it easy to deploy and scale enterprise solutions.

Login = demo
Password = demo
Appplication = LIBERTY, NOMASX-1 and NOMAJDE

liberty


✨ Features

FastAPI-based – High-performance backend with asynchronous capabilities.
React-based – Beautiful and responsive frontend without any dependencies to components.
Database Management – SQLAlchemy, Alembic for migrations, and PostgreSQL support.
Real-Time Communication – Integrated WebSocket (Socket.IO) for live updates.
Authentication & Security – JWT authentication, encryption, and role-based access.
Automated Database Migrations – Alembic versioning for multiple databases.
Easy Installation & Deployment – Available as a Python package and Docker image.
Extensible – Plugin-based architecture to support future enhancements.

✨ Enterprise additional features

  • 🌐 Traefik: A powerful reverse proxy for routing and load balancing.
  • ⚙️ AirFlow: Automate and manage workflows effortlessly.
  • 🐘 pgAdmin: Manage your PostgreSQL database visually with ease.
  • 🔐 KeyCloak: OIDC Service for authentication
  • 📂 Gitea: Git Repository to manage dags, plugins, backup

📦 Installation

Requirements

A PostgreSQL 16 database is required. You can either:

  • Create a Docker image based on postgres:16, or
  • Install PostgreSQL 16 directly on your host system.

For easier setup and to ensure compatibility with future enterprise features, it is recommended to create a database with a user named liberty.

Option 1: Install via pip

pip install liberty-framework

🚀 Quick Start

After installation, you can start the framework with:

liberty-start

⚙️ URL

Installation URL

  • Setup: http://<your_host>:<your_port>/setup
  • Application: http://<your_host>:<your_port>
  • API Documentation: http://<your_host>:<your_port>/api
  • Swagger: http://<your_host>:<your_port>/api/test

Demo URL


📖 Documentation


🤝 Contributing

We welcome contributions! Here’s how you can help:

  1. Fork this repository.
  2. Clone your fork:
    git clone https://github.com/fblettner/liberty-framework.git
    
  3. Create a new branch for your feature:
    git checkout -b feature-name
    
  4. Commit your changes:
    git commit -m "Add new feature"
    
  5. Push to your fork and submit a Pull Request:
    git push origin feature-name
    
  6. Join discussions and help improve the framework!

💖 Sponsorship

If you find Liberty Framework useful and would like to support its development, consider sponsoring us. Your contributions help maintain the project, add new features, and improve the documentation. Every contribution, big or small, is greatly appreciated!

To sponsor, visit: GitHub Sponsors or reach out to us directly.


📜 License

Liberty Framework is open-source software licensed under the AGPL License.
Enterprise features require a license:

  • NOMASX-1: Security management, Segregation of duties and licenses compliancy
  • NOMAJDE JD-Edwards integration
  • Airflow Plugins: Automatic database backup, database synchronisation...
  • Liberty AI: Currently, OpenAI is set into the configuration, you have to use your own account without enterprise features license

📧 Contact & Support

If you have questions or need support:


⭐ If you find Liberty Framework useful, consider giving it a star on GitHub!

git clone https://github.com/fblettner/liberty-framework.git
cd liberty-framework

🚀 Let's build the future of business applications together! 🚀

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

liberty_framework-6.0.84.tar.gz (14.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

liberty_framework-6.0.84-py3-none-any.whl (14.1 MB view details)

Uploaded Python 3

File details

Details for the file liberty_framework-6.0.84.tar.gz.

File metadata

  • Download URL: liberty_framework-6.0.84.tar.gz
  • Upload date:
  • Size: 14.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for liberty_framework-6.0.84.tar.gz
Algorithm Hash digest
SHA256 3cf96ee8c574d693dd2e5d108a942c6f425f0a3466075c553597299a6328e2c9
MD5 26912c11bf80796f8084bf1a56c129b9
BLAKE2b-256 698ffb46fe01614c052695939cd60bba1af5f7b4771e34fa50dd2bc61fbbd90b

See more details on using hashes here.

File details

Details for the file liberty_framework-6.0.84-py3-none-any.whl.

File metadata

File hashes

Hashes for liberty_framework-6.0.84-py3-none-any.whl
Algorithm Hash digest
SHA256 515ed2742138f902fef5c8fd17b01e940325ea310bfb7f865b66328470498b63
MD5 a9deb0475190f8f979c41f378bb1b60a
BLAKE2b-256 d3eacb97f2884ebf3cef45d8ec9904d9393562e70e36618dbdf5081474dc2936

See more details on using hashes here.

Supported by

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