Metadata-Version: 2.1
Name: district42
Version: 1.3.1
Summary: Data description language for defining data models
Home-page: https://github.com/nikitanovosibirsk/district42
Author: Nikita Tsvetkov
Author-email: nikitanovosibirsk@yandex.com
License: Apache-2.0
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# district42

[![Codecov](https://img.shields.io/codecov/c/github/nikitanovosibirsk/district42/master.svg?style=flat-square)](https://codecov.io/gh/nikitanovosibirsk/district42)
[![PyPI](https://img.shields.io/pypi/v/district42.svg?style=flat-square)](https://pypi.python.org/pypi/district42/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/district42?style=flat-square)](https://pypi.python.org/pypi/district42/)
[![Python Version](https://img.shields.io/pypi/pyversions/district42.svg?style=flat-square)](https://pypi.python.org/pypi/district42/)

Data description language for defining data models

(!) Work in progress, breaking changes are possible until v2.0 is released

## Installation

```sh
pip3 install district42
```

## Usage

```python
from district42 import schema

UserSchema = schema.dict({
    "id": schema.int.min(1),
    "name": schema.str | schema.none,
    "is_deleted": schema.bool,
})

print(UserSchema)
```

More powerful with:
- [blahblah](https://github.com/nikitanovosibirsk/blahblah) — Fake data generator
- [valera](https://github.com/nikitanovosibirsk/valera) — Validator
- [revolt](https://github.com/nikitanovosibirsk/revolt) — Value substitutor

And [more](https://github.com/topics/district42)


