Skip to main content

Data validation for Python, inspired by the Laravel framework.

Project description

Spotlight

Data validation for Python, inspired by the Laravel framework.


Documentation: https://mdoesburg.github.io/spotlight/

Source Code: https://github.com/mdoesburg/spotlight


Requirements

Installation

Spotlight can be installed via pip:

pip install spotlight

Example

To validate data, we start by defining validation rules for each field we want to validate. After that, we pass the data and the validation rules into the Validator's validate method.

Lets have a look at a simple example:

from spotlight import Validator


rules = {
    "id": "required|int",
    "email": "required|email",
    "first_name": "required|string",
    "last_name": "required|string",
    "password": "required|min:8|max:255",
}

data = {
    "id": 1,
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "password": "test",
}

validator = Validator()
errors = validator.validate(data, rules)

The validate method will return a dictionary of errors, if any occurred.

In the example above, the validate method will return the following errors:

{"password": ["The password field has to be at least 8 characters."]}

Alternatively, validation rules may be specified as lists of rules instead of a single | delimited string:

rules = {
    "id": ["required", "int"],
    "email": ["required", "email"],
    "first_name": ["required", "string"],
    "last_name": ["required", "string"],
    "password": ["required", "min:8", "max:255"],
}

The full documentation can be found here.

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

spotlight-2.2.0.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

spotlight-2.2.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file spotlight-2.2.0.tar.gz.

File metadata

  • Download URL: spotlight-2.2.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

File hashes

Hashes for spotlight-2.2.0.tar.gz
Algorithm Hash digest
SHA256 37b64d64bc6ce2af8b5a1807db49375d9399a1b937e7d59e89baddd9c10540c0
MD5 03b45ee95129f50271d938d712a7c222
BLAKE2b-256 d955931746d7467050097475628d64629d8df245294b9806d7ad3c7e6b4098af

See more details on using hashes here.

File details

Details for the file spotlight-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: spotlight-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

File hashes

Hashes for spotlight-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 817920adf1a1d1a64db85e6387364ef856e254feab24a91c7ca38374e64f6680
MD5 3e451cf4ee5b8b93ec676641702024ff
BLAKE2b-256 6a99227f6a3ffe33d7992b778b6843f03ca61acf2352be1bbe4dad7239671323

See more details on using hashes here.

Supported by

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