Metadata-Version: 2.5
Name: fastsprout
Version: 0.1.1
Summary: FastSprout - Python backend framework that grows from a seed. Modular monolith first. Async-native. Built on FastAPI.
Project-URL: Homepage, https://fastsprout.dev
Project-URL: Repository, https://gitlab.3dcra.eu/opensource/fastsprout/fastsprout
Project-URL: Issues, https://gitlab.3dcra.eu/opensource/fastsprout/fastsprout/issues
Author-email: Illia Bahlai <illia@bahlai.xyz>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: async,backend,fastsprout,framework,modular-monolith,monolith,pydantic
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Requires-Python: <3.15,>=3.12
Requires-Dist: pydantic>=2.13.5
Requires-Dist: typing-extensions>=4.14
Provides-Extra: data-sql
Requires-Dist: sqlalchemy; extra == 'data-sql'
Requires-Dist: sqlmodel==0.0.42; extra == 'data-sql'
Provides-Extra: events
Requires-Dist: bubus>=1.5.6; extra == 'events'
Requires-Dist: croniter>=6.2.4; extra == 'events'
Provides-Extra: standard
Requires-Dist: bubus>=1.5.6; extra == 'standard'
Requires-Dist: croniter>=6.2.4; extra == 'standard'
Requires-Dist: sqlalchemy; extra == 'standard'
Requires-Dist: sqlmodel==0.0.42; extra == 'standard'
Description-Content-Type: text/markdown

# FastSprout

<img src="assets/fastsprout-mark.svg" alt="FastSprout logo" width="100" height="100">

**Typed building blocks for Python backends.**

[![Pipeline][pipeline-badge]][pipeline-link]
[![Coverage][coverage-badge]][pipeline-link]
[![Version][version-badge]][project-metadata]
[![Python][python-badge]][project-metadata]
[![Typing][typing-badge]][typed-marker]
[![License][license-badge]][license-file]

FastSprout provides typed building blocks for Python backends: schemas, fields,
actions, DTO visibility, data routing, and events. Start with the core layer and
add the data or events extras when your application needs them.

[Documentation](https://fastsprout.dev/) ·
[Getting started](https://fastsprout.dev/latest/getting-started/) ·
[Runnable examples](https://fastsprout.dev/latest/learn/examples/) ·
[API reference](https://fastsprout.dev/latest/api/) ·
[Source](https://github.com/FastSprout/fastsprout)

## Install

FastSprout supports Python 3.12-3.14.

```bash
pip install "fastsprout[standard]"
```

## Explore

- **Core:** typed schemas, fields, actions, and DTO visibility.
- **Data:** routing entities to persistence backends, streams, and joins.
- **Events:** in-memory publishing and subscription through `EventBus`.

The [features guide](https://fastsprout.dev/latest/features/) describes each
layer. The [API reference](https://fastsprout.dev/latest/api/) is generated from
the Python source in this repository.

## Security and license

Report vulnerabilities privately as described in the
[security policy](https://fastsprout.dev/latest/security/). FastSprout is licensed
under Apache-2.0; see [LICENSE](https://github.com/FastSprout/fastsprout/blob/development/LICENSE).

[pipeline-badge]: https://gitlab.3dcra.eu/opensource/fastsprout/fastsprout/badges/development/pipeline.svg
[coverage-badge]: https://gitlab.3dcra.eu/opensource/fastsprout/fastsprout/badges/development/coverage.svg
[pipeline-link]: https://gitlab.3dcra.eu/opensource/fastsprout/fastsprout/-/pipelines?ref=development
[version-badge]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fgitlab.3dcra.eu%2Fopensource%2Ffastsprout%2Ffastsprout%2F-%2Fraw%2Fdevelopment%2Fpyproject.toml&query=%24.project.version&label=version
[python-badge]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fgitlab.3dcra.eu%2Fopensource%2Ffastsprout%2Ffastsprout%2F-%2Fraw%2Fdevelopment%2Fpyproject.toml&query=%24.project.requires-python&label=python
[typing-badge]: https://img.shields.io/badge/typing-typed-blue
[license-badge]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fgitlab.3dcra.eu%2Fopensource%2Ffastsprout%2Ffastsprout%2F-%2Fraw%2Fdevelopment%2Fpyproject.toml&query=%24.project.license&label=license
[project-metadata]: https://gitlab.3dcra.eu/opensource/fastsprout/fastsprout/-/blob/development/pyproject.toml
[typed-marker]: https://github.com/FastSprout/fastsprout/blob/development/src/fastsprout/py.typed
[license-file]: https://github.com/FastSprout/fastsprout/blob/development/LICENSE
