The Ascender Framework is a sophisticated and structured FastAPI-based framework, inspired by the principles of NestJS. It stands out for its modular and organized architecture, offering developers a streamlined and efficient way to build web applications
Project description
Ascender Framework - The modern, powerful API framework
Ascender Framework is a powerful, FastAPI-based framework designed to streamline the development of web applications.
Inspired by NestJS and some parts of other DI frameworks, it combines the simplicity of Python with the robust architecture of modern web frameworks.
Documentation
Get started! Learn the basics of framework and explore more advanced features and topics.
- Getting Started
- Architecture
- Controllers
- Validators
- Dependency Injection
- CLI Engine
- CLI Command Types
- Creating CLI Commands
- CLI Registration
CLI Usage
-
Global CLI (tooling):
- ascender [command]
- Examples:
- ascender new --name --orm-mode <tortoise|sqlalchemy>
- ascender run serve
-
Local project CLI wrapper:
- ascender run [command]
- Wraps project entrypoints and CLI scripts (shorter than invoking Python directly)
- Examples:
- ascender run serve
- ascender run tests
- ascender run tests init # scaffolds basic tests and pytest.ini (planned)
Getting Started
Install Ascender Framework (with its CLI) globally:
pip install ascender-framework
Initialize a project workspace:
ascender new --name <project-name> --orm-mode <tortoise|sqlalchemy>
Run the development server (global):
cd <project-name>
ascender run serve
Project Structure
- src/bootstrap.py: Framework and server configuration
- src/controllers/: Your controllers (e.g., main controller)
- start.py: Initialization/bootstrap entrypoint for the application
Testing
- Unit tests live under src/tests/
- Run tests via the local wrapper:
ascender run tests run
- Initialize a basic testing setup (to be implemented):
ascender run tests init
- src/tests basic tests and pytest.ini will be generated
Contributing
Contributions are welcome! Please read through our contributing guidelines.
Need help?
If you need any help, want to report a bug, improve documentation or contribute, please open an issue in this repository after reading the guidelines.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ascender_framework-2.0.3.tar.gz.
File metadata
- Download URL: ascender_framework-2.0.3.tar.gz
- Upload date:
- Size: 215.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.13 Linux/6.16.6-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
180c22a8aee45068932338ffcbde5c42dc9f733fc1af84a5a5f56a4ae59acf02
|
|
| MD5 |
27c6977ec39a457da8ccbc2f81042d66
|
|
| BLAKE2b-256 |
4bfda772d372a7be4c376e7ec47dc4c8a667b11725de42d9b462314ede7ddaad
|
File details
Details for the file ascender_framework-2.0.3-py3-none-any.whl.
File metadata
- Download URL: ascender_framework-2.0.3-py3-none-any.whl
- Upload date:
- Size: 212.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.13 Linux/6.16.6-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0ee50ba4aedb5a9c27234902fa93dec4632bc43d64b1e3e2fdcf79b3bfdf21f
|
|
| MD5 |
0173930dc39dcf3b837ef8370a765009
|
|
| BLAKE2b-256 |
dec20b2e47155a838358005f417572970c684b62175ced6601a47dce062653fc
|