OTE-API Configuration Models¶
This page provides documentation for the oteapi.models
submodule, where all the OTE-API strategy configuration data models are located.
When creating instances of these models, the data types are automatically validated.
oteapi.models
module.
This module contains all the pydantic
configuration models.
HostlessAnyUrl = Annotated[Url, UrlConstraints(host_required=False)]
module-attribute
¶
RDFTriple = tuple[str, str, str]
module-attribute
¶
StrategyConfig = Union[FilterConfig, FunctionConfig, MappingConfig, ParserConfig, ResourceConfig, TransformationConfig]
module-attribute
¶
AttrDict
¶
Bases: BaseModel
, MutableMapping
An object whose attributes can also be accessed through subscription, like with a dictionary.
Special pydantic configuration settings:
extra
Allow any attributes/fields to be defined - this is what makes this pydantic model an attribute dictionary.validate_assignment
Validate and cast set values. This is mainly relevant for sub-classes ofAttrDict
, where specific attributes have been defined.arbitrary_types_allowed
If a custom type is used for an attribute that doesn't have avalidate()
method, don't fail setting the attribute.
Source code in oteapi/models/genericconfig.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
|
model_config = ConfigDict(extra='allow', validate_assignment=True, arbitrary_types_allowed=True)
class-attribute
instance-attribute
¶
clear()
¶
Source code in oteapi/models/genericconfig.py
103 104 105 106 107 108 109 |
|
get(key, default=None)
¶
Source code in oteapi/models/genericconfig.py
66 67 |
|
items()
¶
Source code in oteapi/models/genericconfig.py
57 58 |
|
keys()
¶
Source code in oteapi/models/genericconfig.py
60 61 |
|
pop(key, default=PydanticUndefined)
¶
Source code in oteapi/models/genericconfig.py
143 144 145 146 147 148 149 150 151 152 153 |
|
popitem()
¶
MutableMapping popitem
-method.
Important
Unlike the regular dict.popitem()
method, this one does not respect
LIFO (last-in, first-out).
This is due to the fact that attributes are stored in a random order when
initializing the model.
However, it will respect LIFO with respect to the internal model_fields
.
Source code in oteapi/models/genericconfig.py
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
|
reset_field(field)
¶
Reset a field to its default value.
Warning
This will remove/delete a field that is not part of the model schema.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
field
|
str
|
The field to reset. |
required |
Source code in oteapi/models/genericconfig.py
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
|
update(other=None, **kwargs)
¶
Source code in oteapi/models/genericconfig.py
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
|
values()
¶
Source code in oteapi/models/genericconfig.py
63 64 |
|
DataCacheConfig
¶
Bases: AttrDict
DataCache Configuration.
This class should not be used directly as a configuration object for a strategy object, but only as a configuration field inside a configuration object.
Source code in oteapi/models/datacacheconfig.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
accessKey: Optional[str] = Field(None, description='Key with which the downloaded content can be accessed. Should preferable be the hash (corresponding to `hashType`) of the content if it is known.')
class-attribute
instance-attribute
¶
cacheDir: Path = Field(Path('oteapi'), description='Cache directory.')
class-attribute
instance-attribute
¶
expireTime: int = Field(3600 * 24 * 14, description='Number of seconds before the cache entry expires. Zero means no expiration. Default is two weeks.')
class-attribute
instance-attribute
¶
hashType: str = Field('md5', description='Hash algorithm to use for creating hash keys for stored data. Can be any algorithm supported by hashlib.')
class-attribute
instance-attribute
¶
tag: Optional[str] = Field(None, description='Tag assigned to the downloaded content, typically identifying a session. Used with the `evict()` method to clean up a all cache entries with a given tag.')
class-attribute
instance-attribute
¶
FilterConfig
¶
Bases: GenericConfig
Filter Strategy Data Configuration.
Source code in oteapi/models/filterconfig.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
condition: Optional[str] = Field(None, description='Logical statement indicating when a filter should be applied.')
class-attribute
instance-attribute
¶
filterType: str = Field(..., description='Type of registered filter strategy. E.g., `filter/sql`.')
class-attribute
instance-attribute
¶
limit: Optional[int] = Field(None, description='Number of items remaining after a filter expression.')
class-attribute
instance-attribute
¶
query: Optional[str] = Field(None, description='Define a query operation.')
class-attribute
instance-attribute
¶
FunctionConfig
¶
Bases: GenericConfig
, SecretConfig
Function Strategy Data Configuration.
Source code in oteapi/models/functionconfig.py
11 12 13 14 15 16 17 |
|
functionType: str = Field(..., description='Type of registered function strategy.')
class-attribute
instance-attribute
¶
GenericConfig
¶
Bases: BaseModel
Generic class for configuration objects.
Special pydantic configuration settings:
validate_assignment
Validate and cast set values. This is mainly relevant for sub-classes ofAttrDict
, where specific attributes have been defined.arbitrary_types_allowed
If a custom type is used for an attribute that doesn't have avalidate()
method, don't fail setting the attribute.
Source code in oteapi/models/genericconfig.py
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
|
configuration: AttrDict = Field(AttrDict(), description='Model-specific configuration options which can either be given as key/value-pairs or set as attributes.')
class-attribute
instance-attribute
¶
description: str = Field(__doc__, description='A description of the configuration model.')
class-attribute
instance-attribute
¶
model_config = ConfigDict(validate_assignment=True, arbitrary_types_allowed=True)
class-attribute
instance-attribute
¶
MappingConfig
¶
Bases: GenericConfig
Mapping Strategy Data Configuration.
Source code in oteapi/models/mappingconfig.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
mappingType: str = Field(..., description='Type of registered mapping strategy.')
class-attribute
instance-attribute
¶
prefixes: Optional[dict[str, str]] = Field(None, description='Dictionary of shortnames that expands to an IRI given as local value/IRI-expansion-pairs.')
class-attribute
instance-attribute
¶
triples: Optional[set[RDFTriple]] = Field(None, description='Set of RDF triples given as (subject, predicate, object).')
class-attribute
instance-attribute
¶
ParserConfig
¶
Bases: GenericConfig
Parser Strategy Data Configuration.
Source code in oteapi/models/parserconfig.py
10 11 12 13 14 |
|
ResourceConfig
¶
Bases: GenericConfig
, SecretConfig
Resource Strategy Data Configuration.
Important
Either of the pairs of attributes downloadUrl
/mediaType
or
accessUrl
/accessService
MUST be specified.
Source code in oteapi/models/resourceconfig.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
accessRights: Optional[str] = Field(None, description='A rights statement that concerns how the distribution is accessed.')
class-attribute
instance-attribute
¶
accessService: Optional[str] = Field(None, description='A data service that gives access to the distribution of the dataset.')
class-attribute
instance-attribute
¶
accessUrl: Optional[HostlessAnyUrl] = Field(None, description='A URL of the resource that gives access to a distribution of the dataset. E.g. landing page, feed, SPARQL endpoint.\n\nUsage: `accessURL` *SHOULD* be used for the URL of a service or location that can provide access to this distribution, typically through a Web form, query or API call.\n`downloadURL` is preferred for direct links to downloadable resources.')
class-attribute
instance-attribute
¶
downloadUrl: Optional[HostlessAnyUrl] = Field(None, description='Definition: The URL of the downloadable file in a given format. E.g. CSV file or RDF file.\n\nUsage: `downloadURL` *SHOULD* be used for the URL at which this distribution is available directly, typically through a HTTPS GET request or SFTP.')
class-attribute
instance-attribute
¶
license: Optional[str] = Field(None, description='A legal document under which the distribution is made available.')
class-attribute
instance-attribute
¶
mediaType: Optional[str] = Field(None, description='The media type of the distribution as defined by IANA [[IANA-MEDIA-TYPES](https://www.w3.org/TR/vocab-dcat-2/#bib-iana-media-types)].\n\nUsage: This property *SHOULD* be used when the media type of the distribution is defined in IANA [[IANA-MEDIA-TYPES](https://www.w3.org/TR/vocab-dcat-2/#bib-iana-media-types)].')
class-attribute
instance-attribute
¶
publisher: Optional[str] = Field(None, description='The entity responsible for making the resource/item available.')
class-attribute
instance-attribute
¶
resourceType: Optional[str] = Field(None, description='Type of registered resource strategy.')
class-attribute
instance-attribute
¶
ensure_unique_url_pairs()
¶
Ensure either downloadUrl/mediaType or accessUrl/accessService are defined.
It's fine to define them all, but at least one complete pair MUST be specified.
Source code in oteapi/models/resourceconfig.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
SecretConfig
¶
Bases: BaseModel
Simple model for handling secret in other config-models.
Source code in oteapi/models/secretconfig.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
client_id: Optional[TogglableSecretStr] = Field(None, description='Client ID for an OAUTH2 client.')
class-attribute
instance-attribute
¶
client_secret: Optional[TogglableSecretStr] = Field(None, description='Client secret for an OAUTH2 client.')
class-attribute
instance-attribute
¶
password: Optional[TogglableSecretStr] = Field(None, description='Password for authentication.')
class-attribute
instance-attribute
¶
token: Optional[TogglableSecretStr] = Field(None, description='An access token for providing access and meta data to an application.')
class-attribute
instance-attribute
¶
user: Optional[TogglableSecretStr] = Field(None, description='User name for authentication.')
class-attribute
instance-attribute
¶
TransformationConfig
¶
Bases: GenericConfig
, SecretConfig
Transformation Strategy Data Configuration.
Source code in oteapi/models/transformationconfig.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
due: Optional[datetime] = Field(None, description='Optional field to indicate a due data/time for when a transformation should finish.')
class-attribute
instance-attribute
¶
name: Optional[str] = Field(None, description='Human-readable name of the transformation strategy.')
class-attribute
instance-attribute
¶
priority: Optional[ProcessPriority] = Field(ProcessPriority.MEDIUM, description='Define the process priority of the transformation execution.')
class-attribute
instance-attribute
¶
transformationType: str = Field(..., description='Type of registered transformation strategy. E.g., `celery/remote`.')
class-attribute
instance-attribute
¶
TransformationStatus
¶
Bases: BaseModel
Return from transformation status.
Source code in oteapi/models/transformationconfig.py
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
|
created: Optional[datetime] = Field(None, description='Time of creation for the transformation process. Given in UTC.')
class-attribute
instance-attribute
¶
finishTime: Optional[datetime] = Field(None, description='Time when the tranformation process finished. Given in UTC.')
class-attribute
instance-attribute
¶
id: str = Field(..., description='ID for the given transformation process.')
class-attribute
instance-attribute
¶
messages: Optional[list[str]] = Field(None, description='Messages related to the transformation process.')
class-attribute
instance-attribute
¶
startTime: Optional[datetime] = Field(None, description='Time when the transformation process started. Given in UTC.')
class-attribute
instance-attribute
¶
status: Optional[str] = Field(None, description='Status for the transformation process.')
class-attribute
instance-attribute
¶
TripleStoreConfig
¶
Bases: GenericConfig
, SecretConfig
TripleStore Configuration.
This is a configuration for the
TripleStore
.
This class should not be used directly as a configuration object for a strategy object, but only as a configuration field inside a configuration object.
Source code in oteapi/models/triplestoreconfig.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
agraphHost: str = Field(..., description='AllegroGraph host name.')
class-attribute
instance-attribute
¶
agraphPort: int = Field(..., description='AllegroGraph port number.')
class-attribute
instance-attribute
¶
client_id: Annotated[ExcludeTogglableSecretStr, SecretConfig.model_fields['client_id']] = SecretConfig.model_fields['client_id'].default
class-attribute
instance-attribute
¶
client_secret: Annotated[ExcludeTogglableSecretStr, SecretConfig.model_fields['client_secret']] = SecretConfig.model_fields['client_secret'].default
class-attribute
instance-attribute
¶
repositoryName: str = Field(..., description='The repository name, where the mappings are stored.')
class-attribute
instance-attribute
¶
token: Annotated[ExcludeTogglableSecretStr, SecretConfig.model_fields['token']] = SecretConfig.model_fields['token'].default
class-attribute
instance-attribute
¶
ensure_user_pass()
¶
Ensure that user/password are set, since they are optional in the SecretConfig.
Source code in oteapi/models/triplestoreconfig.py
44 45 46 47 48 49 50 |
|
datacacheconfig
¶
Pydantic DataCache Configuration Data Model.
DataCacheConfig
¶
Bases: AttrDict
DataCache Configuration.
This class should not be used directly as a configuration object for a strategy object, but only as a configuration field inside a configuration object.
Source code in oteapi/models/datacacheconfig.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
accessKey: Optional[str] = Field(None, description='Key with which the downloaded content can be accessed. Should preferable be the hash (corresponding to `hashType`) of the content if it is known.')
class-attribute
instance-attribute
¶
cacheDir: Path = Field(Path('oteapi'), description='Cache directory.')
class-attribute
instance-attribute
¶
expireTime: int = Field(3600 * 24 * 14, description='Number of seconds before the cache entry expires. Zero means no expiration. Default is two weeks.')
class-attribute
instance-attribute
¶
hashType: str = Field('md5', description='Hash algorithm to use for creating hash keys for stored data. Can be any algorithm supported by hashlib.')
class-attribute
instance-attribute
¶
tag: Optional[str] = Field(None, description='Tag assigned to the downloaded content, typically identifying a session. Used with the `evict()` method to clean up a all cache entries with a given tag.')
class-attribute
instance-attribute
¶
filterconfig
¶
Pydantic Filter Configuration Data Model.
FilterConfig
¶
Bases: GenericConfig
Filter Strategy Data Configuration.
Source code in oteapi/models/filterconfig.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
condition: Optional[str] = Field(None, description='Logical statement indicating when a filter should be applied.')
class-attribute
instance-attribute
¶
filterType: str = Field(..., description='Type of registered filter strategy. E.g., `filter/sql`.')
class-attribute
instance-attribute
¶
limit: Optional[int] = Field(None, description='Number of items remaining after a filter expression.')
class-attribute
instance-attribute
¶
query: Optional[str] = Field(None, description='Define a query operation.')
class-attribute
instance-attribute
¶
functionconfig
¶
Pydantic Function Configuration Data Model.
FunctionConfig
¶
Bases: GenericConfig
, SecretConfig
Function Strategy Data Configuration.
Source code in oteapi/models/functionconfig.py
11 12 13 14 15 16 17 |
|
functionType: str = Field(..., description='Type of registered function strategy.')
class-attribute
instance-attribute
¶
genericconfig
¶
Generic data model for configuration attributes.
AttrDict
¶
Bases: BaseModel
, MutableMapping
An object whose attributes can also be accessed through subscription, like with a dictionary.
Special pydantic configuration settings:
extra
Allow any attributes/fields to be defined - this is what makes this pydantic model an attribute dictionary.validate_assignment
Validate and cast set values. This is mainly relevant for sub-classes ofAttrDict
, where specific attributes have been defined.arbitrary_types_allowed
If a custom type is used for an attribute that doesn't have avalidate()
method, don't fail setting the attribute.
Source code in oteapi/models/genericconfig.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
|
model_config = ConfigDict(extra='allow', validate_assignment=True, arbitrary_types_allowed=True)
class-attribute
instance-attribute
¶
clear()
¶
Source code in oteapi/models/genericconfig.py
103 104 105 106 107 108 109 |
|
get(key, default=None)
¶
Source code in oteapi/models/genericconfig.py
66 67 |
|
items()
¶
Source code in oteapi/models/genericconfig.py
57 58 |
|
keys()
¶
Source code in oteapi/models/genericconfig.py
60 61 |
|
pop(key, default=PydanticUndefined)
¶
Source code in oteapi/models/genericconfig.py
143 144 145 146 147 148 149 150 151 152 153 |
|
popitem()
¶
MutableMapping popitem
-method.
Important
Unlike the regular dict.popitem()
method, this one does not respect
LIFO (last-in, first-out).
This is due to the fact that attributes are stored in a random order when
initializing the model.
However, it will respect LIFO with respect to the internal model_fields
.
Source code in oteapi/models/genericconfig.py
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
|
reset_field(field)
¶
Reset a field to its default value.
Warning
This will remove/delete a field that is not part of the model schema.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
field
|
str
|
The field to reset. |
required |
Source code in oteapi/models/genericconfig.py
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
|
update(other=None, **kwargs)
¶
Source code in oteapi/models/genericconfig.py
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
|
values()
¶
Source code in oteapi/models/genericconfig.py
63 64 |
|
GenericConfig
¶
Bases: BaseModel
Generic class for configuration objects.
Special pydantic configuration settings:
validate_assignment
Validate and cast set values. This is mainly relevant for sub-classes ofAttrDict
, where specific attributes have been defined.arbitrary_types_allowed
If a custom type is used for an attribute that doesn't have avalidate()
method, don't fail setting the attribute.
Source code in oteapi/models/genericconfig.py
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
|
configuration: AttrDict = Field(AttrDict(), description='Model-specific configuration options which can either be given as key/value-pairs or set as attributes.')
class-attribute
instance-attribute
¶
description: str = Field(__doc__, description='A description of the configuration model.')
class-attribute
instance-attribute
¶
model_config = ConfigDict(validate_assignment=True, arbitrary_types_allowed=True)
class-attribute
instance-attribute
¶
mappingconfig
¶
Pydantic Mapping Configuration Data Model.
RDFTriple = tuple[str, str, str]
module-attribute
¶
MappingConfig
¶
Bases: GenericConfig
Mapping Strategy Data Configuration.
Source code in oteapi/models/mappingconfig.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
mappingType: str = Field(..., description='Type of registered mapping strategy.')
class-attribute
instance-attribute
¶
prefixes: Optional[dict[str, str]] = Field(None, description='Dictionary of shortnames that expands to an IRI given as local value/IRI-expansion-pairs.')
class-attribute
instance-attribute
¶
triples: Optional[set[RDFTriple]] = Field(None, description='Set of RDF triples given as (subject, predicate, object).')
class-attribute
instance-attribute
¶
parserconfig
¶
Pydantic Parser Configuration Data Model.
ParserConfig
¶
Bases: GenericConfig
Parser Strategy Data Configuration.
Source code in oteapi/models/parserconfig.py
10 11 12 13 14 |
|
resourceconfig
¶
Pydantic Resource Configuration Data Model.
HostlessAnyUrl = Annotated[Url, UrlConstraints(host_required=False)]
module-attribute
¶
ResourceConfig
¶
Bases: GenericConfig
, SecretConfig
Resource Strategy Data Configuration.
Important
Either of the pairs of attributes downloadUrl
/mediaType
or
accessUrl
/accessService
MUST be specified.
Source code in oteapi/models/resourceconfig.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
accessRights: Optional[str] = Field(None, description='A rights statement that concerns how the distribution is accessed.')
class-attribute
instance-attribute
¶
accessService: Optional[str] = Field(None, description='A data service that gives access to the distribution of the dataset.')
class-attribute
instance-attribute
¶
accessUrl: Optional[HostlessAnyUrl] = Field(None, description='A URL of the resource that gives access to a distribution of the dataset. E.g. landing page, feed, SPARQL endpoint.\n\nUsage: `accessURL` *SHOULD* be used for the URL of a service or location that can provide access to this distribution, typically through a Web form, query or API call.\n`downloadURL` is preferred for direct links to downloadable resources.')
class-attribute
instance-attribute
¶
downloadUrl: Optional[HostlessAnyUrl] = Field(None, description='Definition: The URL of the downloadable file in a given format. E.g. CSV file or RDF file.\n\nUsage: `downloadURL` *SHOULD* be used for the URL at which this distribution is available directly, typically through a HTTPS GET request or SFTP.')
class-attribute
instance-attribute
¶
license: Optional[str] = Field(None, description='A legal document under which the distribution is made available.')
class-attribute
instance-attribute
¶
mediaType: Optional[str] = Field(None, description='The media type of the distribution as defined by IANA [[IANA-MEDIA-TYPES](https://www.w3.org/TR/vocab-dcat-2/#bib-iana-media-types)].\n\nUsage: This property *SHOULD* be used when the media type of the distribution is defined in IANA [[IANA-MEDIA-TYPES](https://www.w3.org/TR/vocab-dcat-2/#bib-iana-media-types)].')
class-attribute
instance-attribute
¶
publisher: Optional[str] = Field(None, description='The entity responsible for making the resource/item available.')
class-attribute
instance-attribute
¶
resourceType: Optional[str] = Field(None, description='Type of registered resource strategy.')
class-attribute
instance-attribute
¶
ensure_unique_url_pairs()
¶
Ensure either downloadUrl/mediaType or accessUrl/accessService are defined.
It's fine to define them all, but at least one complete pair MUST be specified.
Source code in oteapi/models/resourceconfig.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
secretconfig
¶
AttrDict for specifying user credentials or secrets.
TogglableSecretStr = Annotated[SecretStr, PlainSerializer(lambda value: value.get_secret_value() if settings.expose_secrets else str(value), return_type=str, when_used='json-unless-none')]
module-attribute
¶
Annotated type alias for a secret string that can be toggled to be exposed or not.
SecretConfig
¶
Bases: BaseModel
Simple model for handling secret in other config-models.
Source code in oteapi/models/secretconfig.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
client_id: Optional[TogglableSecretStr] = Field(None, description='Client ID for an OAUTH2 client.')
class-attribute
instance-attribute
¶
client_secret: Optional[TogglableSecretStr] = Field(None, description='Client secret for an OAUTH2 client.')
class-attribute
instance-attribute
¶
password: Optional[TogglableSecretStr] = Field(None, description='Password for authentication.')
class-attribute
instance-attribute
¶
token: Optional[TogglableSecretStr] = Field(None, description='An access token for providing access and meta data to an application.')
class-attribute
instance-attribute
¶
user: Optional[TogglableSecretStr] = Field(None, description='User name for authentication.')
class-attribute
instance-attribute
¶
transformationconfig
¶
Pydantic Transformation Configuration Data Model.
A transformation status data model is provided as well.
This data model represents what should be returned from the strategy's status()
method.
ProcessPriority
¶
Bases: str
, Enum
Defining process priority enumerators.
Process priorities:
- Low
- Medium
- High
Source code in oteapi/models/transformationconfig.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
TransformationConfig
¶
Bases: GenericConfig
, SecretConfig
Transformation Strategy Data Configuration.
Source code in oteapi/models/transformationconfig.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
due: Optional[datetime] = Field(None, description='Optional field to indicate a due data/time for when a transformation should finish.')
class-attribute
instance-attribute
¶
name: Optional[str] = Field(None, description='Human-readable name of the transformation strategy.')
class-attribute
instance-attribute
¶
priority: Optional[ProcessPriority] = Field(ProcessPriority.MEDIUM, description='Define the process priority of the transformation execution.')
class-attribute
instance-attribute
¶
transformationType: str = Field(..., description='Type of registered transformation strategy. E.g., `celery/remote`.')
class-attribute
instance-attribute
¶
TransformationStatus
¶
Bases: BaseModel
Return from transformation status.
Source code in oteapi/models/transformationconfig.py
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
|
created: Optional[datetime] = Field(None, description='Time of creation for the transformation process. Given in UTC.')
class-attribute
instance-attribute
¶
finishTime: Optional[datetime] = Field(None, description='Time when the tranformation process finished. Given in UTC.')
class-attribute
instance-attribute
¶
id: str = Field(..., description='ID for the given transformation process.')
class-attribute
instance-attribute
¶
messages: Optional[list[str]] = Field(None, description='Messages related to the transformation process.')
class-attribute
instance-attribute
¶
startTime: Optional[datetime] = Field(None, description='Time when the transformation process started. Given in UTC.')
class-attribute
instance-attribute
¶
status: Optional[str] = Field(None, description='Status for the transformation process.')
class-attribute
instance-attribute
¶
triplestoreconfig
¶
Pydantic TripleStore Configuration Data Model.
ExcludeTogglableSecretStr = Annotated[Optional[TogglableSecretStr], Field(exclude=True)]
module-attribute
¶
Annotated type alias for excluding a togglable secret from serialization.
TripleStoreConfig
¶
Bases: GenericConfig
, SecretConfig
TripleStore Configuration.
This is a configuration for the
TripleStore
.
This class should not be used directly as a configuration object for a strategy object, but only as a configuration field inside a configuration object.
Source code in oteapi/models/triplestoreconfig.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
agraphHost: str = Field(..., description='AllegroGraph host name.')
class-attribute
instance-attribute
¶
agraphPort: int = Field(..., description='AllegroGraph port number.')
class-attribute
instance-attribute
¶
client_id: Annotated[ExcludeTogglableSecretStr, SecretConfig.model_fields['client_id']] = SecretConfig.model_fields['client_id'].default
class-attribute
instance-attribute
¶
client_secret: Annotated[ExcludeTogglableSecretStr, SecretConfig.model_fields['client_secret']] = SecretConfig.model_fields['client_secret'].default
class-attribute
instance-attribute
¶
repositoryName: str = Field(..., description='The repository name, where the mappings are stored.')
class-attribute
instance-attribute
¶
token: Annotated[ExcludeTogglableSecretStr, SecretConfig.model_fields['token']] = SecretConfig.model_fields['token'].default
class-attribute
instance-attribute
¶
ensure_user_pass()
¶
Ensure that user/password are set, since they are optional in the SecretConfig.
Source code in oteapi/models/triplestoreconfig.py
44 45 46 47 48 49 50 |
|