Skip to main content

Pydantic-class API on top of panproto: GATs, lenses, and VCS.

Project description

didactic

A typed-data library for Python that uses panproto as its substrate. Authoring is class-based and looks like Pydantic. Underneath, every Model corresponds to a panproto Theory, every value to a panproto Schema, and every transformation between Models to a panproto Lens.

import didactic.api as dx


class User(dx.Model):
    """A user record."""

    id: str
    email: str
    display_name: str = ""


u = User(id="u1", email="a@b.c")
u2 = u.with_(display_name="Alice")

This is the core distribution. Three sibling distributions (didactic-pydantic, didactic-settings, didactic-fastapi) contribute submodules under didactic.<name>.

Install

didactic targets Python 3.14 and panproto 0.42+.

pip install didactic

Documentation

The full documentation site is at https://panproto.dev/didactic/ and includes a tutorial, task-oriented guides, conceptual background, and per-symbol API reference. Source is in the workspace docs/ directory.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

didactic-0.1.0.tar.gz (83.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

didactic-0.1.0-py3-none-any.whl (109.4 kB view details)

Uploaded Python 3

File details

Details for the file didactic-0.1.0.tar.gz.

File metadata

  • Download URL: didactic-0.1.0.tar.gz
  • Upload date:
  • Size: 83.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for didactic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a11ab1ebcbd198e52ee55796ead914f718fda7cba33ef1fbbfbfebad428affc4
MD5 93b22f9941cfcfe1a62c2e7dba5ac262
BLAKE2b-256 379b8b2b7cc692676ab24d3b9a1fd182f57ff5998fbca9fc081b4513848373e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for didactic-0.1.0.tar.gz:

Publisher: release.yml on panproto/didactic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file didactic-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: didactic-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 109.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for didactic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16825821b798b38257fde568d720fdcfe154d8b27726d78f7597928fc35ab433
MD5 387bef6a100b41f4171475922dc94e82
BLAKE2b-256 ede517f428dce853c69d67c8520b4a6a35857df1fefba1cbaf85aa5396496352

See more details on using hashes here.

Provenance

The following attestation bundles were made for didactic-0.1.0-py3-none-any.whl:

Publisher: release.yml on panproto/didactic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page