besser
A Python-based low-modeling low-code platform for smart and AI-enhanced software
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.4%) to scientific vocabulary
Keywords
Repository
A Python-based low-modeling low-code platform for smart and AI-enhanced software
Basic Info
- Host: GitHub
- Owner: BESSER-PEARL
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://besser.readthedocs.io/en/latest/
- Size: 96.7 MB
Statistics
- Stars: 106
- Watchers: 9
- Forks: 20
- Open Issues: 38
- Releases: 29
Topics
Metadata Files
README.md
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.
Check out the BESSER Web Modeling Editor online

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 setup_environment.py
Note: Each time you start your IDE, run the setup_environment.py script to ensure the environment is properly configured.
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.
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.
Owner
- Name: BESSER-PEARL
- Login: BESSER-PEARL
- Kind: organization
- Email: jordi.cabot@list.lu
- Location: Luxembourg
- Repositories: 1
- Profile: https://github.com/BESSER-PEARL
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: >-
BESSER: A Python-based low-modeling low-code platform for
smart software
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Iván
family-names: Alfonso
email: ivan.alfonso@list.lu
affiliation: Luxembourg Institute of Science and Technology
orcid: 'https://orcid.org/0000-0003-3940-0629'
- given-names: Armen
family-names: Sulejmani
affiliation: Luxembourg Institute of Science and Technology
email: armen.sulejmani@list.lu
orcid: 'https://orcid.org/0009-0005-9571-8780'
- given-names: Fitash
family-names: Ul-Haq
email: fitash.ulhaq@list.lu
affiliation: Luxembourg Institute of Science and Technology
orcid: 'https://orcid.org/0000-0003-2253-9085'
- email: aaron.conrardy@list.lu
given-names: Aaron
family-names: Conrardy
affiliation: Luxembourg Institute of Science and Technology
orcid: 'https://orcid.org/0000-0002-3030-4529'
- given-names: Jordi
family-names: Cabot
email: jordi.cabot@list.lu
affiliation: >-
Luxembourg Institute of Science and Technology -
University of Luxembourg
orcid: 'https://orcid.org/0000-0003-2418-2489'
- given-names: Atefeh
family-names: Nirumand
email: atefeh.nirumand@list.lu
orcid: 'https://orcid.org/0009-0003-7677-5013'
affiliation: Luxembourg Institute of Science and Technology
- given-names: Marcos
family-names: Gomez-Vazquez
email: marcos.gomez@list.lu
affiliation: Luxembourg Institute of Science and Technology
orcid: 'https://orcid.org/0000-0001-7176-0793'
- given-names: Nadia
family-names: Daoudi
email: nadia.daoudi@list.lu
affiliation: Luxembourg Institute of Science and Technology
orcid: 'https://orcid.org/0000-0002-1437-667X'
identifiers:
- type: doi
value: 10.1007/978-3-031-61007-3_16
description: The paper presenting the BESSER platform.
repository-code: 'https://github.com/BESSER-PEARL/BESSER'
url: 'https://besser.readthedocs.io/en/latest/'
abstract: >-
BESSER (Building bEtter Smart Software fastER) is a
low-modeling low-code open-source platform.
keywords:
- Low-code platform
- Model-driven engineering
- Language modeling
- Smart software
license: MIT
version: 1.3.1
date-released: '2024-08-22'
preferred-citation:
type: conference-paper
authors:
- family-names: "Alfonso"
given-names: "Iván"
orcid: "https://orcid.org/0000-0003-3940-0629"
- family-names: "Conrardy"
given-names: "Aaron"
orcid: 'https://orcid.org/0000-0002-3030-4529'
- family-names: "Sulejmani"
given-names: "Armen"
orcid: "https://orcid.org/0009-0005-9571-8780"
- family-names: "Nirumand"
given-names: "Atefeh"
orcid: "https://orcid.org/0009-0003-7677-5013"
- family-names: "Ul-Haq"
given-names: "Fitash"
orcid: "https://orcid.org/0000-0003-2253-9085"
- family-names: "Gomez-Vazquez"
given-names: "Marcos"
orcid: "https://orcid.org/0000-0001-7176-0793"
- family-names: "Sottet"
given-names: "Jean-Sébastien"
orcid: "https://orcid.org/0000-0002-3071-6371"
- family-names: "Cabot"
given-names: "Jordi"
orcid: "https://orcid.org/0000-0003-2418-2489"
title: "Building BESSER: An Open-Source Low-Code Platform"
conference:
name: "International Conference on Evaluation and Modeling Methods for Systems Analysis and Development, EMMSAD 2024, Limassol, Cyprus, June 3-4, 2024"
start: 203
end: 212
year: 2024
publisher:
name: Springer
url: "https://doi.org/10.1007/978-3-031-61007-3_16"
doi: "10.1007/978-3-031-61007-3_16"
GitHub Events
Total
- Create event: 52
- Release event: 13
- Issues event: 200
- Watch event: 51
- Delete event: 42
- Issue comment event: 134
- Push event: 509
- Pull request review event: 18
- Pull request review comment event: 15
- Pull request event: 126
- Fork event: 10
Last Year
- Create event: 52
- Release event: 13
- Issues event: 200
- Watch event: 51
- Delete event: 42
- Issue comment event: 134
- Push event: 509
- Pull request review event: 18
- Pull request review comment event: 15
- Pull request event: 126
- Fork event: 10
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 135
- Total pull requests: 114
- Average time to close issues: about 1 month
- Average time to close pull requests: 4 days
- Total issue authors: 19
- Total pull request authors: 10
- Average comments per issue: 0.68
- Average comments per pull request: 0.03
- Merged pull requests: 82
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 121
- Pull requests: 67
- Average time to close issues: 27 days
- Average time to close pull requests: 5 days
- Issue authors: 18
- Pull request authors: 9
- Average comments per issue: 0.69
- Average comments per pull request: 0.04
- Merged pull requests: 49
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jcabot (35)
- FitashUlHaq (19)
- gp2000 (18)
- Aran30 (9)
- ivan-alfonso (8)
- AtefehNirumandJazi (8)
- mgv99 (7)
- ArmenSl (6)
- ademait (6)
- EmidioStani (4)
- maurodlt (3)
- gwendal-jouneaux (3)
- DerAndereJohannes (2)
- jssottet (2)
- dandelion-lowcode (1)
Pull Request Authors
- ivan-alfonso (43)
- ArmenSl (23)
- FitashUlHaq (12)
- Aran30 (10)
- AtefehNirumandJazi (7)
- mgv99 (5)
- jcabot (5)
- Arm-Sl (5)
- DaoudiNadia (3)
- StephanEggermont (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 519 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 29
- Total maintainers: 1
pypi.org: besser
BESSER
- Documentation: https://besser.readthedocs.io/en/latest/
- License: MIT
-
Latest release: 4.2.0
published 4 months ago