Skip to main content

No project description provided

Project description

CI codecov

pydantic-ext

This addons provides a new type used to declare Pydantic model as Extendable class.

from pydantic import BaseModel
from extendable_pydantic import ExtendableModelMeta
from extendable import context, registry

class Location(BaseModel, metaclass=ExtendableModelMeta):
    lat = 0.1
    lng = 10.1

class ExtendedLocation(Location, extends=Location):
    name: str

_registry = registry.ExtendableClassesRegistry()
context.extendable_registry.set(_registry)
_registry.init_registry()

loc = Location(**{"lat": 12.3, "lng": 13.2, "name": "My Loc"})

loc.dict() == {"lat": 12.3, "lng": 13.2, "name": "My Loc"}
#> True

loc.schema()
#> {'title': 'Location', 'type': 'object', 'properties': {'lat': {'title': 'Lat', 'default': 0.1, 'type': 'number'}, 'lng': {'title': 'Lng', 'default': 10.1, 'type': 'number'}, 'name': {'title': 'Name', 'type': 'string'}}, 'required': ['name']}

Development

pip install -e .

Then, copy extendable_pydantic_patcher.pth to $VIRTUAL_ENV/lib/python3.10/site-packages.

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

extendable_pydantic-0.0.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

extendable_pydantic-0.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file extendable_pydantic-0.0.2.tar.gz.

File metadata

  • Download URL: extendable_pydantic-0.0.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for extendable_pydantic-0.0.2.tar.gz
Algorithm Hash digest
SHA256 5ea0746e32f06cdfa32350734827662f0bfa613ee297728b2524492c35a5654a
MD5 d6767cd5edd1dee08bc16dcdb9abee91
BLAKE2b-256 46859a03b69f23ca9589f207fb7ba8b973ff37e49e6073103102dc6e0e39d533

See more details on using hashes here.

File details

Details for the file extendable_pydantic-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for extendable_pydantic-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 82d439ab0ef37c64bb8e1bd72cd7626d1842babba7670a08b9533dd49b2ab5ed
MD5 2cb18c5947f3da3c8c7881004eaf74b8
BLAKE2b-256 226b3e3749828737bf308151f0c3b9a8d43518b97d488f9e47bf97660006fc29

See more details on using hashes here.

Supported by

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