Sindri
Sindri is the build tool and application creator for the Valkyrja Python framework.
Sindri scaffolds new Valkyrja applications, generates cache files for faster runtime performance, and handles build-time concerns across the Valkyrja ecosystem. Named after the dwarven smith in Norse mythology who forged Mjölnir and other divine artifacts, Sindri does for your Valkyrja app what his namesake did for the gods: crafts the tools and artifacts that make it all work faster and better.
Status
Warning: the Python port is in progress. This repository holds the package, the CI pipeline, and the release process. It does not hold the build tool yet. Install the package to reserve the dependency, and do not build on it yet.
PHP is the reference implementation, and every other port mirrors its structure,
its naming, and its tests. Read PORTS.md for the state of each
language.
What Sindri Does
The list below is what the port delivers. Each item exists in the PHP reference implementation today.
- Scaffolds new Valkyrja applications — bootstraps a fresh project with the correct structure, entry points, and configuration
- Generates cache files — produces the compiled container, event, and routing data that lets an application skip discovery work at runtime
- Builds artifacts — prepares deployable output for a production runtime
- Handles upgrades — assists with a migration between major Valkyrja versions
Sindri reads the provider tree with the standard library ast and inspect
modules. The framework itself carries no build dependency and no AST
dependency.
Installation
Sindri is a development dependency. It never ships to production.
uv add --dev valkyrja-sindri
pip install valkyrja-sindri
Python 3.14 or later is required.
Getting Started
Scaffolding a New Application
sindri new your-app-name
This creates a project directory with pre-wired HTTP and CLI entry points,
example controllers and commands, and a complete configuration scaffold. It is
equivalent to the valkyrja-starter-app-python template, driven
from the command line.
Building Cache Files
sindri cache
The cache removes discovery and configuration work from startup. The framework runs without it, so the cache is an optimization rather than a requirement.
Listing Available Commands
sindri list
Documentation
For framework-level questions about Valkyrja itself, see the Valkyrja framework repository.
Versioning and Release Process
Sindri follows semantic versioning with a major release every year, and support for each major version for 2 years from the date of release.
For more information see the Versioning and Release Process documentation.
Contributing
Sindri is an open-source, community-driven project. Thank you for your interest in helping develop, maintain, and release it.
See CONTRIBUTING.md for the submission process and
VOCABULARY.md for the terminology that Valkyrja uses.
Security Issues
If you discover a security vulnerability within Sindri, please follow the disclosure procedure.
License
Sindri is open-source software licensed under the
MIT license. See LICENSE.md.
Release files for valkyrja-sindri 26.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| valkyrja_sindri-26.0.13.tar.gz | 49.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| valkyrja_sindri-26.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.1 kB
Release files / valkyrja_sindri-26.0.13.tar.gz
| Download URL | valkyrja_sindri-26.0.13.tar.gz |
|---|---|
| Size | 49.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
013e6410dafe9cd2d7c21b5ce7ce0bbc99830e852c64f6f25822f8b249f8f04c
|
|
BLAKE2b-256 checksum How to use checksums |
a31bd14d9f67a9e285f5fdca7237fcb7255016d7edfa180010c90aa097298ef1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / valkyrja_sindri-26.0.13-py3-none-any.whl
| Download URL | valkyrja_sindri-26.0.13-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8fa68ba014c33e719c4901f2da847f9ce50ec30f06e19e2ac481f25815058414
|
|
BLAKE2b-256 checksum How to use checksums |
d8daf84128bc29fc52ad682d8b8e3c8840afafcef244acb9c241953378ca306c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|