Skip to main content

Python data validation with web in-mind

Project description

travis coverage pyver

Validation library for processing http endpoint arguments.

from flask import Flask

from covador import split, opt
from covador.flask import query_string

app = Flask(__name__)

@app.route('/')
@query_string(foo=opt(split(int), []))
def csv_argument(foo):
    return repr(foo)

# GET /?foo=1,2,3 -> [1, 2, 3]

if __name__ == '__main__':
    app.run()
  • Support for flask(0.x, 1.0.x, 1.1.x), django(1.x, 2.x), aiohttp(2.x, 3.x), tornado(3.x, 4.x, 5.x, 6.x) and sanic(0.x, 18.x, 19.x).

  • Simple creating of custom query_string/form/params/json_body/args wrappers.

  • Multi dict support via item multi param.

  • Multi dict keys support via item src param.

  • Simple interface for custom validators/processors it’s just a callable.

  • Maps, typed Maps, Lists, Tuples, Enums.

  • Validation chains: opt(default=[]) | split(separator=' ') | List(int) | (lambda it: it[:10]) or more concise opt(split(int, separator=' '), []) | operator.itemgetter(slice(10)) — an optional argument of space separated integers and we need top 10 items from it and it is empty by default.

  • Literal schema: schema(foo=[{'boo': int}]), validates {'foo': [{'boo': 10}, {'boo': 20}]}.

  • Bytes/unicode aware.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

covador-0.10.2.tar.gz (14.3 kB view details)

Uploaded Source

File details

Details for the file covador-0.10.2.tar.gz.

File metadata

  • Download URL: covador-0.10.2.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for covador-0.10.2.tar.gz
Algorithm Hash digest
SHA256 31103723586e5e9edf171ae7b882567246efa66405a61f7b07bab571f7462458
MD5 743e5134c8f3644441bbf8dfc304bf20
BLAKE2b-256 c942c25cfb7e2f053a97741f4bbc5c7d5503e97043fd36626f88e7817a14d471

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page