<img alt="Frame ApS" src="https://openframe-public.s3.eu-west-1.amazonaws.com/assets/logo-text-google-admin.png" width="200" />
# Criteria Set Protocol
## Python library
This is a Python library with types and implementations of the Criteria Set Protocol. It is published
publicly on [PyPI](https://pypi.org/project/openframe-criteria-set-protocol/) as `openframe-criteria-set-protocol`.
### Installation
```bash
pip install openframe-criteria-set-protocol
```
### Contents
#### Protocol v1
The library contains the types defined in the protocol v1 specification.
##### Types
| Type | Remarks |
|-------------------------------|-----------------------------------------------------|
| **Metadata types** | |
| `Metadata` | |
| `Theme` | |
| `ThemeStyle` | |
| `Color` | |
| `RgbColor` | |
| **Task tree types** | |
| `CriteriaTree` | |
| `Criterion` | |
| `TaskGroup` | |
| `Task` | |
| `TaskItem` | |
| **TaskItem value types** | |
| `SelectSingleType` | |
| `SelectMultipleType` | |
| `NumberType` | |
| `BooleanType` | |
| `PointOption` | Used by `SelectSingleType` and `SelectMultipleType` |
| `TaskItemValue` | The raw value of a TaskItem, which can be an array |
| `TaskItemScalarValue` | The raw value of a TaskItem |
| **REST types** | |
| `MetadataResponse` | Metadata endpoint response body |
| `StreamCriteriaSetMatrixBody` | Request body for the matrix streaming endpoints |
| `StreamMatrixResponse` | Matrix streaming endpoints response body |
##### Schemas
Validation schemas are provided for validating the endpoints of the protocol v1 specification.
| Schema | Remarks |
|---------------------------|---------------------------------------------------------------------------------|
| `criteria_set_id` | Regular expression for the criteria_set_id parameter for endpoints which use it |
| `version` | Regular expression for the version parameter for endpoints which use it |
| **marshmallow schemas** | |
| `TreeAndMatrixBodySchema` | Schema for validating the request body for tree and matrix endpoints |
### Deployment
Deploy using the following commands:
```bash
python3 -m build
python3 -m twine upload dist/*
```
## License
<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://github.com/Frame-ApS/criteria-set-protocol">Openframe Criteria Set Protocol</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://github.com/andresangulo">Openframe ApS</a> is licensed under <a href="http://creativecommons.org/licenses/by-nd/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-ND 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/nd.svg?ref=chooser-v1"></a></p>
Raw data
{
"_id": null,
"home_page": null,
"name": "openframe-criteria-set-protocol",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.0",
"maintainer_email": null,
"keywords": null,
"author": "Andr\u00e9s Angulo <aa@openframe.org>",
"author_email": "Andr\u00e9s Angulo <aa@openframe.org>",
"download_url": "https://files.pythonhosted.org/packages/9b/e3/fdcae9bb64c82d467905c1cfb829a9903751ca1fdf6cf53d4ed5edc36084/openframe_criteria_set_protocol-2.0.4.tar.gz",
"platform": null,
"description": "<img alt=\"Frame ApS\" src=\"https://openframe-public.s3.eu-west-1.amazonaws.com/assets/logo-text-google-admin.png\" width=\"200\" />\n\n# Criteria Set Protocol\n\n## Python library\nThis is a Python library with types and implementations of the Criteria Set Protocol. It is published\npublicly on [PyPI](https://pypi.org/project/openframe-criteria-set-protocol/) as `openframe-criteria-set-protocol`.\n\n### Installation\n```bash\npip install openframe-criteria-set-protocol\n```\n\n### Contents\n#### Protocol v1\nThe library contains the types defined in the protocol v1 specification.\n\n##### Types\n| Type | Remarks |\n|-------------------------------|-----------------------------------------------------|\n| **Metadata types** | |\n| `Metadata` | |\n| `Theme` | |\n| `ThemeStyle` | |\n| `Color` | |\n| `RgbColor` | |\n| **Task tree types** | |\n| `CriteriaTree` | |\n| `Criterion` | |\n| `TaskGroup` | |\n| `Task` | |\n| `TaskItem` | |\n| **TaskItem value types** | |\n| `SelectSingleType` | |\n| `SelectMultipleType` | |\n| `NumberType` | |\n| `BooleanType` | |\n| `PointOption` | Used by `SelectSingleType` and `SelectMultipleType` |\n| `TaskItemValue` | The raw value of a TaskItem, which can be an array |\n| `TaskItemScalarValue` | The raw value of a TaskItem |\n| **REST types** | |\n| `MetadataResponse` | Metadata endpoint response body |\n| `StreamCriteriaSetMatrixBody` | Request body for the matrix streaming endpoints |\n| `StreamMatrixResponse` | Matrix streaming endpoints response body |\n\n##### Schemas\nValidation schemas are provided for validating the endpoints of the protocol v1 specification.\n\n| Schema | Remarks |\n|---------------------------|---------------------------------------------------------------------------------|\n| `criteria_set_id` | Regular expression for the criteria_set_id parameter for endpoints which use it |\n| `version` | Regular expression for the version parameter for endpoints which use it |\n| **marshmallow schemas** | |\n| `TreeAndMatrixBodySchema` | Schema for validating the request body for tree and matrix endpoints |\n\n### Deployment\nDeploy using the following commands:\n\n```bash\npython3 -m build\npython3 -m twine upload dist/*\n```\n\n## License\n<p xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dct=\"http://purl.org/dc/terms/\"><a property=\"dct:title\" rel=\"cc:attributionURL\" href=\"https://github.com/Frame-ApS/criteria-set-protocol\">Openframe Criteria Set Protocol</a> by <a rel=\"cc:attributionURL dct:creator\" property=\"cc:attributionName\" href=\"https://github.com/andresangulo\">Openframe ApS</a> is licensed under <a href=\"http://creativecommons.org/licenses/by-nd/4.0/?ref=chooser-v1\" target=\"_blank\" rel=\"license noopener noreferrer\" style=\"display:inline-block;\">CC BY-ND 4.0<img style=\"height:22px!important;margin-left:3px;vertical-align:text-bottom;\" src=\"https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1\"><img style=\"height:22px!important;margin-left:3px;vertical-align:text-bottom;\" src=\"https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1\"><img style=\"height:22px!important;margin-left:3px;vertical-align:text-bottom;\" src=\"https://mirrors.creativecommons.org/presskit/icons/nd.svg?ref=chooser-v1\"></a></p>\n",
"bugtrack_url": null,
"license": null,
"summary": "A protocol and tools for defining and working with criteria sets",
"version": "2.0.4",
"project_urls": {
"Bug Tracker": "https://github.com/openframe-org/criteria-set-protocol/issues",
"Homepage": "https://github.com/openframe-org/criteria-set-protocol"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4432dcb3fb69d08923e7d0153dfeebe75d3e0c6d86fd7f7d98f38bf1ac616baa",
"md5": "bc9c9bd9ed1f7218883c2c9b795fed6b",
"sha256": "a1331e97a0bfb35e1bc89102cf6282b7615993a7e40fbc56bdb8b71512e5318b"
},
"downloads": -1,
"filename": "openframe_criteria_set_protocol-2.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bc9c9bd9ed1f7218883c2c9b795fed6b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.0",
"size": 16548,
"upload_time": "2024-11-20T10:51:42",
"upload_time_iso_8601": "2024-11-20T10:51:42.791398Z",
"url": "https://files.pythonhosted.org/packages/44/32/dcb3fb69d08923e7d0153dfeebe75d3e0c6d86fd7f7d98f38bf1ac616baa/openframe_criteria_set_protocol-2.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9be3fdcae9bb64c82d467905c1cfb829a9903751ca1fdf6cf53d4ed5edc36084",
"md5": "61e54ca12d61a41fb496b6bafd83cb62",
"sha256": "40ea3829ed47e8e0b29bcc2ade1dd6643f3db124d3f7dccf0b55ef31a288f2df"
},
"downloads": -1,
"filename": "openframe_criteria_set_protocol-2.0.4.tar.gz",
"has_sig": false,
"md5_digest": "61e54ca12d61a41fb496b6bafd83cb62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.0",
"size": 15565,
"upload_time": "2024-11-20T10:51:45",
"upload_time_iso_8601": "2024-11-20T10:51:45.674916Z",
"url": "https://files.pythonhosted.org/packages/9b/e3/fdcae9bb64c82d467905c1cfb829a9903751ca1fdf6cf53d4ed5edc36084/openframe_criteria_set_protocol-2.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-20 10:51:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openframe-org",
"github_project": "criteria-set-protocol",
"github_not_found": true,
"lcname": "openframe-criteria-set-protocol"
}