cryosparc.spec

Contents

cryosparc.spec#

Type specifications for CryoSPARC database entities.

Unless otherwise noted, classes defined here represent dictionary instances whose attributes may be accessed with dictionary key syntax.

Examples

Accessing job document details

>>> cs = CryoSPARC()
>>> job = cs.find_job("P3", "J118")
>>> job.doc["output_results"][0]["metafiles"]
[
  "J118/J118_000_particles.cs",
  "J118/J118_001_particles.cs",
  "J118/J118_002_particles.cs",
  "J118/J118_003_particles.cs"
]

Classes:

AssetDetails

Result of job asset files query.

BaseParam

Base parameter specification.

BaseSchedulerTarget

Properties shared by both node and cluster scheduler targets.

Connection

Connection element specified in a Job document's input_slot_groups[].connections list.

ConnectionSlot

Slots specified entry in a Job document's input_slot_groups[].connections[].slots list.

Datafield

Definition of a prefix field within a CS file.

EnumParam

Additional Param keys available for enum params.

EventLogAsset

Dictionary item in a job event log's imgfiles property (in the events collection).

FixedResourceSlots

Available resource slots that only indicate presence, not the amount that may be allocated.

Gpu

GPU details for a target.

InputSlot

Dictionary entry in Job document's input_slot_groups.slots property.

InputSlotGroup

Element specified in a Job document's input_slot_groups list.

JobDocument

Specification for a Job document from the MongoDB database.

JobSection

Specification of available job types of a certain category.

JobSpec

Specification for a Job document from the CryoSPARC's job register.

JobSpecSection

Similar to JobSection, except each item in contains is a detailed JobSpec.

OutputResult

Detailed schema and metadata for a Job document's output_results list.

OutputResultGroup

Elements of a Job document's output_result_groups list.

OutputResultGroupContains

Elements of a Job document's output_result_groups[].contains list.

Param

Specifies possible values for type property.

ParamSection

Param section specification

ParamSpec

Param specification.

PathParam

Additional Param key available for path params.

ProjectDocument

Specification for a project document in the MongoDB database.

ProjectLastAccessed

Details on when a project was last accessed.

ResourceSlots

Listings of available resources on a worker node that may be allocated for scheduling.

SchedulerLane

Description for a CryoSPARC scheduler lane.

SchedulerTargetCluster

Cluster-type scheduler targets.

SchedulerTargetGpuNode

node-type scheduler target that includes GPUs.

SchedulerTargetNode

node-type scheduler target that does not include GPUs.

WorkspaceDocument

Specification for a Workspace document from the MongoDB database.

cryosparc.spec.AssetContentType(*args, **kwargs)#

Supported job asset MIME types.

alias of Literal[‘text/plain’, ‘text/csv’, ‘text/html’, ‘application/json’, ‘application/xml’, ‘application/x-troff’] | Literal[‘application/pdf’, ‘image/gif’, ‘image/jpeg’, ‘image/png’, ‘image/svg+xml’] | Literal[‘application/octet-stream’]

class cryosparc.spec.AssetDetails#

Result of job asset files query. Keys may be accessed with dictionary syntax.

Examples

>>> print(details['filename'])
image.png

Attributes:

chunkSize

File chunk size in bytes

contentType

Asset content type, e.g., "image/png"

filename

File name

job_uid

Associated job or session UID

length

Size of file in bytes

md5

MD5 hash of asset

project_uid

Associated project UID

uploadDate

ISO 8601-formatted asset upload date

chunkSize: int#

File chunk size in bytes

