Metadata-Version: 2.4
Name: fastsprout-core
Version: 1.0.0
Summary: FastSprout - Core library for FastSprout framework.
Project-URL: Homepage, https://fastsprout.dev
Project-URL: Repository, https://forgejo.3dcra.eu/fastsprout/fastsprout-core
Project-URL: Issues, https://forgejo.3dcra.eu/fastsprout/fastsprout-core/issues
Author-email: Illia Bahlai <bahlai.illia@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: async,backend,fastsprout,framework,modular-monolith,monolith,pydantic
Classifier: Development Status :: 5 - Production/Stable
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.12
Requires-Dist: pydantic>=2.13.4
Description-Content-Type: text/markdown

# fastsprout-core

[![PyPI version](https://img.shields.io/pypi/v/fastsprout-core.svg)](https://pypi.org/project/fastsprout-core/)
[![Python versions](https://img.shields.io/pypi/pyversions/fastsprout-core.svg)](https://pypi.org/project/fastsprout-core/)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![PyPI downloads](https://img.shields.io/pypi/dm/fastsprout-core.svg)](https://pypi.org/project/fastsprout-core/)
[![Typed](https://img.shields.io/pypi/types/fastsprout-core.svg)](https://pypi.org/project/fastsprout-core/)
[![CI](https://forgejo.3dcra.eu/fastsprout/fastsprout-core/actions/workflows/build-and-publish.yaml/badge.svg)](https://forgejo.3dcra.eu/fastsprout/fastsprout-core/actions)

Core contracts for the [FastSprout](https://fastsprout.dev) framework.

This is the foundation package — it defines the base protocols, types, and exceptions that every other `fastsprout-*` package builds on. It has no dependencies on other framework packages.

## What's inside

- `BaseAction` — protocol for actions (the atomic unit of work in FastSprout)
- `BaseSchema` — base Pydantic model with snake_case ↔ camelCase aliasing
- `IDType`, `IdentificatorType`, `PublicIDType` — UUID v7 identifier types
- `FastSproutError` — base exception class

## Installation

```bash
pip install fastsprout-core
```

You usually don't install this directly — it comes as a dependency of `fastsprout` and other `fastsprout-*` packages.

## Status

**1.0.0** — stable. Core contracts are committed API; breaking changes follow SemVer.

## Links

- Framework: [fastsprout.dev](https://fastsprout.dev)
- Repository: [forgejo.3dcra.eu/fastsprout](https://forgejo.3dcra.eu/fastsprout)
- PyPI: [pypi.org/project/fastsprout-core](https://pypi.org/project/fastsprout-core/)

## License

Apache License 2.0 — see [LICENSE](LICENSE)
