A lightweight JSON Schema validation library for Robot Framework with clear error reporting and flexible validation modes.
Project description
📘 robotframework-jsonschemavalidator
A lightweight and extensible JSON Schema validation library for use in Robot Framework test suites.
Designed for clarity, reliability, and maintainability, it provides meaningful diagnostics when validating one or multiple JSON documents.
🚀 Overview
robotframework-jsonschemavalidator enables automated test suites to validate JSON payloads using standard JSON Schemas.
It offers configurable validation behavior and clean logging to support both small and large‑scale test automation.
This library focuses on:
- Clear JSON structure validation
- Helpful, readable error reporting
- Easy use within Robot Framework
- Flexibility for local development and CI/CD environments
See keyword documentation for more information.
✨ Features
- Schema-based validation using the well‑known
jsonschemaengine - Load schemas from file paths or in‑memory dictionaries
- Validate single or multiple JSON documents
- Choose between:
- Fail‑fast mode for immediate errors
- Collect‑all mode for batch reporting per test
- Error reporting includes:
- Source document identifier
- JSON path to the error location
- Failing schema keyword
- Human‑readable explanation
- Designed for seamless integration with:
- Robot Framework
- CI/CD
📦 Installation
Using uv (recommended)
uv add robotframework-jsonschemavalidator
Using poetry
poetry add robotframework-jsonschemavalidator
Using pip
pip install robotframework-jsonschemavalidator
This makes the library available to Robot Framework as:
*** Settings ***
Library JsonSchemaValidator
🧱 Project Structure
robotframework-jsonschemavalidator/
├─ pyproject.toml
├─ src/
│ └─ JsonSchemaValidator/
│ ├─ __init__.py
│ ├─ JsonSchemaValidator.py # Core implementation
│ └─ errors.py
└─ tests/
└─ atest.robot
🧪 Testing & Development
Running Robot Tests
uv run robot tests/
🤝 Contributing
Contributions are encouraged and appreciated.
To contribute:
- Fork the repository
- Create a feature branch
- Commit changes with meaningful messages
- Submit a pull request
For major changes, please open an issue to discuss before starting work.
Contributing Guidelines
- Maintain consistent naming for keywords
- Keep documentation up to date with new features
- Include tests for new functionality
- Follow existing styles for logging and error reporting
Pull requests and issue reports are welcome!
📄 License
Licensed under the Apache License 2.0. See LICENSE.
Author
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robotframework_jsonschemavalidator-1.1.0.tar.gz.
File metadata
- Download URL: robotframework_jsonschemavalidator-1.1.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b0ae849c955f63e1f5ab8f59bfe8f860faaa93f177febaa148e78958f5bcffc
|
|
| MD5 |
7412ce9671c471338311ec114fd5f054
|
|
| BLAKE2b-256 |
93010ca9049fb59d973fd1ec49b375d66c7c4ce461cf190f9fc601e38cedc9e1
|
Provenance
The following attestation bundles were made for robotframework_jsonschemavalidator-1.1.0.tar.gz:
Publisher:
deploy.yml on MarketSquare/robotframework-jsonschemavalidator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robotframework_jsonschemavalidator-1.1.0.tar.gz -
Subject digest:
2b0ae849c955f63e1f5ab8f59bfe8f860faaa93f177febaa148e78958f5bcffc - Sigstore transparency entry: 1788393546
- Sigstore integration time:
-
Permalink:
MarketSquare/robotframework-jsonschemavalidator@22b78273150cb447d6f58712e089c55d9775cf7a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarketSquare
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@22b78273150cb447d6f58712e089c55d9775cf7a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file robotframework_jsonschemavalidator-1.1.0-py3-none-any.whl.
File metadata
- Download URL: robotframework_jsonschemavalidator-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87cf1f9da0bcf6952f423d852e090de5ca7d125380d46d31debfe671e905389a
|
|
| MD5 |
5d5d5d0339712597f89bbc37c065f80f
|
|
| BLAKE2b-256 |
5e15b28c1806ab141f53e1c6a22cfb726006b7252842dd3c01ab7e01a953c08a
|
Provenance
The following attestation bundles were made for robotframework_jsonschemavalidator-1.1.0-py3-none-any.whl:
Publisher:
deploy.yml on MarketSquare/robotframework-jsonschemavalidator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robotframework_jsonschemavalidator-1.1.0-py3-none-any.whl -
Subject digest:
87cf1f9da0bcf6952f423d852e090de5ca7d125380d46d31debfe671e905389a - Sigstore transparency entry: 1788393627
- Sigstore integration time:
-
Permalink:
MarketSquare/robotframework-jsonschemavalidator@22b78273150cb447d6f58712e089c55d9775cf7a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarketSquare
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@22b78273150cb447d6f58712e089c55d9775cf7a -
Trigger Event:
workflow_dispatch
-
Statement type: