Skip to main content

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.

Latest Version on PyPI Supported Python Version License CI Status

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.

Metadata

Release files for valkyrja-sindri 26.0.25

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for valkyrja-sindri 26.0.25
File Size Uploaded Provenance
valkyrja_sindri-26.0.25.tar.gz 50.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for valkyrja-sindri 26.0.25
File Interpreter ABI Platform
valkyrja_sindri-26.0.25-py3-none-any.whl Python 3 none any Details

Total release size: 55.2 kB

Release files / valkyrja_sindri-26.0.25.tar.gz

Download URL valkyrja_sindri-26.0.25.tar.gz
Size 50.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ce0acbc3dbfc59441b6b7a09434068f88e0a1619aeac4d069aeaa7ec61a92acc
BLAKE2b-256 checksum
How to use checksums
c6e990cf9a8dd34d760115b3fddb0972731f5b0c478cfeb5f714bb3a4292c51a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.25-py3-none-any.whl

Download URL valkyrja_sindri-26.0.25-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d79c8eb5d3c1918901a712ab665a0d2dd56b8b8e7ef30a35d2ba8ba57ba2187c
BLAKE2b-256 checksum
How to use checksums
38c1c928273b55cb11025dd9a5f37c1abb32fa517b010bd7da17ab885edcb8d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}

Security for valkyrja-sindri 26.0.25

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page