Skip to main content
BESSER platform

Python PyPI version PyPI - Downloads Documentation Status PyPI - License LinkedIn GitHub Repo stars

BESSER is a low-modeling low-code open-source platform. BESSER (Building bEtter Smart Software fastER) is funded thanks to an FNR Pearl grant led by the Luxembourg Institute of Science and Technology with the participation of the Snt/University of Luxembourg and open to all your contributions!

The BESSER low-code platform is built on top of B-UML our Python-based personal interpretation of a "Universal Modeling Language" (yes, heavily inspired and a simplified version of the better known UML, the Unified Modeling Language). With B-UML you can specify your software application and then use any of the code-generators available to translate your model into executable code suitable for various applications, such as Django web apps or database structures compatible with SQLAlchemy.

This repository contains the backend foundation for the ecosystem: the metamodel, code generators, notations, utilities, and services that drive the web modeling editor and the Python SDK. The editor's frontend is maintained in the companion BESSER-Web-Modeling-Editor repository and is included here only as a submodule (at besser/utilities/web_modeling_editor/frontend) for local deployments.

Check out the BESSER Web Modeling Editor online BESSER Web Modeling Editor Demo

Check out the official documentation

Basic Installation

BESSER works with Python 3.10+. We recommend creating a virtual environment (e.g. venv, conda).

The latest stable version of BESSER is available in the Python Package Index (PyPi) and can be installed using

$ pip install besser

BESSER can be used with any of the popular IDEs for Python development such as VScode, PyCharm, Sublime Text, etc.

Running BESSER Locally

If you are interested in developing new code generators or designing BESSER extensions, you can download and modify the full codebase, including tests and examples.

Step 1: Clone the repository

$ git clone https://github.com/BESSER-PEARL/BESSER.git
$ cd BESSER

Step 2: Create a virtual environment

Run the setup script to create a virtual environment (if not already created), install the requirements, and configure the PYTHONPATH. This ensures compatibility with IDEs (like VSCode) that may not automatically set the PYTHONPATH for recognizing besser as an importable module.

$ python -m venv venv
$ venv/Scripts/activate
$ pip install -r requirements.txt

Step 3: Run an example

To verify the setup, you can run a basic example.

$ cd tests/BUML/metamodel/structural/library
$ python library.py

Examples

If you want to try examples, check out the BESSER-examples repository!

AI Agent Skills

Working with BESSER through an AI coding agent (Claude Code, Cursor, Cline, Copilot, …)? Two companion repositories package BESSER as Agent Skills, so your agent gets the right knowledge on demand instead of loading the whole codebase into context.

BESSER Skills covers BESSER's metamodel, generators, and troubleshooting, so your agent builds correct, validated B-UML models — and viewable diagrams — without guesswork.

npx skills add BESSER-PEARL/besser-skills --all

UML Drawing is the diagrams-for-docs front door to BESSER: it turns a description or existing code into a correct UML class diagram, rendered as a real SVG/PNG straight into your README or docs.

npx skills add BESSER-PEARL/uml-drawing --all

Both follow the open Agent Skills standard, so they work with any spec-compatible coding agent.

Contributing

We encourage contributions from the community and any comment is welcome!

If you are interested in contributing to this project, please read the CONTRIBUTING.md file. You can also explore our step-by-step Contributor Guide and the dedicated AI Assistant Guide to understand the workflows and expectations before opening a pull request.

How to cite BESSER

This repository has the CITATION.cff file, which activates the "Cite this repository" button in the About section (right side of the repository). The citation is in APA and BibTex format.

Code of Conduct

At BESSER, our commitment is centered on establishing and maintaining development environments that are welcoming, inclusive, safe and free from all forms of harassment. All participants are expected to voluntarily respect and support our Code of Conduct.

Governance

The development of this project follows the governance rules described in the GOVERNANCE.md document.

Contact

You can reach us at: info@besser-pearl.org

Website: https://besser-pearl.org

License

This project is licensed under the MIT license.

Metadata

Release files for besser 7.17.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for besser 7.17.2
File Size Uploaded
besser-7.17.2.tar.gz 743.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for besser 7.17.2
File Interpreter ABI Platform
besser-7.17.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / besser-7.17.2.tar.gz

Download URL besser-7.17.2.tar.gz
Size 743.1 kB
Tags Source
SHA-256 checksum
How to use checksums
695c596a542a2bf38d307cdd335b4b3cc2ff5cae044820a7bb3e8a322b769dc5
BLAKE2b-256 checksum
How to use checksums
847520ac7381e9cf5a4535c2ec6a2fbc92b64be17d271f0fc2ecd389e21a230f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / besser-7.17.2-py3-none-any.whl

Download URL besser-7.17.2-py3-none-any.whl
Size 880.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2f8c502478f841c2b5862ac2c42253d2589ae0479984326a9b2f306c1f1d06c
BLAKE2b-256 checksum
How to use checksums
1e367656c5fd1591315f2f5f42dd1e87d953fbf71b610a574e38e97a2b2f3053
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

8.0.2

2 release files

8.0.1

2 release files

8.0.0

2 release files

7.18.0

2 release files

This release

7.17.2 This release

2 release files

7.17.1

2 release files

7.17.0

2 release files

7.16.1

2 release files

7.16.0

2 release files

7.13.0

2 release files

7.12.0

2 release files

7.9.1

2 release files

7.9.0

2 release files

7.8.3

2 release files

7.8.2

2 release files

7.8.1

2 release files

7.8.0

2 release files

7.7.1

2 release files

7.7.0

2 release files

7.6.0

2 release files

7.5.1

2 release files

7.5.0

2 release files

7.4.1

2 release files

7.4.0

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.7

2 release files

7.1.6

2 release files

7.1.5

2 release files

7.1.4

2 release files

7.1.3

2 release files

7.1.2

2 release files

7.1.1

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.5.2

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.6

2 release files

6.4.5

2 release files

6.4.4

2 release files

6.4.3

2 release files

6.4.2

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.2

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.0

2 release files

5.4.1

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.0.0

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page