Metadata-Version: 2.3
Name: modelingkit
Version: 0.1.0
Summary: Toolkit for data modeling, validation, and typing
Author: mm21
Author-email: mm21.dev@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Provides-Extra: toml
Requires-Dist: tomlkit (>=0.13.3,<0.14.0) ; extra == "toml"
Project-URL: Homepage, https://github.com/mm21/modelingkit
Description-Content-Type: text/markdown

# ModelingKit

Toolkit for data modeling, validation, and typing

Facilitates the following:

- **Data models**: Lightweight, pydantic-like modeling with validation
    - Based on dataclasses, not custom metaclasses; avoids metaclass conflicts
- **Validation**: Mechanism to validate and convert objects based on annotations, with user-defined source/destination types and conversion logic
- **Typing**: Utilities to extract metadata from `Annotated[]`, handle `Literal[]` and unions, and wrap type info in a user-friendly container
- **TOML models**: Wrapper for `tomlkit` with user-defined model classes for documents and tables, also handling arrays of models

