Metadata-Version: 2.5
Name: sandloom
Version: 0.7.0a1
Summary: Sandloom: configurable-monolith framework for SaaS (kernel, public SDK sandloom.sdk, CLI).
Project-URL: Homepage, https://sandloom.dev/
Project-URL: Documentation, https://sandloom.dev/docs/
Project-URL: Repository, https://github.com/Sandloom-dev/sandloom
Project-URL: Issues, https://github.com/Sandloom-dev/sandloom/issues
Project-URL: Changelog, https://github.com/Sandloom-dev/sandloom/blob/main/packages/sandloom/CHANGELOG.md
Author: Vasyl Cherniavskyi
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Classifier: Development Status :: 3 - Alpha
Requires-Python: >=3.11
Requires-Dist: aiohttp<3.15,>=3.14.5
Requires-Dist: alembic<2,>=1.20.0
Requires-Dist: argon2-cffi<26,>=25.1.0
Requires-Dist: asyncpg<0.33,>=0.32.0
Requires-Dist: certifi>=2026.10.19
Requires-Dist: cryptography<51,>=50.0.2
Requires-Dist: fastapi<0.137,>=0.136.3
Requires-Dist: gunicorn<27,>=26.2.0
Requires-Dist: httpx<0.29,>=0.28.1
Requires-Dist: jsonschema<5,>=4.26.0
Requires-Dist: msgpack<2,>=1.2.3
Requires-Dist: orjson<4,>=3.13.0
Requires-Dist: prometheus-client<0.27,>=0.26.0
Requires-Dist: psycopg2-binary<3,>=2.9.11
Requires-Dist: pydantic-settings<3,>=2.16.1
Requires-Dist: pydantic<2.15,>=2.14.1
Requires-Dist: pyjwt<3,>=2.15.1
Requires-Dist: python-dotenv<2,>=1.2.4
Requires-Dist: sqlalchemy[asyncio]<2.2,>=2.1.4
Requires-Dist: starlette<1.7,>=1.3.1
Requires-Dist: uvicorn-worker<0.5,>=0.4.0
Requires-Dist: uvicorn[standard]<1,>=0.54.0
Provides-Extra: celery
Requires-Dist: celery[redis]<6,>=5.6.3; extra == 'celery'
Provides-Extra: check
Requires-Dist: pyyaml<7,>=6.0.2; extra == 'check'
Provides-Extra: fast
Requires-Dist: jsonschema-rs<0.60,>=0.59.0; extra == 'fast'
Requires-Dist: redis[hiredis]<6,>=5.2.1; extra == 'fast'
Provides-Extra: redis
Requires-Dist: redis<6,>=5.2.1; extra == 'redis'
Provides-Extra: sentry
Requires-Dist: sentry-sdk<3,>=2.72.0; extra == 'sentry'
Provides-Extra: standard
Requires-Dist: celery[redis]<6,>=5.6.3; extra == 'standard'
Requires-Dist: redis<6,>=5.2.1; extra == 'standard'
Requires-Dist: sandloom-billing<0.8,>=0.7.0a1; extra == 'standard'
Requires-Dist: sandloom-identity<0.8,>=0.7.0a1; extra == 'standard'
Requires-Dist: sandloom-tenancy<0.8,>=0.7.0a1; extra == 'standard'
Provides-Extra: testing
Requires-Dist: pytest-asyncio<2,>=1.4.0; extra == 'testing'
Requires-Dist: pytest-xdist<4,>=3.8.0; extra == 'testing'
Requires-Dist: pytest<10,>=9.1.1; extra == 'testing'
Description-Content-Type: text/markdown

# sandloom

The Sandloom framework: the kernel (`sandloom.core`: dependency injection, the
core facade, the ORM base, eventing with the transactional outbox, the
infrastructure capability registry, the migrations runner), the public SDK
(`sandloom.sdk`; `sandloom docs <name>`), the framework DTOs, guards and authz
algebra (`sandloom.shared`), the `sandloom` CLI (`sandloom new`, `sandloom add`,
`sandloom migrate`, `sandloom test`, ...) and the composition root
`sandloom.main:app`, which composes every installed module package.

```bash
pip install "sandloom[standard]==0.7.0a1"   # + Redis, Celery, identity, tenancy, billing
```

Extras: `redis`, `celery`, `standard` (Redis + Celery + `sandloom-identity`,
`sandloom-tenancy`, `sandloom-billing`), `fast` (hiredis, jsonschema-rs),
`check` (PyYAML for `sandloom check`), `testing` (pytest, pytest-asyncio,
pytest-xdist for the test kit) and `sentry` (imported only when `SENTRY_DSN`
is set). The kernel names no module: modules are separate distributions that
register a `sandloom.modules` entry point.

Source of truth lives in the monorepo at `src/sandloom`; this package builds
the wheel and source archive through the shared build hook.

## Project links

[Source](https://github.com/Sandloom-dev/sandloom) ·
[Documentation](https://sandloom.dev/docs/) ·
[Changelog](https://github.com/Sandloom-dev/sandloom/blob/main/packages/sandloom/CHANGELOG.md)

This is the initial `0.7.0a1` alpha distribution. The canonical source
repository is private and awaiting transfer; the documentation website is
not deployed yet. The project links above are the planned public locations.

## License

Apache-2.0. Copyright 2026 Vasyl Cherniavskyi. See [LICENSE](LICENSE) and [NOTICE](NOTICE).
