What is this package for
I’ve used different python frameworks for data serialisation many times. Mostly when I had to implement an API for my work. I felt many times those frameworks did good job but not extensible enough. Also writing easily an API which is satisfy every expectations of projects, without coupled restrictions sometimes really hard.
Nutshell
from pyrs import schema
class UserSchema(schema.Object):
version = schema.Version(version='1.0')
username = schema.StringField(required=True)
password = schema.StringField(required=True, tags=['writeonly'])
email = schema.EmailField(title='Registered email address')
writer = schema.JSONWriter(UserSchema)
jsonstring = writer.write(data) # The validation also happen
schemawriter = schema.JSONSchemaWriter()
jsonschemastr = writer.write(UserSchema)
Features
Easy schema definition
Schema validation
Decoupled serialisation, validation
Extensible API
Installation
The code is tested with python 2.7, 3.3, 3.4.
$ pip install pyrs-schema
Dependencies
See requirements.txt. But The goal is less dependency as possible. The main dependency is the python jsonchema The validation is using that package.
Notice that even it’s a JSON schema validator this work still can be used for any (compatible) schema validation.
Important caveats
This code is in beta version. I working hard on write stable as possible API in the first place but while this code in 0.x version you should expect some major modification on the API.
The ecosystem
This work is part of pyrs framework. The complete framework follow the same intention to implement flexible solution.
Contribution
I really welcome any comments! I would be happy if you fork my code or create pull requests. I’ve already really strong opinions what I want to achieve and how, though any help would be welcomed.
Feel free drop a message to me!
Metadata
Release files for pyrs-schema 0.7.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyrs-schema-0.7.3.tar.gz | 13.7 kB | Without provenance | Details for pyrs-schema-0.7.3.tar.gz |
Release files / pyrs-schema-0.7.3.tar.gz
| Download URL | pyrs-schema-0.7.3.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc178d237e3a398a599f85d6848ec468a438c071beab30e090e95ca31e19951a
|
|
BLAKE2b-256 checksum How to use checksums |
33885d64b0baa5befba84632dddacdc1f6e69bd37a393858f89b0226a5a45390
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pyrs-schema 0.7.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.