Skip to main content

Nightjar

PyPI version PyPI - Downloads PyPI - Python Version GitHub

Typed configuration, object construction, and predicate-based dispatch for Python. Supports dataclasses, Pydantic models, and custom converters.

Install

uv add nightjar

Usage

from pydantic import BaseModel
from nightjar import from_dict, to_dict

class Item(BaseModel):
    count: int
    enabled: bool = True

item = from_dict(Item, {"count": "4", "enabled": "false"})
assert to_dict(item) == {"count": 4, "enabled": False}

Use AutoModule or dispatch to construct registered implementations from configuration. Extend conversion with converter_registry.register_type.

Compatibility

  • Python 3.9+: use from __future__ import annotations for A | B annotations on 3.9.
  • Pydantic v1.10 and v2 are supported without an exact version pin. Conversion behavior follows the installed version; uv resolves a compatible release.
  • Import conversion helpers from nightjar; nightjar.serializers has been removed.

Preview the documentation with uv run --group docs mkdocs serve.

Documentation · Issues · MIT License

Metadata

Release files for nightjar 0.0.8

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

Source distribution (sdist)

Source distribution for nightjar 0.0.8
File Size Uploaded
nightjar-0.0.8.tar.gz 89.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nightjar 0.0.8
File Interpreter ABI Platform
nightjar-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 107.2 kB

Release files / nightjar-0.0.8.tar.gz

Download URL nightjar-0.0.8.tar.gz
Size 89.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9bafcf3375e3d24e49deebf95940b7658b4162e25f3fe362aff53c5ca5df809e
BLAKE2b-256 checksum
How to use checksums
ace8ba86806ad356b3f2b2b7a84432f1504ae0a4a497237b066437a8bfb38b37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / nightjar-0.0.8-py3-none-any.whl

Download URL nightjar-0.0.8-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00c6a8de091290f7548c8914213d766ea44c72aa30c42fa1fcfc0d199742dd01
BLAKE2b-256 checksum
How to use checksums
bdd155d1864cb07d6a45cb9e398b5f85c3fbd143041b97d354b36654d2c6cfc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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