jobs_api module

JobsApi

class edgeimpulse_api.api.jobs_api.JobsApi(
		api_client=None
)

Parameters

  • api_client=None

Methods

autotune_dsp_job

edgeimpulse_api.api.jobs_api.autotune_dsp_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		autotune_dsp_request: edgeimpulse_api.models.autotune_dsp_request.AutotuneDspRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Autotune DSP parameters

Autotune DSP block parameters. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • autotune_dsp_request: edgeimpulse_api.models.autotune_dsp_request.AutotuneDspRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

build_on_device_model_job

edgeimpulse_api.api.jobs_api.build_on_device_model_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		type: Annotated[pydantic.types.StrictStr, FieldInfo(default=Ellipsis, description='The name of the built target. You can find this by listing all deployment targets through `listDeploymentTargetsForProject` (via `GET /v1/api/{projectId}/deployment/targets`) and see the `format` type.', extra={})],
		build_on_device_model_request: edgeimpulse_api.models.build_on_device_model_request.BuildOnDeviceModelRequest,
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Build on-device model

Generate code to run the impulse on an embedded device. When this step is complete use downloadBuild to download the artefacts. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • type: Annotated[pydantic.types.StrictStr, FieldInfo(default=Ellipsis, description='The name of the built target. You can find this by listing all deployment targets through listDeploymentTargetsForProject (via GET /v1/api/{projectId}/deployment/targets) and see the format type.', extra={})]

  • build_on_device_model_request: edgeimpulse_api.models.build_on_device_model_request.BuildOnDeviceModelRequest

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

build_organization_on_device_model_job

edgeimpulse_api.api.jobs_api.build_organization_on_device_model_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		build_organization_on_device_model_request: edgeimpulse_api.models.build_organization_on_device_model_request.BuildOrganizationOnDeviceModelRequest,
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Build organizational on-device model

Generate code to run the impulse on an embedded device using an organizational deployment block. When this step is complete use downloadBuild to download the artefacts. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • build_organization_on_device_model_request: edgeimpulse_api.models.build_organization_on_device_model_request.BuildOrganizationOnDeviceModelRequest

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

calculate_data_quality_metrics

edgeimpulse_api.api.jobs_api.calculate_data_quality_metrics(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		calculate_data_quality_metrics_request: edgeimpulse_api.models.calculate_data_quality_metrics_request.CalculateDataQualityMetricsRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Calculate data quality metrics. Only available for EI staff.

Calculate data quality metrics for the dataset

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • calculate_data_quality_metrics_request: edgeimpulse_api.models.calculate_data_quality_metrics_request.CalculateDataQualityMetricsRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

cancel_job

edgeimpulse_api.api.jobs_api.cancel_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		force_cancel: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description="If set to 'true', we won't wait for the job cluster to cancel the job, and will mark the job as finished.", extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.generic_api_response.GenericApiResponse

Cancel job

Cancel a running job.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • force_cancel: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description="If set to 'true', we won't wait for the job cluster to cancel the job, and will mark the job as finished.", extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.generic_api_response.GenericApiResponse

create_ai_actions_job

edgeimpulse_api.api.jobs_api.create_ai_actions_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		action_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='AI Action ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Create AI Actions job

Run an AI Actions job over a subset of data. This will instruct the block to apply the changes directly to your dataset. To preview, use "createPreviewAIActionsJob". To set the config use updateAIAction.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • action_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='AI Action ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

create_preview_ai_actions_job

edgeimpulse_api.api.jobs_api.create_preview_ai_actions_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		action_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='AI Action ID', extra={})],
		create_preview_ai_actions_job_request: edgeimpulse_api.models.create_preview_ai_actions_job_request.CreatePreviewAIActionsJobRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Create preview AI Actions job

Do a dry-run of an AI Actions job over a subset of data. This will instruct the block to propose changes to data items (via "setSampleProposedChanges") rather than apply the changes directly.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • action_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='AI Action ID', extra={})]

  • create_preview_ai_actions_job_request: edgeimpulse_api.models.create_preview_ai_actions_job_request.CreatePreviewAIActionsJobRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

