Skip to main content

objectmodel

Python typed object model for schema creation and validation

A bit unpythonic object definition, but sometimes things should be strict and typed :) Ideal for protocols and schemas.

Objects populated by ObjectModel class guarantee to match the desired state and fully serializable at any time.

Installation

This library is still in a development state, so please dont use it right away - the API might change at any time

pip install objectmodel

TODO

  • Performance benchmarks (ObjectModel vs plain object, namedtuple, dict)
  • __state__: Dict[str, Any] vs dynamically populated __slots__
  • Better validation and state ensurance
  • Strict collections (ObjectModelList and ObjectModelDict)?
    • Separate key and value validation for collections
  • Better field API
    • Predefined fields (StringField, IntField, FloatField)
  • Proxy fields:
    • MethodField or ComputedField
  • Readonly fields
  • More tests!
  • More examples
  • Auto-deployment to PyPI

Metadata

Release files for objectmodel 0.2

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

Source distribution (sdist)

Source distribution for objectmodel 0.2
File Size Uploaded Provenance Actions
objectmodel-0.2.tar.gz 6.2 kB Without provenance Details for objectmodel-0.2.tar.gz

Built distribution (wheel)

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

Total release size: 14.7 kB

Release files / objectmodel-0.2.tar.gz

Download URL objectmodel-0.2.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
11e99245b23e6a43161b8a46b2ecda32fd253433ad0866e1aed27cf8fe18d613
BLAKE2b-256 checksum
How to use checksums
fdda14a51efc9ab7e57b8bbd96ce1c20579a46031d89abd788de3bad91c5798d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

Release files / objectmodel-0.2-py3-none-any.whl

Download URL objectmodel-0.2-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68d324f35f5d390ed9dca68f6f30068daa9e68d2bda491984f6c53abc326227e
BLAKE2b-256 checksum
How to use checksums
fade5ba9758f15daa7daa6933fee8032bf608b873f74d64a0b5deb69d39c3724
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

Security for objectmodel 0.2

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.

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files No provenance

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