Skip to main content

BESSER

Project description

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!

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.

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

besser-7.1.7.tar.gz (473.1 kB view details)

Uploaded Source

Built Distribution

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

besser-7.1.7-py3-none-any.whl (569.8 kB view details)

Uploaded Python 3

File details

Details for the file besser-7.1.7.tar.gz.

File metadata

  • Download URL: besser-7.1.7.tar.gz
  • Upload date:
  • Size: 473.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for besser-7.1.7.tar.gz
Algorithm Hash digest
SHA256 ff1204e2d3a341a8c6a7120056e1500b67f5eee22f0c59a22f991331b8ab6a82
MD5 70400df5c595d170ae203634bb0db60b
BLAKE2b-256 8ecf4aacfebbf7971a11477f58cad6df8b40744c3006d3dc2aba8c11e33597d8

See more details on using hashes here.

File details

Details for the file besser-7.1.7-py3-none-any.whl.

File metadata

  • Download URL: besser-7.1.7-py3-none-any.whl
  • Upload date:
  • Size: 569.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for besser-7.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fbb0c88b73eb8d94b600fc6313df2059849dd752915f41a7a88eb53ce4de741f
MD5 b29f4a00e1a25ceb86d3fe0cf740b10d
BLAKE2b-256 8d8d10dfc9c7ab5da3b737ef7847533183cac99413c2c6048e22e36f3ec8a05e

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