create_synthetic_data_job

edgeimpulse_api.api.jobs_api.create_synthetic_data_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		create_synthetic_data_request: edgeimpulse_api.models.create_synthetic_data_request.CreateSyntheticDataRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Create synthetic data

Generate new synthetic data

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • create_synthetic_data_request: edgeimpulse_api.models.create_synthetic_data_request.CreateSyntheticDataRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

download_jobs_logs

edgeimpulse_api.api.jobs_api.download_jobs_logs(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None,
		log_level: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Log level (error, warn, info, debug)', extra={})] = None,
		**kwargs
)> str

Download logs

Download the logs for a job (as a text file).

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None

  • log_level: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Log level (error, warn, info, debug)', extra={})] = None

  • **kwargs

Return

str

export_keras_block

edgeimpulse_api.api.jobs_api.export_keras_block(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Export Keras block

Export the training pipeline of a Keras block. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

export_keras_block_data

edgeimpulse_api.api.jobs_api.export_keras_block_data(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})],
		export_keras_block_data_request: edgeimpulse_api.models.export_keras_block_data_request.ExportKerasBlockDataRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Export Keras block data

Export the data of a Keras block (already split in train/validate data). Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})]

  • export_keras_block_data_request: edgeimpulse_api.models.export_keras_block_data_request.ExportKerasBlockDataRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

generate_data_explorer_features

