A collection of domain specific IDS components
Project description
Tetra Data Domain-Specific Components Documentation
ts-ids-components is home to domain-specific common components for use in programmatic IDSs.
For getting started with programmatic IDS or documentation about creating and using Tetra Data models, see the {external+ts-ids-core:doc}ts-ids-core pages <README>.
These components can be used in any IDS as a way to build upon existing data models. When multiple IDSs use the same common components, accessing data becomes more consistent by enabling reuse of search queries and application code.
Version
v0.11.1
Install
pip install ts-ids-components
Quickstart
After installing this package, components can be imported and used in any programmatic IDS definition.
Here is an example of a complete IDS definition which uses the {py:class}Filter <ts_ids_components.plate_reader.Filter> component:
from typing import List
from ts_ids_core.schema import (
IdsElement,
IdsField,
Required,
SchemaExtraMetadataType,
TetraDataSchema,
)
from ts_ids_components.plate_reader import Filter
class InstrumentMethod(IdsElement):
"""Methods defined for the instrument run"""
protocol_id: str = IdsField(description="Identifier for the protocol used")
filter: Filter
class MyPlateReaderModel(TetraDataSchema):
"""IDS demonstrating plate reader components"""
schema_extra_metadata: SchemaExtraMetadataType = {
"$id": "https://ids.tetrascience.com/common/plate-reader-component-demo/v1.0.0/schema.json",
"$schema": "http://json-schema.org/draft-07/schema",
}
ids_type: Required[str] = IdsField(
default="plate-reader-component-demo", alias="@idsType", const=True
)
ids_version: Required[str] = IdsField(
default="v1.0.0", alias="@idsVersion", const=True
)
ids_namespace: Required[str] = IdsField(
default="common", alias="@idsNamespace", const=True
)
methods: List[InstrumentMethod]
See {external+ts-ids-core:doc}ts-ids-core export-schema <cli/export_schema> documentation for an explanation of generating JSON Schema from a programmatic IDS.
Expand to show JSON schema for `MyPlateReaderModel`
{
"description": "IDS demonstrating plate reader components",
"type": "object",
"properties": {
"@idsType": {
"const": "plate-reader-component-demo",
"type": "string"
},
"@idsVersion": {
"const": "v1.0.0",
"type": "string"
},
"@idsNamespace": {
"const": "common",
"type": "string"
},
"@idsConventionVersion": {
"description": "IDS convention version. Defined by TetraScience.",
"const": "v1.0.0",
"type": "string"
},
"methods": {
"type": "array",
"items": {
"$ref": "#/definitions/InstrumentMethod"
}
}
},
"required": [
"@idsType",
"@idsVersion",
"@idsNamespace",
"@idsConventionVersion"
],
"additionalProperties": false,
"$id": "https://ids.tetrascience.com/common/plate-reader-component-demo/v1.0.0/schema.json",
"$schema": "http://json-schema.org/draft-07/schema",
"definitions": {
"ValueUnit": {
"type": "object",
"properties": {
"value": {
"type": [
"number",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"Filter": {
"description": "Optical filter properties",
"type": "object",
"properties": {
"position": {
"description": "Position of this filter in a container like a filter wheel",
"type": [
"string",
"null"
]
},
"bandwidth": {
"description": "The range of frequencies associated with this filter",
"$ref": "#/definitions/ValueUnit"
},
"wavelength": {
"description": "Characteristic wavelength of this filter",
"$ref": "#/definitions/ValueUnit"
}
},
"additionalProperties": false
},
"InstrumentMethod": {
"description": "Methods defined for the instrument run",
"type": "object",
"properties": {
"protocol_id": {
"description": "Identifier for the protocol used",
"type": "string"
},
"filter": {
"$ref": "#/definitions/Filter"
}
},
"additionalProperties": false
}
}
}
License
License information can be found here: {ref}license_include.
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 ts_ids_components-0.11.1.tar.gz.
File metadata
- Download URL: ts_ids_components-0.11.1.tar.gz
- Upload date:
- Size: 29.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c53d0004f5ce3c373dda8898c655bb1920a9da7cbfe64bcfd7c4d8c431dc87fe
|
|
| MD5 |
8bb4e1a9f6de7fab27bcb561f319f365
|
|
| BLAKE2b-256 |
edbd349f5bc54625267e5b0ad09a4ae9de36d78bdfe07f68c4d2c4f60c088921
|
File details
Details for the file ts_ids_components-0.11.1-py3-none-any.whl.
File metadata
- Download URL: ts_ids_components-0.11.1-py3-none-any.whl
- Upload date:
- Size: 35.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cef0afc2445f55a321c64ba95151b79fdb23e5cc90a6f3257cd59bd56cf280b
|
|
| MD5 |
451098a813902c00529a24e52ba201a9
|
|
| BLAKE2b-256 |
c973021bf7f3301a41c69c309c9996346097454771119d733ccab619f37bd0df
|