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.0.0.tar.gz (29.1 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.0.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spotlight-3.0.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.0.0 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.14

File hashes

Hashes for spotlight-3.0.0.tar.gz
Algorithm Hash digest
SHA256 9acead51227a29111721f6fd91464cc8c58adb62c4df67bbba716311195eff87
MD5 062b5ab6c4698ea3060b5e92630c0269
BLAKE2b-256 86551761fd29d0e50d1a50e1dcb5c27b996532b30ef6c12e76c363500187b9ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spotlight-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.0.0 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.14

File hashes

Hashes for spotlight-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6fc6d9414cd7c93576d1d7837b2fe47219515f4d8fb236592bad9e12b8acd2d
MD5 2312a81c95e186b7cdb81e398d82ef04
BLAKE2b-256 0613895db43734dbbe1b99038efd900117992efa4d33ed6726e90d5df5840dd2

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