Models#
- class servicex.models.ResultDestination(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
str,EnumDirect the output to object store or posix volume
- object_store = 'object-store'#
- volume = 'volume'#
- class servicex.models.ResultFile(*, filename: str, size: int, extension: str)[source]#
Bases:
BaseModelRecord reporting the properties of a transformed file result
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- extension: str#
- filename: str#
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'extension': FieldInfo(annotation=str, required=True), 'filename': FieldInfo(annotation=str, required=True), 'size': FieldInfo(annotation=int, required=True)}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- size: int#
- class servicex.models.ResultFormat(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
str,EnumSpecify the file format for the generated output
- parquet = 'parquet'#
- root_ttree = 'root-file'#
- class servicex.models.Status(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
str,EnumStatus of a submitted transform
- canceled = 'Canceled'#
- complete = 'Complete'#
- fatal = 'Fatal'#
- looking = 'Lookup'#
- pending = 'Pending Lookup'#
- running = 'Running'#
- submitted = 'Submitted'#
- class servicex.models.TransformRequest(*, title: str | None = None, did: str | None = None, file_list: List[str] | None = None, selection: str, image: str | None = None, codegen: str, tree_name: str | None = None, result_destination: ResultDestination, result_format: ResultFormat)[source]#
Bases:
BaseModelTransform request sent to ServiceX
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- codegen: str#
- compute_hash()[source]#
Compute a hash for this submission. Only include properties that impact the result so we have maximal ability to reuse transforms
- Returns:
SHA256 hash of request
- did: str | None#
- file_list: List[str] | None#
- image: str | None#
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'codegen': FieldInfo(annotation=str, required=True), 'did': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'file_list': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=None, alias='file-list', alias_priority=2), 'image': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'result_destination': FieldInfo(annotation=ResultDestination, required=True, alias_priority=2, serialization_alias='result-destination'), 'result_format': FieldInfo(annotation=ResultFormat, required=True, alias_priority=2, serialization_alias='result-format'), 'selection': FieldInfo(annotation=str, required=True), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'tree_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='tree-name', alias_priority=2)}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- result_destination: ResultDestination#
- result_format: ResultFormat#
- selection: str#
- title: str | None#
- tree_name: str | None#
- class servicex.models.TransformStatus(*, request_id: str, did: str, title: str | None = None, selection: str, tree_name: str | None, image: str, result_destination: ResultDestination, result_format: ResultFormat, generated_code_cm: str, status: Status, app_version: str, files: int, files_completed: int, files_failed: int, files_remaining: int | None = 0, submit_time: datetime = None, finish_time: datetime | None = None, minio_endpoint: str | None = None, minio_secured: bool | None = None, minio_access_key: str | None = None, minio_secret_key: str | None = None, log_url: str | None = None)[source]#
Bases:
BaseModelStatus object returned by servicex
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- app_version: str#
- did: str#
- files: int#
- files_completed: int#
- files_failed: int#
- files_remaining: int | None#
- finish_time: datetime | None#
- generated_code_cm: str#
- image: str#
- log_url: str | None#
- minio_access_key: str | None#
- minio_endpoint: str | None#
- minio_secret_key: str | None#
- minio_secured: bool | None#
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'app_version': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='app-version'), 'did': FieldInfo(annotation=str, required=True), 'files': FieldInfo(annotation=int, required=True), 'files_completed': FieldInfo(annotation=int, required=True, alias_priority=2, validation_alias='files-completed'), 'files_failed': FieldInfo(annotation=int, required=True, alias_priority=2, validation_alias='files-failed'), 'files_remaining': FieldInfo(annotation=Union[int, NoneType], required=False, default=0, alias_priority=2, validation_alias='files-remaining'), 'finish_time': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, alias_priority=2, validation_alias='finish-time'), 'generated_code_cm': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='generated-code-cm'), 'image': FieldInfo(annotation=str, required=True), 'log_url': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='log-url'), 'minio_access_key': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='minio-access-key'), 'minio_endpoint': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='minio-endpoint'), 'minio_secret_key': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='minio-secret-key'), 'minio_secured': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias_priority=2, validation_alias='minio-secured'), 'request_id': FieldInfo(annotation=str, required=True), 'result_destination': FieldInfo(annotation=ResultDestination, required=True, alias_priority=2, validation_alias='result-destination'), 'result_format': FieldInfo(annotation=ResultFormat, required=True, alias_priority=2, validation_alias='result-format'), 'selection': FieldInfo(annotation=str, required=True), 'status': FieldInfo(annotation=Status, required=True), 'submit_time': FieldInfo(annotation=datetime, required=False, default=None, alias_priority=2, validation_alias='submit-time'), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'tree_name': FieldInfo(annotation=Union[str, NoneType], required=True, alias_priority=2, validation_alias='tree-name')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- request_id: str#
- result_destination: ResultDestination#
- result_format: ResultFormat#
- selection: str#
- submit_time: datetime#
- title: str | None#
- tree_name: str | None#
- class servicex.models.TransformedResults(*, hash: str, title: str, codegen: str, request_id: str, submit_time: datetime, data_dir: str, file_list: List[str], signed_url_list: List[str], files: int, result_format: ResultFormat, log_url: str | None = None)[source]#
Bases:
BaseModelReturned for a submission. Gives you everything you need to know about a completed transform.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- codegen: str#
- data_dir: str#
- file_list: List[str]#
- files: int#
- hash: str#
- log_url: str | None#
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'codegen': FieldInfo(annotation=str, required=True), 'data_dir': FieldInfo(annotation=str, required=True), 'file_list': FieldInfo(annotation=List[str], required=True), 'files': FieldInfo(annotation=int, required=True), 'hash': FieldInfo(annotation=str, required=True), 'log_url': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'request_id': FieldInfo(annotation=str, required=True), 'result_format': FieldInfo(annotation=ResultFormat, required=True), 'signed_url_list': FieldInfo(annotation=List[str], required=True), 'submit_time': FieldInfo(annotation=datetime, required=True), 'title': FieldInfo(annotation=str, required=True)}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- request_id: str#
- result_format: ResultFormat#
- signed_url_list: List[str]#
- submit_time: datetime#
- title: str#