An open API service indexing awesome lists of open source software.

https://github.com/jakeroggenbuck/typeschemalib

A yaml like schema that can be used to check dictionaries for correct schema
https://github.com/jakeroggenbuck/typeschemalib

pip schema yaml

Last synced: about 2 months ago
JSON representation

A yaml like schema that can be used to check dictionaries for correct schema

Awesome Lists containing this project

README

          

# typeschemalib
A yaml-like schema that can be used to check dictionaries for correct schema. [Typelibschema](https://pypi.org/project/typeschemalib/) is published to Pypi.org.

## Install

```
pip install typeschemalib
```

## Schema file
#### schema example
```
point: Int
my_string: Str
grade: Float
```

#### data example
```json
{"point": 45, "my_string": "Hey", "grade": 4.5}
```

## Checking data for correct schema
### Test parse with stml file
```py
from typeschemalib import typeschemalib

if __name__ == "__main__":
data = {"point": 45, "my_string": "Hey", "grade": 4.5}

# Validate data from schema file
schema = "test.stml"
valid = typeschemalib.schema_check(schema, data)
print(valid)

# Validate data from list of schema
schema = ["point: Int", "my_string: Str", "grade: Int"]
valid = typeschemalib.schema_check(schema, data)
print(valid)

# Validate data from dict of values
schema = {"point": "Int", "my_string": "Str", "grade": "Int"}
valid = typeschemalib.schema_check(schema, data)
print(valid)
```

## Todo
- [ ] Make schema have regex
- [ ] Make documentation for stml writer
- [ ] Add object type and class checker, isinstance issubclass `time: DateTimeObject`