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.

Coverage

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|integer",
    "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", "integer"],
    "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-3.4.0.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spotlight-3.4.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spotlight-3.4.0.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.16

File hashes

Hashes for spotlight-3.4.0.tar.gz
Algorithm Hash digest
SHA256 7e7d6f58319615434dd57d80eb571f75d165d87d6fb7d7e170700c0350b7d00d
MD5 816dd4e6afe48bc600d8954c7769058d
BLAKE2b-256 0ff170bdd76358d58d68f1c402152149b68c84edbb7eefbb1186b24d30fec5b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spotlight-3.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.16

File hashes

Hashes for spotlight-3.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f413b0a7d902368e9600ae879ee9ba1ba3506592c0de3c0b59d8cd29ddb52006
MD5 8a4e51413a3f6f7fc89a51e0372b69e0
BLAKE2b-256 8829ec27e9eb745f4053f6f8b797425928e1902dd7aa7d6fbd0d3dcd583a1240

See more details on using hashes here.

Supported by

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