district42 to JSON-Schema translator and vise versa
Project description
SchemaMaximal
district42 schemas โ JSON Schema
Installation
pip3 install schemax
Usage
>>> import schemax
>>> from district42 import schema
>>> ExampleSchema = schema.str.len(1, 10)
>>> schemax.to_json_schema(ExampleSchema)
{'type': 'string', 'minLength': 1, 'maxLength': 10}
Also, you could use schemax to translate from JSON-Schema to d42 and generate tests interfaces (in future releases) via command line:
$ python3 -m schemax translate schema.json
Translation from JSON-Schema to d42-schema for schema.json:
schema.dict({
'number': schema.int.min(1),
optional('street_name'): schema.str,
...: ...
})
schema.json:
{
"type": "object",
"properties": {
"number": { "type": "integer", "minimum": 1 },
"street_name": { "type": "string" }
},
"required": ["number"],
"additionalProperties": true
}
Supported d42 -> JSON Schema types and features
(โ - done; ๐ง - planned support; โ - unsupportable)
- None:
- โ schema.none
- Bool:
- Int:
- Float:
- Str:
- List:
- Dict:
- Any:
- โ schema.any
- โ schema.any(*types)
- โ schema.const
- โ schema.bytes
Supported JSON Schema -> d42 types and features
(โ - done; ๐ง - planned support; โ - unsupportable)
- โ null
- โ boolean
- โ
integer
- โ minimum
- โ maximum
- โ exclusiveMinimum Keep in mind, that we're just taking exclusiveMinimum + 1 as schema.int.min
- โ exclusiveMaximum Keep in mind, that we're just taking exclusiveMaximum - 1 as schema.int.max
- โ multiples
- โ
number
- โ minimum
- โ maximum
- ๐ง exclusiveMinimum
- ๐ง exclusiveMaximum
- โ multiples
- โ string
- โ
array
- โ items
- โ length
- โ prefixItems
- โ unevaluatedItems
- โ uniqueness
- โ
object
- โ properties
- โ patterProperties
- โ additionalProperties
- โ requiredProperties
- โ propertyName
- โ size
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
schemax-0.2.0rc1.tar.gz
(16.8 kB
view hashes)
Built Distribution
schemax-0.2.0rc1-py3-none-any.whl
(15.1 kB
view hashes)
Close
Hashes for schemax-0.2.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6ad3878cf2c55263821e89b8e59327236199bcb45a8e32a06d8c64749076bb6 |
|
MD5 | 710589ea9315b3f61c1df553880087e8 |
|
BLAKE2b-256 | 33d72cd081a650cb9f0c06ca2c2a3d79825b8c95eb273a5b9a44a9c66fd56b14 |