Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

bazaar-contrib-schema

Register contrib-owned tables and migrations through SCHEMA before starting business services.

bcn contrib add schema --enable

The corresponding entry in config.toml:

version = "5"

[[contribs]]
package = "bazaar-contrib-schema~=0.3.0rc1"
[[contribs.enabled]]
entry = "schema"
from contextlib import asynccontextmanager

from bazaar_contrib_schema import SCHEMA, Migration, ModuleSchema
from bazaar_contrib_storage import ColumnDefinition, CreateTable, Table
from bazaar_core import Context, Contrib

MODULE = ModuleSchema(
    tables=("notes",),
    migrations=(
        Migration(
            version=1,
            name="create_notes",
            operations=(
                CreateTable(
                    table=Table(
                        name="notes",
                        columns=(ColumnDefinition(name="id", type="text"),),
                        primary_key=("id",),
                    )
                ),
            ),
        ),
    ),
)


@asynccontextmanager
async def lifespan(ctx: Context):
    async with ctx.accept(SCHEMA).register(MODULE):
        # Create and offer business services here, after migrations finish.
        yield


notes = Contrib(accepts=[SCHEMA], lifespan=lifespan)

Append consecutive migration versions starting at 1 and keep published migrations unchanged.

Metadata

Release files for bazaar-contrib-schema 0.3.0rc3

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

Source distribution (sdist)

Source distribution for bazaar-contrib-schema 0.3.0rc3
File Size Uploaded Provenance
bazaar_contrib_schema-0.3.0rc3.tar.gz 9.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for bazaar-contrib-schema 0.3.0rc3
File Interpreter ABI Platform
bazaar_contrib_schema-0.3.0rc3-py3-none-any.whl Python 3 none any Details

Total release size: 19.9 kB

Release files / bazaar_contrib_schema-0.3.0rc3.tar.gz

Download URL bazaar_contrib_schema-0.3.0rc3.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
90fd2d25a8a62bbec64f1195d318acac53b0fe37d4011d19d02412933e62ddad
BLAKE2b-256 checksum
How to use checksums
8acf71fa303fdf582a6d4a55691a45806150a78cec691edac7b927260746afcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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 / bazaar_contrib_schema-0.3.0rc3-py3-none-any.whl

Download URL bazaar_contrib_schema-0.3.0rc3-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cea4c50916888aa058514d59483e89339966ad106d97444f410e150e77adc5b4
BLAKE2b-256 checksum
How to use checksums
34bd190a8ea4f970c510c5635774d4a3264737bd60774ec29d4a262db5b5a06c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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 bazaar-contrib-schema 0.3.0rc3

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