Skip to main content

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.

Official Website

Documentation

Get started! Learn the basics of framework and explore more advanced features and topics.

  • Getting Started: docs/introduction/installation.md
  • Architecture: docs/introduction/overview.md
  • Controllers: docs/controllers/overview.md
  • Validators: docs/essentials/data-validation.md
  • Dependency Injection: docs/di/overview.md
  • CLI Engine: docs/cli/overview.md
  • CLI Command Types: docs/cli/command-types.md
  • Creating CLI Commands: docs/cli/creating-commands.md
  • CLI Registration: docs/cli/registration.md

CLI Usage

  • Global CLI (tooling):

    • ascender [command]
    • Examples:
      • ascender new --name --orm-mode <tortoise|sqlalchemy>
      • ascender 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 serve

Or via local wrapper:

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
  • Initialize a basic testing setup (to be implemented):
    • ascender run tests init
      • Generates src/tests basic tests and pytest.ini

Contributing

Contributions are welcome! Please read through our contributing guidelines.

  • Guidelines: docs/introduction/next-steps.md

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 (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

ascender_framework-2.0.0.tar.gz (212.3 kB view details)

Uploaded Source

Built Distribution

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

ascender_framework-2.0.0-py3-none-any.whl (207.0 kB view details)

Uploaded Python 3

File details

Details for the file ascender_framework-2.0.0.tar.gz.

File metadata

  • Download URL: ascender_framework-2.0.0.tar.gz
  • Upload date:
  • Size: 212.3 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

Hashes for ascender_framework-2.0.0.tar.gz
Algorithm Hash digest
SHA256 2ca2b04761af476ed43fcf395460744f32c71d16c7c09a862233f594653016c4
MD5 c19680a2b14c6d5a30e582bc2bc88442
BLAKE2b-256 57c8908248a7b0402567b8b9347b59723b1756d531724381e7c979d55fb80963

See more details on using hashes here.

File details

Details for the file ascender_framework-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: ascender_framework-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 207.0 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

Hashes for ascender_framework-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 791b252d7316689dcfc42c22b0d4b2f032b170f268b9b8dd56c7f8abdbb8ebc0
MD5 6b13093f73ae587cd144de0eecb957f0
BLAKE2b-256 278390339f05a0a94be5a4edb3d331d16a9c76be49fcac83ec62ed022732a8b1

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