Framework based on FastAPI.
Project description
UltraFramework
Description
Framework for FastAPI inspired by Java Spring.
- It exposes a base entity class SQLEntity that can be derived in order to define custom entities.
- It exposes a base repository class CRUDRepository[M] that can be derived in order to define custom repositories. The following public methods are available:
- save(entity: M): M
- find_all(limit: int | None, offset: int | None): Iterable[M]
- delete(entity: M): None
Example:
from sqlalchemy.orm import mapped_column, Mapped
from sqlalchemy.sql.elements import ColumnElement
from ultra_framework.entities.sql_entity import SQLEntity
from ultra_framework.repositories.crud_repository import CRUDRepository
class UserEntity(SQLEntity):
__tablename__ = "users"
__table_args__ = {"schema": "myschema"}
id: Mapped[int] = mapped_column(primary_key=True)
name: Mapped[str]
@classmethod
def by_id(cls, idx: int) -> ColumnElement[bool]:
return cls.id == idx
class UserRepository(CRUDRepository[UserEntity]):
entity_class = UserEntity
@CRUDRepository.auto_implement_one([UserEntity.by_id])
def find_by_id(self, idx: int) -> UserEntity: ...
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 ultra_framework-0.0.11.tar.gz.
File metadata
- Download URL: ultra_framework-0.0.11.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1bac42a3c16a4b66eee0fb2f4fce83ce5cb5fdea3fbfbf23650e19e3672cd65
|
|
| MD5 |
d45b6b5735c50185d28db549509b1234
|
|
| BLAKE2b-256 |
37fef22ed2bb627fc9d046c8066edc71afbf236c918fd99aa0a979321a2117e0
|
File details
Details for the file ultra_framework-0.0.11-py3-none-any.whl.
File metadata
- Download URL: ultra_framework-0.0.11-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d247797910d3eec1c46af15fe216694d41750a894f51bec37d1957558aaf733c
|
|
| MD5 |
5abeface0761e9ddf7a214e02bb882be
|
|
| BLAKE2b-256 |
7e30ff16344dbfc31bb3f85e6098b5b56224a981353bac4e5ec970b1e3329918
|