MIT License

项目介绍

BESSER-PEARL/BESSER 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 MIT License 许可证,目前获得 183 个 Star、40 次 Fork。

仓库全名
BESSER-PEARL/BESSER
开源许可证
MIT License
Star 数
183
Fork 数
40
未关闭 Issue
48

README 摘要

Draw a model. Get a working app. BESSER is an open-source, model-driven low-code platform in Python. Design your app as a UML model — in the browser or in Python — and generate the code: FastAPI backends, React frontends, Django, Spring Boot, Flutter, databases, agents and more. Try it in your browser · Docs · Examples · Built with BESSER BESSER is a low-modeling low-code open-source platform. BESSER (Building…

完整内容见 GitHub 原始 README 或本页 。

常见问题

BESSER 用什么语言开发?

主要使用 Python 编写,采用 MIT License 许可证,目前有 183 个 Star。

BESSER 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 BESSER 的源码?

可以直接克隆仓库:git clone https://github.com/BESSER-PEARL/BESSER.git,默认分支为 master;安装与运行步骤见仓库 README。

BESSER 最近还在维护吗?

仓库最近一次更新为 7月22日,当前有 48 个未关闭 Issue;Star 数为 183,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A Python-based AI-enhanced low-code open-source platform for smart software development

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

ANTLR
Dockerfile
HTML
Java
Jinja
Python
Shell
TypeScript

Release

README

BESSER

Draw a model. Get a working app.

BESSER is an open-source, model-driven low-code platform in Python.
Design your app as a UML model — in the browser or in Python — and generate the code:
FastAPI backends, React frontends, Django, Spring Boot, Flutter, databases, agents and more.

Try it in your browser · Docs · Examples · Built with BESSER

PyPI version PyPI - Downloads Python License: MIT 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!

Draw a model in the BESSER editor, generate a web app, and run it

Quickstart

No install: open the BESSER Web Modeling Editor, draw a class diagram (or describe your app and let the AI assistant draw it), and click Generate.

In Python:

pip install besser
from besser.BUML.metamodel.structural import DomainModel, Class, Property, StringType, IntegerType
from besser.generators.backend import BackendGenerator

book = Class(name="Book", attributes={Property(name="title", type=StringType),
                                      Property(name="pages", type=IntegerType)})
model = DomainModel(name="Library", types={book})

BackendGenerator(model, output_dir="library_api").generate()   # FastAPI + SQLAlchemy + Pydantic
python library_api/main_api.py      # then open http://localhost:8000/docs

That’s a working REST API with a database, CRUD endpoints and validation, generated from five lines of model.

With your AI coding agent (Claude Code, Cursor, Copilot, Cline, …): install the BESSER Skills and just ask, e.g. “model a library with books and authors in BESSER and generate a FastAPI backend”. The agent builds a correct B-UML model and runs the right generator for you.

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

What you can generate

You want… BESSER generates
A full-stack web app React frontend + FastAPI backend + database (WebAppGenerator)
A backend / REST API FastAPI, SQLAlchemy, Pydantic · Spring Boot · Django · Supabase
A database SQL DDL (PostgreSQL, MySQL, SQLite, …) · SQLAlchemy models
A mobile app Flutter
Plain code & schemas Python classes · Java classes · JSON Schema · RDF
Agents & chatbots BESSER Agentic Framework agents from agent diagrams
ML & quantum PyTorch · TensorFlow · Qiskit
Deployment Docker Compose · Terraform

See the full list of generators.

Why model first?

  • Deterministic. The same model always produces the same code. No prompt roulette for the parts that should be boring.
  • AI where templates stop. The experimental Spec-Driven Agent starts from the generated scaffold, lets an LLM add what the templates don’t cover (auth, Docker, tests, other stacks), then validates the result. Where a free tier is configured, it runs without an API key.
  • The model stays the source of truth. Change the model, regenerate, keep going. Class, object, state machine, agent, GUI, BPMN, neural network and quantum models all live in one project.

Use BESSER from your AI coding agent

BESSER Skills and UML Drawing package BESSER as Agent Skills for Claude Code, Cursor, Copilot, Cline and others:

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

Contributing

Contributions are welcome: new generators, metamodels, bug fixes and docs. Start with CONTRIBUTING.md (local setup, tests) and the Contributor Guide. Look for good first issue to get started.

If BESSER is useful to you, a ⭐ helps others find it.

About

BESSER is built on B-UML, our Python-based interpretation of a “Universal Modeling Language”, heavily inspired by UML.

评论

暂无评论