deseasion.backend.models.project_data module

class deseasion.backend.models.project_data.DataGenerator(processing_model=None, **kwargs)

Bases: DynamicData

active_model_id
created_at
data
data_id
data_type
description
id
input_data
last_update
modified_at
name
output_data
property processing_model
project
project_id
query: t.ClassVar[Query]

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

class deseasion.backend.models.project_data.DataGeo(data=None, data_id=None, **kwargs)

Bases: ProjectData

add_input(project_data)

Add input (always fail).

Parameters:

project_data

Raises:

TypeError – data doesn’t accept inputs

create()

Persist the object in the database, with a creation, modification and last updat edate

created_at
data
data_id
data_type
description
id
input_data
is_outdated()

Checks if input data are more recent than this object

last_update
modified_at
name
output_data
project
project_id
query: t.ClassVar[Query]

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

class deseasion.backend.models.project_data.DataStream(stream=None, stream_id=None, **kwargs)

Bases: DynamicData

add_input(project_data)

Add input (always fail).

Parameters:

project_data

Raises:

TypeError – data doesn’t accept inputs

classes
created_at
data
data_id
data_type
description
id
input_data
last_update
modified_at
name
output_data
project
project_id
query: t.ClassVar[Query]

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

resolution
start
step
stop
stream
stream_id
class deseasion.backend.models.project_data.DataType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

data_stream = 4
generator = 2
geo_data = 1
global_data = 3
class deseasion.backend.models.project_data.DynamicData(name=None, project=None, description='', input_data=[])

Bases: ProjectData

created_at
data
data_id
data_type
description
id
input_data
last_update
modified_at
name
output_data
project
project_id
query: t.ClassVar[Query]

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

class deseasion.backend.models.project_data.ProjectData(name=None, project=None, description='', input_data=[])

Bases: TimestampMixin, Model

add_input(project_data)

Add input data.

Parameters:

project_data

Raises:

ValueError – if project_data is from a different project

created_at
data
data_id
data_type
description
explain(feature: Feature) dict

Explain feature values wrt the project data.

Parameters:

feature

Raises:

ValueError – if feature does not belong to this project data

Returns:

explanation as a dict

get_attributes_list()

Returns the list of attributes of the features for this data.

Returns:

a dictionary with the following keys: “id”, “name”, “type”, “statistics”

get_used_attributes() list[DataAttribute]

Get used attributes of project data if the user is authorized to access it.

This list contains all attributes used at least once in a processing model of the downstream project data.

Returns:

Used attributes.

get_used_input_attributes() list[DataAttribute]

Get used input attributes of project data if the user is authorized to access it.

This list contains al inputl attributes used at least once in a processing model of the project data.

Returns:

Used input attributes.

id
input_data
is_outdated()

Checks if input data are more recent than this object

last_update
modified_at
name
output_data
project
project_id
query: t.ClassVar[Query]

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

update_full()

Update project data.

This makes sure that ProjectData.last_update field is equal to ProjectData.modified_at after update and database commit. So ProjectData.is_outdated() method works as intended.

Returns:

class deseasion.backend.models.project_data.ProjectGlobalData(data=None, data_id=None, **kwargs)

Bases: ProjectData

add_input(project_data)

Add input (always fail).

Parameters:

project_data

Raises:

TypeError – data doesn’t accept inputs

create()

Persist the object in the database, with a creation, modification and last updat edate

created_at
data
data_id
data_type
description
id
input_data
is_outdated()

Checks if input data are more recent than this object

last_update
modified_at
name
output_data
project
project_id
query: t.ClassVar[Query]

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

deseasion.backend.models.project_data.generator_name_set(target, value, oldvalue, initiator)

Event to modify the generated geo-data name when the project data name is modified