contentType: Literal['text/plain', 'text/csv', 'text/html', 'application/json', 'application/xml', 'application/x-troff', 'application/pdf', 'image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'application/octet-stream']#

Asset content type, e.g., “image/png”

filename: str#

File name

job_uid: str#

Associated job or session UID

length: int#

Size of file in bytes

md5: str#

MD5 hash of asset

project_uid: str#

Associated project UID

uploadDate: str#

ISO 8601-formatted asset upload date

cryosparc.spec.AssetFormat(*args, **kwargs)#

Supported job stream log asset file formats.

alias of Literal[‘txt’, ‘csv’, ‘html’, ‘json’, ‘xml’, ‘bild’, ‘bld’] | Literal[‘pdf’, ‘gif’, ‘jpg’, ‘jpeg’, ‘png’, ‘svg’]

class cryosparc.spec.BaseParam#

Base parameter specification.

Attributes:

advanced

True if this is an advanced parameter (hidden unlesss the "Advanced" checkbox is enabled in the Job Builder".

desc

Human-readable parameter description.

hidden

If True, this parameter is always hidden from the interface.

order

Parameter order in the builder list.

section

Parameter section identifier.

title

Human-readable parameter title.

value

Base parameter value.

advanced: bool#

True if this is an advanced parameter (hidden unlesss the “Advanced” checkbox is enabled in the Job Builder”.

desc: str#

Human-readable parameter description.

hidden: bool#

If True, this parameter is always hidden from the interface.

order: int#

Parameter order in the builder list.

section: str#

Parameter section identifier.

title: str#

Human-readable parameter title.

value: bool#

Base parameter value. Should not be changed.

class cryosparc.spec.BaseSchedulerTarget#

Properties shared by both node and cluster scheduler targets.

Attributes:

cache_path

Path the SSD cache scratch directory, if applicable.

cache_quota_mb

Do not cache more than this amoun on the SSD scrath drive..

cache_reserve_mb

Ensure at least this much space is free on the SSD scratch drive before caching.

desc

Human-readable description for this target.

hostname

Network machine hostname (same as name for for clusters).

lane

Lane name this target belongs to.

name

Identifier for this target.

title

Human-readable title for this target.

worker_bin_path

Path to cryosparc_worker/bin/cryosparcw executable.

cache_path: str | None#

Path the SSD cache scratch directory, if applicable.

cache_quota_mb: int#

Do not cache more than this amoun on the SSD scrath drive..

cache_reserve_mb: int#

Ensure at least this much space is free on the SSD scratch drive before caching.

desc: str | None#

Human-readable description for this target.

hostname: str#

Network machine hostname (same as name for for clusters).

lane: str#

Lane name this target belongs to.

name: str#

Identifier for this target.

title: str#

Human-readable title for this target.

worker_bin_path: str#

Path to cryosparc_worker/bin/cryosparcw executable.

class cryosparc.spec.Connection#

Connection element specified in a Job document’s input_slot_groups[].connections list.

Attributes:

group_name

Name of output group in parent job.

job_uid

Parent job UID source of main input group connection.

slots

List of connection specifiers for each slot

group_name: str#

Name of output group in parent job. e.g., “particles”

job_uid: str#

Parent job UID source of main input group connection.

slots: List[ConnectionSlot]#

List of connection specifiers for each slot

class cryosparc.spec.ConnectionSlot#

Slots specified entry in a Job document’s input_slot_groups[].connections[].slots list.

Attributes:

group_name

Name of output group in parent job.

job_uid

Parent job UID source of this input slot connection.

result_name

Name of output slot in parent job, e.g., "blob"

result_type

Type of result slot based on entry in cryosparc_compute/jobs/common.py, e.g., "particle.blob"

slot_name

Passthrough slots have slot_name set to None.

version

Version number or specifier to use.

group_name: str#

Name of output group in parent job. e.g., “particles”

job_uid: str#

Parent job UID source of this input slot connection.

result_name: str#

Name of output slot in parent job, e.g., “blob”

result_type: str#

Type of result slot based on entry in cryosparc_compute/jobs/common.py, e.g., “particle.blob”

slot_name: str | None#

Passthrough slots have slot_name set to None.

version: int | Literal['F']#

Version number or specifier to use. Usually “F”

class cryosparc.spec.Datafield#

Definition of a prefix field within a CS file.

Examples

>>> field = Datafield(dtype='alignments3D', prefix='alignments_class_0', required=False)
>>> print(field['dtype'])
alignments3D

Attributes:

dtype

Datatype-specific string from based on entry in cryosparc_compute/jobs/common.py.

prefix

where to find field in an associated .cs file.

required

whether this field must necessarily exist in a corresponding input/output.

dtype: str#

Datatype-specific string from based on entry in cryosparc_compute/jobs/common.py. e.g., “movie_blob”, “ctf”, “alignments2D”.

prefix: str#

where to find field in an associated .cs file. e.g., “alignments_class_1”

required: bool#

whether this field must necessarily exist in a corresponding input/output. Assumed to be True if not specified

cryosparc.spec.Datatype(*args, **kwargs)#

Supported data types for job inputs and outputs.

alias of Literal[‘exposure’, ‘particle’, ‘template’, ‘volume’, ‘volume_multi’, ‘mask’, ‘live’, ‘ml_model’, ‘symmetry_candidate’, ‘flex_mesh’, ‘flex_model’, ‘hyperparameter’, ‘denoise_model’, ‘annotation_model’]

class cryosparc.spec.EnumParam#

Additional Param keys available for enum params. Inherits from BaseParam.

Attributes:

enum_dict

Map from enum key names to their equivalent values.

enum_keys

Possible enum names for display for selection.

type

Possible Parameter type.

enum_dict: Dict[str, Any]#

Map from enum key names to their equivalent values.

enum_keys: List[str]#

Possible enum names for display for selection. Parameter must be set to one of these values.

type: Literal['enum']#

Possible Parameter type.

class cryosparc.spec.EventLogAsset#

Dictionary item in a job event log’s imgfiles property (in the events collection). Keys may be accessed with dictionary key syntax.

Examples

>>> print(asset['filename'])
image.png

Attributes:

fileid

Reference to file _id property in GridFS collection

filename

File name

filetype

File content type, e.g., "image/png"

fileid: str#

Reference to file _id property in GridFS collection

filename: str#

File name

filetype: Literal['text/plain', 'text/csv', 'text/html', 'application/json', 'application/xml', 'application/x-troff', 'application/pdf', 'image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'application/octet-stream']#

File content type, e.g., “image/png”

class cryosparc.spec.FixedResourceSlots#

Available resource slots that only indicate presence, not the amount that may be allocated. (i.e., “SSD is available or not available”)

Attributes:

SSD

Whether this target thas an SSD

SSD: bool#

Whether this target thas an SSD

class cryosparc.spec.Gpu#

GPU details for a target.

Attributes:

id

Index of GPU.

mem

Amount of memory available on this GPU, in bytes.

name

Identifiable model name for this GPU, e.g.,"GeForce RTX 3090".

id: int#

Index of GPU. Generally based on which PCI slot the GPU occupies.

mem: int#

Amount of memory available on this GPU, in bytes.

name: str#

Identifiable model name for this GPU, e.g.,”GeForce RTX 3090”.

cryosparc.spec.ImageContentType(*args, **kwargs)#

Supported job image asset MIME types.

alias of Literal[‘application/pdf’, ‘image/gif’, ‘image/jpeg’, ‘image/png’, ‘image/svg+xml’]

cryosparc.spec.ImageFormat(*args, **kwargs)#

Supported job stream log asset file image formats.

alias of Literal[‘pdf’, ‘gif’, ‘jpg’, ‘jpeg’, ‘png’, ‘svg’]

class cryosparc.spec.InputSlot#

Dictionary entry in Job document’s input_slot_groups.slots property.

Attributes:

description

Human-readable description

name

Input slot name, e.g., "movie_blob" or "location"

optional

If True, input is not required for the job

title

Human-readable input slot title

type

Cryo-EM native data type, e.g., "exposure", "particle" or "volume"

description: str#

Human-readable description

name: str#

Input slot name, e.g., “movie_blob” or “location”

optional: bool#

If True, input is not required for the job

title: str#

Human-readable input slot title

type: Literal['exposure', 'particle', 'template', 'volume', 'volume_multi', 'mask', 'live', 'ml_model', 'symmetry_candidate', 'flex_mesh', 'flex_model', 'hyperparameter', 'denoise_model', 'annotation_model']#

Cryo-EM native data type, e.g., “exposure”, “particle” or “volume”

class cryosparc.spec.InputSlotGroup#

Element specified in a Job document’s input_slot_groups list.

Attributes:

connections

Connected output for this input group.

count_max

Maximum allowed output groups that may be connected to this input slot.

count_min

Minimum required output groups that may be connected to this input slot.

description

Human-readable input group description.

name

Input group name, e.g., "particles".

repeat_allowed

If True, the same output group may be connected twice.

slots

List of slot definitions in the input group.

title

Human-readable input group title.

type

Possible Cryo-EM data type for this group, e.g., "particle".

connections: List[Connection]#

Connected output for this input group.

count_max: int | None#

Maximum allowed output groups that may be connected to this input slot. Infinity if not specified.

count_min: int#

Minimum required output groups that may be connected to this input slot.

description: str#

Human-readable input group description.

name: str#

Input group name, e.g., “particles”.

repeat_allowed: bool#

If True, the same output group may be connected twice.

slots: List[InputSlot]#

List of slot definitions in the input group.

title: str#

Human-readable input group title.

type: Literal['exposure', 'particle', 'template', 'volume', 'volume_multi', 'mask', 'live', 'ml_model', 'symmetry_candidate', 'flex_mesh', 'flex_model', 'hyperparameter', 'denoise_model', 'annotation_model']#

Possible Cryo-EM data type for this group, e.g., “particle”.

class cryosparc.spec.JobDocument#

Specification for a Job document from the MongoDB database.

Attributes:

children

List of child job UIDs based on output connections.

created_at

Job creation date in ISO 8601 format.

created_by_user_id

Object ID of user account that created this job.

deleted

True if the job has been marked as deleted.

description

Human-readable job markdown description.

input_slot_groups

Input group specifications, including schema and connection information.

job_type

Alias for type key

output_result_groups

Output group specifications.

output_results

Aggregated output results specification (similar to output_result_groups with additional field information).

params_base

Job param specification and their base values.

params_secs

Parameter section definitions

params_spec

User-specified parameter values.

parents

List of parent jobs UIDs based on input connections.

project_uid

Project unique ID, e.g., "P3".

project_uid_num

Project number, e.g., 3.

status

Job scheduling status, e.g., "building", "queued", "running".

title

Human-readable job title.

type

Job type identifier, e.g., "class2d".

uid

Job unique ID, e.g., "J42".

uid_num

Job number, e.g., 42.

workspace_uids

List of workspace UIDs this job belongs to.

children: List[str]#

List of child job UIDs based on output connections.

created_at: str#

Job creation date in ISO 8601 format.

created_by_user_id: str | None#

Object ID of user account that created this job.

deleted: bool#

True if the job has been marked as deleted.

description: str#

Human-readable job markdown description.

input_slot_groups: List[InputSlotGroup]#

Input group specifications, including schema and connection information.

job_type: str#

Alias for type key

output_result_groups: List[OutputResultGroup]#

Output group specifications.

output_results: List[OutputResult]#

Aggregated output results specification (similar to output_result_groups with additional field information).

params_base: Dict[str, Param | EnumParam | PathParam]#

Job param specification and their base values. Each key represents a parameter name.

params_secs: Dict[str, ParamSection]#

Parameter section definitions

params_spec: Dict[str, ParamSpec]#

User-specified parameter values. Each key is a parameter value. Not all keys from params_base are included here, only ones that were explicitly set.

parents: List[str]#

List of parent jobs UIDs based on input connections.

project_uid: str#

Project unique ID, e.g., “P3”.

project_uid_num: int#

Project number, e.g., 3.

status: Literal['building', 'queued', 'launched', 'started', 'running', 'waiting', 'completed', 'killed', 'failed']#

Job scheduling status, e.g., “building”, “queued”, “running”.

title: str#

Human-readable job title.

type: str#

Job type identifier, e.g., “class2d”.

uid: str#

Job unique ID, e.g., “J42”.

uid_num: int#

Job number, e.g., 42.

workspace_uids: List[str]#

List of workspace UIDs this job belongs to.

class cryosparc.spec.JobSection#

Specification of available job types of a certain category.

Examples

>>> {
...     "name": "refinement",
...     "title": "3D Refinement",
...     "description: "...",
...     "contains" : [
...         "homo_refine",
...         "hetero_refine",
...         "nonuniform_refine",
...         "homo_reconstruct"
...     ]
... }

Attributes:

contains

List of available job types in this category

description

Human-readable section description.

name

Section identifier.

title

Human-readable section title.

contains: List[str]#

List of available job types in this category

description: str#

Human-readable section description.

name: str#

Section identifier.

title: str#

Human-readable section title.

class cryosparc.spec.JobSpec#

Specification for a Job document from the CryoSPARC’s job register.

Attributes:

description

Detailed description of job type

develop_only

If True, job is in development and not available to run.

hidden

If True, job is not visible in the interface.

input_slot_groups

Description of available inputs.

is_interactive

If True, this job is requires interaction.

is_lightweight

If True, does job does not require GPUs and requires few-enough resources that it can usually run directly on the master machine.

name

Job's machine-readable type, e.g., 'homo_abinit'.

params_base

Description of available parameters.

params_secs

Description of parameter sections.

shorttitle

Short-version of name, e.g., 'Ab-Initio'.

title

Job's human-readable name, e.g., 'Ab-Initio Reconstruction'.

description: str#

Detailed description of job type

develop_only: bool#

If True, job is in development and not available to run.

hidden: bool#

If True, job is not visible in the interface.

input_slot_groups: List[InputSlotGroup]#

Description of available inputs.

is_interactive: bool#

If True, this job is requires interaction. “Curate Exposures” and “Select 2D Classes” are examples of interactive jobs.

is_lightweight: bool#

If True, does job does not require GPUs and requires few-enough resources that it can usually run directly on the master machine.

name: str#

Job’s machine-readable type, e.g., ‘homo_abinit’.

params_base: Dict[str, Param | EnumParam | PathParam]#

Description of available parameters.

params_secs: Dict[str, ParamSection]#

Description of parameter sections.

shorttitle: str#

Short-version of name, e.g., ‘Ab-Initio’.

title: str#

Job’s human-readable name, e.g., ‘Ab-Initio Reconstruction’.

class cryosparc.spec.JobSpecSection#

Similar to JobSection, except each item in contains is a detailed JobSpec.

Attributes:

contains

List of job details available in this category

description

Human-readable section description.

name

Section identifier.

title

Human-readable section title.

contains: List[JobSpec]#

List of job details available in this category

description: str#

Human-readable section description.

name: str#

Section identifier.

title: str#

Human-readable section title.

cryosparc.spec.JobStatus(*args, **kwargs)#

Possible job status values.

alias of Literal[‘building’, ‘queued’, ‘launched’, ‘started’, ‘running’, ‘waiting’, ‘completed’, ‘killed’, ‘failed’]

class cryosparc.spec.OutputResult#

Detailed schema and metadata for a Job document’s output_results list. Similar to a flattened output_result_groups[].contains but with more details.

Attributes:

description

Human-readable output result description.

group_name

Name of output group, e.g., "particles".

metafiles

List of available intermediate result files (same size as versions).

min_fields

Minimum included dataset field definitions in this result.

name

Name of output result (a.k.a.

num_items

Number of rows in the dataset for this result populated by jobs when they run.

passthrough

If True, this result is passed through as-is from an associated input.

title

Human-readable output result title.

type

Result type based on entry in cryosparc_compute/jobs/common.py, e.g., "particle.alignments3D".

uid

Result unique ID, e.g., "J42-R1".

versions

List of available intermediate result version numbers.

description: str#

Human-readable output result description.

group_name: str#

Name of output group, e.g., “particles”.

metafiles: List[str]#

List of available intermediate result files (same size as versions).

min_fields: List[Tuple[str, str]]#

Minimum included dataset field definitions in this result.

name: str#

Name of output result (a.k.a. slot), e.g., “alignments_class_1”.

num_items: int#

Number of rows in the dataset for this result populated by jobs when they run.

passthrough: bool#

If True, this result is passed through as-is from an associated input.

title: str#

Human-readable output result title.

type: str#

Result type based on entry in cryosparc_compute/jobs/common.py, e.g., “particle.alignments3D”.

uid: str#

Result unique ID, e.g., “J42-R1”.

versions: List[int]#

List of available intermediate result version numbers.

class cryosparc.spec.OutputResultGroup#

Elements of a Job document’s output_result_groups list.

Attributes:

contains

List of specific results (a.k.a.

description

Human-readable output group description.

name

Output group name, e.g., "particles_selected"

num_items

Number of rows in the dataset for this result group populated by jobs when they run.

passthrough

Either False if this is a newly-created output or the name of an input group used to forward passthrough slots for this result group.

summary

Context-specific details about this result populated by jobs when they run.

title

Human-readable output group title.

type

Possible Cryo-EM data type for this group, e.g., "particle".

uid

Ouptut group unique ID, e.g., "J42-G1".

contains: List[OutputResultGroupContains]#

List of specific results (a.k.a. slots) in this output group.

description: str#

Human-readable output group description.

name: str#

Output group name, e.g., “particles_selected”

num_items: int#

Number of rows in the dataset for this result group populated by jobs when they run.

passthrough: str | Literal[False]#

Either False if this is a newly-created output or the name of an input group used to forward passthrough slots for this result group.

summary: dict#

Context-specific details about this result populated by jobs when they run.

title: str#

Human-readable output group title.

type: Literal['exposure', 'particle', 'template', 'volume', 'volume_multi', 'mask', 'live', 'ml_model', 'symmetry_candidate', 'flex_mesh', 'flex_model', 'hyperparameter', 'denoise_model', 'annotation_model']#

Possible Cryo-EM data type for this group, e.g., “particle”.

uid: str#

Ouptut group unique ID, e.g., “J42-G1”.

class cryosparc.spec.OutputResultGroupContains#

Elements of a Job document’s output_result_groups[].contains list.

Attributes:

group_name

Name of output group, e.g., "particles".

name

Name of output result (a.k.a.

passthrough

If True, this result is passed through as-is from an associated input.

type

Result type based on entry in cryosparc_compute/jobs/common.py, e.g., "particle.alignments3D".

uid

Result unique ID, e.g., "J42-R1".

group_name: str#

Name of output group, e.g., “particles”.

name: str#

Name of output result (a.k.a. slot), e.g., “alignments_class_1”.

passthrough: bool#

If True, this result is passed through as-is from an associated input.

type: str#

Result type based on entry in cryosparc_compute/jobs/common.py, e.g., “particle.alignments3D”.

uid: str#

Result unique ID, e.g., “J42-R1”.

class cryosparc.spec.Param#

Specifies possible values for type property. Inherits from BaseParam.

Attributes:

type

Possible Parameter type.

type: Literal['number', 'string', 'boolean']#

Possible Parameter type.

class cryosparc.spec.ParamSection#

Param section specification

Attributes:

desc

Parameter section description

order

Order for this parameter section to appear in the job builder

title

Parameter section title

desc: str#

Parameter section description

order: int#

Order for this parameter section to appear in the job builder

title: str#

Parameter section title

class cryosparc.spec.ParamSpec#

Param specification. Dictionary with single "value" key.

Attributes:

value

Value of param.

value: Any#

Value of param.

class cryosparc.spec.PathParam#

Additional Param key available for path params. Inherits Inherits from BaseParam.

Attributes:

path_dir_allowed

If True, directories may be specified.

path_file_allowed

If True, files may be specified.

path_glob_allowed

If True, a wildcard string that refers to many files may be specified..

path_dir_allowed: bool#

If True, directories may be specified.

path_file_allowed: bool#

If True, files may be specified.

path_glob_allowed: bool#

If True, a wildcard string that refers to many files may be specified..

class cryosparc.spec.ProjectDocument#

Specification for a project document in the MongoDB database.

Attributes:

archived

Whether this project has been marked as archived from the inteface.

created_at

Project creation date in ISO 8601 format.

deleted

Whether this project has been deleted from the interface.

description

Human-readable project markdown description.

detached

Whether this project is detached.

generate_intermediate_results_settings

Project settings for generating intermediate results for specific job types.

hidden

Whether this project is hidden.

last_accessed

Details about when the project was last accessed by a user account.

owner_user_id

Object ID of user account that created this project.

project_dir

Project directory on disk.

project_params_pdef

Project-level job parameter default definitions.

project_stats

Computed project statistics.

size

Computed size of project on disk.

title

Human-readable Project title.

uid

Project unique ID, e.g., "J42".

uid_num

Project number, e.g., 42.

users_with_access

Object IDs of user accounts that may access this project.

archived: bool#

Whether this project has been marked as archived from the inteface.

created_at: str#

Project creation date in ISO 8601 format.

deleted: bool#

Whether this project has been deleted from the interface.

description: str#

Human-readable project markdown description.

detached: bool#

Whether this project is detached.

generate_intermediate_results_settings: dict#

Project settings for generating intermediate results for specific job types.

hidden: bool#

Whether this project is hidden.

last_accessed: ProjectLastAccessed#

Details about when the project was last accessed by a user account.

owner_user_id: str#

Object ID of user account that created this project.

project_dir: str#

Project directory on disk. May include unresolved shell variables.

project_params_pdef: dict#

Project-level job parameter default definitions.

project_stats: dict#

Computed project statistics.

size: int#

Computed size of project on disk.

title: str#

Human-readable Project title.

uid: str#

Project unique ID, e.g., “J42”.

uid_num: int#

Project number, e.g., 42.

users_with_access: List[str]#

Object IDs of user accounts that may access this project.

class cryosparc.spec.ProjectLastAccessed#

Details on when a project was last accessed.

Attributes:

accessed_at

Last access date in ISO 8601 format.

name

User account name that accessed this project.

accessed_at: str#

Last access date in ISO 8601 format.

name: str#

User account name that accessed this project.

class cryosparc.spec.ResourceSlots#

Listings of available resources on a worker node that may be allocated for scheduling.

Attributes:

CPU

List of available CPU core indices.

GPU

List of available GPU indices.

RAM

List of available 8GB slots.

CPU: List[int]#

List of available CPU core indices.

GPU: List[int]#

List of available GPU indices.

RAM: List[int]#

List of available 8GB slots.

class cryosparc.spec.SchedulerLane#

Description for a CryoSPARC scheduler lane.

Attributes:

desc

Human-readable lane description.

name

Identifier for this lane.

title

Human-readable lane title.

type

What kind of lane this is based on how on what kind of target(s) it contains.

desc: str#

Human-readable lane description.

name: str#

Identifier for this lane.

title: str#

Human-readable lane title.

type: Literal['node', 'cluster']#

What kind of lane this is based on how on what kind of target(s) it contains.

cryosparc.spec.SchedulerTarget(*args, **kwargs)#

Scheduler target details.

alias of SchedulerTargetNode | SchedulerTargetGpuNode | SchedulerTargetCluster

class cryosparc.spec.SchedulerTargetCluster#

Cluster-type scheduler targets. Inherits from BaseSchedulerTarget.

Attributes:

qdel_cmd_tpl

Template command to delete cluster jobs.

qinfo_cmd_tpl

Template command to check cluster queue info.

qstat_cmd_tpl

Template command to check the cluster job by its ID.

qsub_cmd_tpl

Template command to submit jobs to the cluster.

script_tpl

Full cluster submission script Jinja template.

send_cmd_tpl

Template command to access the cluster and running commands.

type

Cluster scheduler targets have type "cluster".

qdel_cmd_tpl: str#

Template command to delete cluster jobs.

qinfo_cmd_tpl: str#

Template command to check cluster queue info.

qstat_cmd_tpl: str#

Template command to check the cluster job by its ID.

qsub_cmd_tpl: str#

Template command to submit jobs to the cluster.

script_tpl: str#

Full cluster submission script Jinja template.

send_cmd_tpl: str#

Template command to access the cluster and running commands.

type: Literal['cluster']#

Cluster scheduler targets have type “cluster”.

class cryosparc.spec.SchedulerTargetGpuNode#

node-type scheduler target that includes GPUs. Inherits from BaseSchedulerTarget and SchedulerTargetNode.

Attributes:

gpus

Details about GPUs available on this node.

gpus: List[Gpu]#

Details about GPUs available on this node.

class cryosparc.spec.SchedulerTargetNode#

node-type scheduler target that does not include GPUs. Inherits from BaseSchedulerTarget.

Attributes:

monitor_port

Not used.

resource_fixed

Available fixed resources.

resource_slots

Available compute resources.

ssh_str

Shell command used to access this node, e.g., ssh cryosparcuser@worker.

type

Node scheduler targets have type "node".

monitor_port: int | None#

Not used.

resource_fixed: FixedResourceSlots#

Available fixed resources.

resource_slots: ResourceSlots#

Available compute resources.

ssh_str: str#

Shell command used to access this node, e.g., ssh cryosparcuser@worker.

type: Literal['node']#

Node scheduler targets have type “node”.

cryosparc.spec.SlotSpec(*args, **kwargs)#

A result slot specification for the slots=… argument.

alias of str | Datafield

cryosparc.spec.TextContentType(*args, **kwargs)#

Supported job stream log text asset MIME types.

alias of Literal[‘text/plain’, ‘text/csv’, ‘text/html’, ‘application/json’, ‘application/xml’, ‘application/x-troff’]

cryosparc.spec.TextFormat(*args, **kwargs)#

Supported job stream log asset file text formats.

alias of Literal[‘txt’, ‘csv’, ‘html’, ‘json’, ‘xml’, ‘bild’, ‘bld’]

class cryosparc.spec.WorkspaceDocument#

Specification for a Workspace document from the MongoDB database. Live-related fields are not yet included.

Attributes:

created_at

Workspace creation date in ISO 8601 format.

created_by_user_id

Object ID of user account that created this workspace.

deleted

True if the workspace has been marked as deleted.

description

Human-readable workspace markdown description.

project_uid

Project unique ID, e.g., "P3".

project_uid_num

Project number, e.g., 3.

title

Human-readable workspace title.

uid

Workspace unique ID, e.g., "W1".

uid_num

Workspace number, e.g., 1.

workspace_type

Either "live" or "base".

created_at: str#

Workspace creation date in ISO 8601 format.

created_by_user_id: str#

Object ID of user account that created this workspace.

deleted: bool#

True if the workspace has been marked as deleted.

description: str | None#

Human-readable workspace markdown description.

project_uid: str#

Project unique ID, e.g., “P3”.

project_uid_num: int#

Project number, e.g., 3.

title: str#

Human-readable workspace title.

uid: str#

Workspace unique ID, e.g., “W1”.

uid_num: int#

Workspace number, e.g., 1.

workspace_type: Literal['base', 'live']#

Either “live” or “base”.