edgeimpulse_api.api.jobs_api.generate_data_explorer_features(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Generate data explorer features

Generate features for the data explorer

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

generate_features_job

edgeimpulse_api.api.jobs_api.generate_features_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		generate_features_request: edgeimpulse_api.models.generate_features_request.GenerateFeaturesRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Generate features

Take the raw training set and generate features from them. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • generate_features_request: edgeimpulse_api.models.generate_features_request.GenerateFeaturesRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

get_impulse_migration_job_status

edgeimpulse_api.api.jobs_api.get_impulse_migration_job_status(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.get_job_response.GetJobResponse

Get impulse migration status

Get the status for the multi-impulse migration job in this project. This is a separate route so public projects can access it. If no multi-impulse migration jobs are present, an error will be thrown.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.get_job_response.GetJobResponse

get_impulse_migration_jobs_logs

edgeimpulse_api.api.jobs_api.get_impulse_migration_jobs_logs(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None,
		log_level: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Log level (error, warn, info, debug)', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.log_stdout_response.LogStdoutResponse

Get impulse migration logs

Get the logs for the multi-impulse migration job in this project. This is a separate route so public projects can access it. If no multi-impulse migration jobs are present, an error will be thrown.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None

  • log_level: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Log level (error, warn, info, debug)', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.log_stdout_response.LogStdoutResponse

get_job_status

edgeimpulse_api.api.jobs_api.get_job_status(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.get_job_response.GetJobResponse

Get job status

Get the status for a job.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.get_job_response.GetJobResponse

get_jobs_logs

edgeimpulse_api.api.jobs_api.get_jobs_logs(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None,
		log_level: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Log level (error, warn, info, debug)', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.log_stdout_response.LogStdoutResponse

Get logs

Get the logs for a job.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None

  • log_level: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Log level (error, warn, info, debug)', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.log_stdout_response.LogStdoutResponse

get_jobs_summary

edgeimpulse_api.api.jobs_api.get_jobs_summary(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		start_date: Annotated[datetime.datetime, FieldInfo(default=Ellipsis, description='Start date', extra={})],
		end_date: Annotated[datetime.datetime, FieldInfo(default=Ellipsis, description='End date', extra={})],
		**kwargs
)> edgeimpulse_api.models.job_summary_response.JobSummaryResponse

Job summary

Get a summary of jobs, grouped by key. Used to report to users how much compute they've used.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • start_date: Annotated[datetime.datetime, FieldInfo(default=Ellipsis, description='Start date', extra={})]

  • end_date: Annotated[datetime.datetime, FieldInfo(default=Ellipsis, description='End date', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.job_summary_response.JobSummaryResponse

get_profile_tflite_job_result

edgeimpulse_api.api.jobs_api.get_profile_tflite_job_result(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.profile_tf_lite_response.ProfileTfLiteResponse

Get TFLite profile result (GET)

Get the results from a job started from startProfileTfliteJob (via a GET request).

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.profile_tf_lite_response.ProfileTfLiteResponse

get_profile_tflite_job_result_via_post_request

edgeimpulse_api.api.jobs_api.get_profile_tflite_job_result_via_post_request(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.profile_tf_lite_response.ProfileTfLiteResponse

Get TFLite profile result (POST)

Get the results from a job started from startProfileTfliteJob (via a POST request).

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.profile_tf_lite_response.ProfileTfLiteResponse

list_active_jobs

edgeimpulse_api.api.jobs_api.list_active_jobs(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		root_only: Annotated[Optional[pydantic.types.StrictBool], FieldInfo(default=PydanticUndefined, description='Whether to exclude jobs with a parent ID (so jobs started as part of another job)', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.list_jobs_response.ListJobsResponse

List active jobs

Get all active jobs for this project

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • root_only: Annotated[Optional[pydantic.types.StrictBool], FieldInfo(default=PydanticUndefined, description='Whether to exclude jobs with a parent ID (so jobs started as part of another job)', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.list_jobs_response.ListJobsResponse

list_all_jobs

edgeimpulse_api.api.jobs_api.list_all_jobs(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		start_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='Start date', extra={})] = None,
		end_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='End date', extra={})] = None,
		limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None,
		offset: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.', extra={})] = None,
		root_only: Annotated[Optional[pydantic.types.StrictBool], FieldInfo(default=PydanticUndefined, description='Whether to exclude jobs with a parent ID (so jobs started as part of another job)', extra={})] = None,
		key: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Job key to filter on', extra={})] = None,
		category: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Job category to filter on', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.list_jobs_response.ListJobsResponse

List all jobs

Get all jobs for this project

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • start_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='Start date', extra={})] = None

  • end_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='End date', extra={})] = None

  • limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None

  • offset: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.', extra={})] = None

  • root_only: Annotated[Optional[pydantic.types.StrictBool], FieldInfo(default=PydanticUndefined, description='Whether to exclude jobs with a parent ID (so jobs started as part of another job)', extra={})] = None

  • key: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Job key to filter on', extra={})] = None

  • category: Annotated[Optional[pydantic.types.StrictStr], FieldInfo(default=PydanticUndefined, description='Job category to filter on', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.list_jobs_response.ListJobsResponse

list_finished_jobs

edgeimpulse_api.api.jobs_api.list_finished_jobs(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		start_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='Start date', extra={})] = None,
		end_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='End date', extra={})] = None,
		limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None,
		offset: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.', extra={})] = None,
		root_only: Annotated[Optional[pydantic.types.StrictBool], FieldInfo(default=PydanticUndefined, description='Whether to exclude jobs with a parent ID (so jobs started as part of another job)', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.list_jobs_response.ListJobsResponse

List finished jobs

Get all finished jobs for this project

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • start_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='Start date', extra={})] = None

  • end_date: Annotated[Optional[datetime.datetime], FieldInfo(default=PydanticUndefined, description='End date', extra={})] = None

  • limit: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Maximum number of results', extra={})] = None

  • offset: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.', extra={})] = None

  • root_only: Annotated[Optional[pydantic.types.StrictBool], FieldInfo(default=PydanticUndefined, description='Whether to exclude jobs with a parent ID (so jobs started as part of another job)', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.list_jobs_response.ListJobsResponse

optimize_job

edgeimpulse_api.api.jobs_api.optimize_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		continuation_job_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Tuner coordinator job ID', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Optimize model

Evaluates optimal model architecture

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • continuation_job_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Tuner coordinator job ID', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

retry_impulse_migration

edgeimpulse_api.api.jobs_api.retry_impulse_migration(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Retry impulse migration

If an impulse migration previously failed, use this function to retry the job.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

set_tuner_primary_job

edgeimpulse_api.api.jobs_api.set_tuner_primary_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		trial_id: Annotated[pydantic.types.StrictStr, FieldInfo(default=Ellipsis, description='trial ID', extra={})],
		set_tuner_primary_job_request: Optional[edgeimpulse_api.models.set_tuner_primary_job_request.SetTunerPrimaryJobRequest] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Sets EON tuner primary model

Sets EON tuner primary model

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • trial_id: Annotated[pydantic.types.StrictStr, FieldInfo(default=Ellipsis, description='trial ID', extra={})]

  • set_tuner_primary_job_request: Optional[edgeimpulse_api.models.set_tuner_primary_job_request.SetTunerPrimaryJobRequest] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_classify_job

edgeimpulse_api.api.jobs_api.start_classify_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		start_classify_job_request: edgeimpulse_api.models.start_classify_job_request.StartClassifyJobRequest,
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Classify

Classifies all items in the testing dataset against the current impulse. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • start_classify_job_request: edgeimpulse_api.models.start_classify_job_request.StartClassifyJobRequest

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_deploy_pretrained_model_job

edgeimpulse_api.api.jobs_api.start_deploy_pretrained_model_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		deploy_pretrained_model_request: edgeimpulse_api.models.deploy_pretrained_model_request.DeployPretrainedModelRequest,
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Deploy pretrained model

Takes in a TFLite file and builds the model and SDK. Updates are streamed over the websocket API (or can be retrieved through the /stdout endpoint). Use getProfileTfliteJobResult to get the results when the job is completed.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • deploy_pretrained_model_request: edgeimpulse_api.models.deploy_pretrained_model_request.DeployPretrainedModelRequest

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_evaluate_job

edgeimpulse_api.api.jobs_api.start_evaluate_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Evaluate

Evaluates every variant of the current impulse. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_keywords_noise_job

edgeimpulse_api.api.jobs_api.start_keywords_noise_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Add keywords and noise

Add keywords and noise data to a project (for getting started guide)

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_make_version_public_job

edgeimpulse_api.api.jobs_api.start_make_version_public_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		version_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Version ID', extra={})],
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Make a version public

Make a version of a project public. This makes all data and state available (read-only) on a public URL, and allows users to clone this project.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • version_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Version ID', extra={})]

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_original_export_job

edgeimpulse_api.api.jobs_api.start_original_export_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		export_original_data_request: edgeimpulse_api.models.export_original_data_request.ExportOriginalDataRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Export original data

Export all the data in the project as it was uploaded to Edge Impulse. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • export_original_data_request: edgeimpulse_api.models.export_original_data_request.ExportOriginalDataRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_performance_calibration_job

edgeimpulse_api.api.jobs_api.start_performance_calibration_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		start_performance_calibration_request: edgeimpulse_api.models.start_performance_calibration_request.StartPerformanceCalibrationRequest,
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Performance Calibration

Simulates real world usage and returns performance metrics.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • start_performance_calibration_request: edgeimpulse_api.models.start_performance_calibration_request.StartPerformanceCalibrationRequest

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_post_processing_job

edgeimpulse_api.api.jobs_api.start_post_processing_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		start_post_processing_request: edgeimpulse_api.models.start_post_processing_request.StartPostProcessingRequest,
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Post-processing

Begins post processing job

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • start_post_processing_request: edgeimpulse_api.models.start_post_processing_request.StartPostProcessingRequest

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_profile_tflite_job

edgeimpulse_api.api.jobs_api.start_profile_tflite_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		profile_tf_lite_request: edgeimpulse_api.models.profile_tf_lite_request.ProfileTfLiteRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Profile TFLite model

Takes in a TFLite model and returns the latency, RAM and ROM used for this model. Updates are streamed over the websocket API (or can be retrieved through the /stdout endpoint). Use getProfileTfliteJobResult to get the results when the job is completed.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • profile_tf_lite_request: edgeimpulse_api.models.profile_tf_lite_request.ProfileTfLiteRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_restore_job

edgeimpulse_api.api.jobs_api.start_restore_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		restore_project_request: edgeimpulse_api.models.restore_project_request.RestoreProjectRequest,
		**kwargs
)> edgeimpulse_api.models.generic_api_response.GenericApiResponse

Restore project to version

Restore a project to a certain version. This can only applied to a project without data, and will overwrite your impulse and all settings.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • restore_project_request: edgeimpulse_api.models.restore_project_request.RestoreProjectRequest

  • **kwargs

Return

edgeimpulse_api.models.generic_api_response.GenericApiResponse

start_restore_job_from_public

edgeimpulse_api.api.jobs_api.start_restore_job_from_public(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		restore_project_from_public_request: edgeimpulse_api.models.restore_project_from_public_request.RestoreProjectFromPublicRequest,
		**kwargs
)> edgeimpulse_api.models.generic_api_response.GenericApiResponse

Restore project to public version

Restore a project to a certain public version. This can only applied to a project without data, and will overwrite your impulse and all settings.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • restore_project_from_public_request: edgeimpulse_api.models.restore_project_from_public_request.RestoreProjectFromPublicRequest

  • **kwargs

Return

edgeimpulse_api.models.generic_api_response.GenericApiResponse

start_retrain_job

edgeimpulse_api.api.jobs_api.start_retrain_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Retrain

Retrains the current impulse with the last known parameters. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • impulse_id: Annotated[Optional[pydantic.types.StrictInt], FieldInfo(default=PydanticUndefined, description='Impulse ID. If this is unset then the default impulse is used.', extra={})] = None

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_version_job

edgeimpulse_api.api.jobs_api.start_version_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		project_version_request: edgeimpulse_api.models.project_version_request.ProjectVersionRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Version project

Create a new version of the project. This stores all data and configuration offsite. If you have access to the enterprise version of Edge Impulse you can store your data in your own storage buckets (only through JWT token authentication).

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • project_version_request: edgeimpulse_api.models.project_version_request.ProjectVersionRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

start_wav_export_job

edgeimpulse_api.api.jobs_api.start_wav_export_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		export_wav_data_request: edgeimpulse_api.models.export_wav_data_request.ExportWavDataRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Export data as WAV

Export all the data in the project in WAV format. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • export_wav_data_request: edgeimpulse_api.models.export_wav_data_request.ExportWavDataRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

train_anomaly_job

edgeimpulse_api.api.jobs_api.train_anomaly_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})],
		start_training_request_anomaly: edgeimpulse_api.models.start_training_request_anomaly.StartTrainingRequestAnomaly,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Train model (Anomaly)

Take the output from a DSP block and train an anomaly detection model using K-means or GMM. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})]

  • start_training_request_anomaly: edgeimpulse_api.models.start_training_request_anomaly.StartTrainingRequestAnomaly

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

train_keras_job

edgeimpulse_api.api.jobs_api.train_keras_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})],
		set_keras_parameter_request: edgeimpulse_api.models.set_keras_parameter_request.SetKerasParameterRequest,
		**kwargs
)> edgeimpulse_api.models.start_job_response.StartJobResponse

Train model (Keras)

Take the output from a DSP block and train a neural network using Keras. Updates are streamed over the websocket API.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • learn_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Learn Block ID, use the impulse functions to retrieve the ID', extra={})]

  • set_keras_parameter_request: edgeimpulse_api.models.set_keras_parameter_request.SetKerasParameterRequest

  • **kwargs

Return

edgeimpulse_api.models.start_job_response.StartJobResponse

update_job

edgeimpulse_api.api.jobs_api.update_job(
		self,
		project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})],
		job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})],
		update_job_request: edgeimpulse_api.models.update_job_request.UpdateJobRequest,
		**kwargs
)> edgeimpulse_api.models.generic_api_response.GenericApiResponse

Update job

Update a job.

Parameters

  • self

  • project_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Project ID', extra={})]

  • job_id: Annotated[pydantic.types.StrictInt, FieldInfo(default=Ellipsis, description='Job ID', extra={})]

  • update_job_request: edgeimpulse_api.models.update_job_request.UpdateJobRequest

  • **kwargs

Return

edgeimpulse_api.models.generic_api_response.GenericApiResponse

Last updated