schema package

Submodules

schema.model module

Module qui contient les schémas des dataframes.

Ce module contient les schémas des dataframes des DataLoggers, des stations, des séries temporelles et des zones de marées.

class schema.model.DataLoggerSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des données des DataLoggers.

class Config[source]

Bases: object

coerce = True
name = 'DataLoggerSchema'
Depth_processed_meter: Series[Float64Dtype()] = 'Depth_processed_meter'
Depth_raw_meter: Series[Float64Dtype()] = 'Depth_raw_meter'
IHO_order: Series[str] = 'IHO_order'
Latitude_WGS84: Series[Float64Dtype()] = 'Latitude_WGS84'
Longitude_WGS84: Series[Float64Dtype()] = 'Longitude_WGS84'
Outlier: Series[object] = 'Outlier'
SSP_uncertainty_percent: Series[Float64Dtype()] = 'SSP_uncertainty_percent'
Speed_kn: Series[Float64Dtype()] = 'Speed_kn'
THU: Series[Float64Dtype()] = 'THU'
Time_UTC: Series[datetime64[ns, UTC]] = 'Time_UTC'
Uncertainty: Series[Float64Dtype()] = 'Uncertainty'
Uncertainty_station_meter: Series[Float64Dtype()] = 'Uncertainty_station_meter'
Water_level_info: Series[object] = 'Water_level_info'
Water_level_meter: Series[Float64Dtype()] = 'Water_level_meter'
geometry: GeoSeries = 'geometry'
class schema.model.DataLoggerWithTideZoneSchema(*args, **kwargs)[source]

Bases: DataLoggerSchema

Schéma des données des DataLoggers avec les zones de marées.

class Config[source]

Bases: object

coerce = True
name = 'DataLoggerWithTideZoneSchema'
Tide_zone_code: Series[str] = 'Tide_zone_code'
Tide_zone_id: Series[str] = 'Tide_zone_id'
Tide_zone_name: Series[str] = 'Tide_zone_name'
Time_serie: Series[str] = 'Time_serie'
class schema.model.DataLoggerWithVoronoiSchema(*args, **kwargs)[source]

Bases: DataLoggerSchema

Schéma des données des DataLoggers avec les zones de Voronoi.

class Config

Bases: Config

name = 'DataLoggerWithVoronoiSchema'
Time_serie: Series[object] = 'Time_serie'
code: Series[str] = 'code'
id: Series[str] = 'id'
name: Series[str] = 'name'
class schema.model.OutlierInfo(tags=<factory>)[source]

Bases: object

tags: list[Status]
class schema.model.StationsSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des stations.

class Config[source]

Bases: object

coerce = True
name = 'StationsSchema'
code: Series[str] = 'code'
geometry: GeoSeries = 'geometry'
id: Series[str] = 'id'
is_tidal: Series[object] = 'is_tidal'
name: Series[str] = 'name'
time_series: Series[object] = 'time_series'
class schema.model.Status(value)[source]

Bases: StrEnum

Enum pour les statuts de filtrage des données.

ACCEPTED = 'accepted'
REJECTED_BY_DEPTH_FILTER = 'rejected by depth filter'
REJECTED_BY_LATITUDE_FILTER = 'rejected by latitude filter'
REJECTED_BY_LONGITUDE_FILTER = 'rejected by longitude filter'
REJECTED_BY_SPEED_FILTER = 'rejected by speed filter'
REJECTED_BY_TIME_FILTER = 'rejected by time filter'
class schema.model.TideZoneInfoSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des informations des zones de marées.

class Config[source]

Bases: object

coerce = True
name = 'TideZoneInfoSchema'
Tide_zone_id: Series[str] = 'Tide_zone_id'
max_time: Series[datetime64[ns, UTC]] = 'max_time'
min_time: Series[datetime64[ns, UTC]] = 'min_time'
time_series: Series[object] = 'time_series'
class schema.model.TideZoneProtocolSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des protocoles des zones de marées.

class Config[source]

Bases: object

coerce = True
name = 'TideZoneProtocolSchema'
id: Series[str] = 'id'
time_series: Series[object] = 'time_series'
class schema.model.TideZoneStationSchema(*args, **kwargs)[source]

Bases: TideZoneProtocolSchema

Schéma des zones de marées extraite des stations.

class Config

Bases: Config

name = 'TideZoneStationSchema'
code: Series[str] = 'code'
geometry: GeoSeries = 'geometry'
is_tidal: Series[object] = 'is_tidal'
name: Series[str] = 'name'
station_position: GeoSeries = 'station_position'
class schema.model.WaterLevelInfo(water_level_meter=nan, time_series=None, id=None, name=None, code=None)[source]

Bases: object

Classe pour les informations sur les niveaux d’eau.

code: str = None

Le code de la station.

id: str = None

L’identifiant de la station.

name: str = None

Le nom de la station.

time_series: str = None

Le code de la série temporelle.

water_level_meter: float = nan

Le niveau d’eau en mètre.

class schema.model.WaterLevelSerieDataSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des séries temporelles.

class Config[source]

Bases: object

coerce = True
name = 'WaterLevelSerieDataSchema'
event_date: Series[datetime64[ns, UTC]] = 'event_date'
time_serie_code: Series[str] = 'time_serie_code'
value: Series[Float64Dtype()] = 'value'
class schema.model.WaterLevelSerieDataWithMetaDataSchema(*args, **kwargs)[source]

Bases: WaterLevelSerieDataSchema

Schéma des séries temporelles avec les métadonnées.

class Config

Bases: Config

name = 'WaterLevelSerieDataWithMetaDataSchema'
classmethod validate(df, *args, **kwargs)[source]

Valide les métadonnées des séries temporelles en surchargeant la méthode de validation par défaut.

Parameters:
  • df (DataFrame) – Les séries temporelles.

  • args (Any) – Les arguments.

  • kwargs (Any) – Les paramètres.

Returns:

Les séries temporelles validées.

Return type:

DataFrame

schema.model.validate_schema(data, schema)[source]

Valide le schéma des stations.

Parameters:
  • data (gpd.GeoDataFrame | DataFrame) – Les stations.

  • schema (Type[pa.DataFrameModel]) – Le schéma.

Return type:

None

schema.model.validate_schemas(return_schema=None, **schemas)[source]

Valide les schémas des dataframes.

Parameters:
  • return_schema (Optional[Type[pa.DataFrameModel]]) – Le schéma de retour.

  • schemas (: Type[pa.DataFrameModel]]) – Les schémas.

Returns:

La fonction décorée.

Return type:

Callable

schema.model_ids module

Ce module contient les constantes pour les identifiants des modèles de données.

schema.model_ids.CODE: str = 'code'

Valeur de la constante code.

schema.model_ids.DEPTH_PROCESSED_METER: str = 'Depth_processed_meter'

Valeur de la constante Depth_processed_meter.

schema.model_ids.DEPTH_RAW_METER: str = 'Depth_raw_meter'

Valeur de la constante Depth_raw_meter.

schema.model_ids.END_TIME: str = 'end_time'

Valeur de la constante end_time.

schema.model_ids.EVENT_DATE: str = 'event_date'

Valeur de la constante event_date.

schema.model_ids.GEOMETRY: str = 'geometry'

Valeur de la constante geometry.

schema.model_ids.ID: str = 'id'

Valeur de la constante id.

schema.model_ids.IHO_ORDER: str = 'IHO_order'

Valeur de la constante IHO_order.

schema.model_ids.IS_TIDAL: str = 'is_tidal'

Valeur de la constante is_tidal.

schema.model_ids.LATITUDE_WGS84: str = 'Latitude_WGS84'

Valeur de la constante Latitude_WGS84.

schema.model_ids.LONGITUDE_WGS84: str = 'Longitude_WGS84'

Valeur de la constante Longitude_WGS84.

schema.model_ids.MAX_TIME: str = 'max_time'

Valeur de la constante max_time.

schema.model_ids.MIN_TIME: str = 'min_time'

Valeur de la constante min_time.

schema.model_ids.NAME: str = 'name'

Valeur de la constante name.

schema.model_ids.NAME_METADATA: str = 'name'

Valeur de la constante name.

schema.model_ids.OUTLIER: str = 'Outlier'

Valeur de la constante Outlier.

schema.model_ids.SPEED_KN: str = 'Speed_kn'

Valeur de la constante Speed.

schema.model_ids.SSP_UNCERTAINTY_PERCENT: str = 'SSP_uncertainty_percent'

Valeur de la constante SSP_uncertainty_percent.

schema.model_ids.START_TIME: str = 'start_time'

Valeur de la constante start_time.

schema.model_ids.STATION_ID: str = 'station_id'

Valeur de la constante station_id.

schema.model_ids.STATION_POSITION: str = 'station_position'

Valeur de la constante station_position.

schema.model_ids.THU: str = 'THU'

Valeur de la constante THU.

schema.model_ids.TIDE_ZONE_CODE: str = 'Tide_zone_code'

Valeur de la constante Tide_zone_code.

schema.model_ids.TIDE_ZONE_ID: str = 'Tide_zone_id'

Valeur de la constante Tide_zone_id.

schema.model_ids.TIDE_ZONE_NAME: str = 'Tide_zone_name'

Valeur de la constante Tide_zone_name.

schema.model_ids.TIME_SERIE: str = 'Time_serie'

Valeur de la constante Time_serie.

schema.model_ids.TIME_SERIES: str = 'time_series'

Valeur de la constante time_series.

schema.model_ids.TIME_SERIE_CODE: str = 'time_serie_code'

Valeur de la constante time_serie_code.

schema.model_ids.TIME_UTC: str = 'Time_UTC'

Valeur de la constante Time_UTC.

schema.model_ids.UNCERTAINTY: str = 'Uncertainty'

Valeur de la constante Uncertainty.

schema.model_ids.UNCERTAINTY_STATION_METER: str = 'Uncertainty_station_meter'

Valeur de la constante Uncertainty_station_meter.

schema.model_ids.VALUE: str = 'value'

Valeur de la constante value.

schema.model_ids.WATER_LEVEL_INFO: str = 'Water_level_info'

Valeur de la constante Water_level_info.

schema.model_ids.WATER_LEVEL_METER: str = 'Water_level_meter'

Valeur de la constante Water_level_meter.

Module contents

Ce package contient les schémas des données.

class schema.DataLoggerSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des données des DataLoggers.

class Config[source]

Bases: object

coerce = True
name = 'DataLoggerSchema'
Depth_processed_meter: Series[Float64Dtype()] = 'Depth_processed_meter'
Depth_raw_meter: Series[Float64Dtype()] = 'Depth_raw_meter'
IHO_order: Series[str] = 'IHO_order'
Latitude_WGS84: Series[Float64Dtype()] = 'Latitude_WGS84'
Longitude_WGS84: Series[Float64Dtype()] = 'Longitude_WGS84'
Outlier: Series[object] = 'Outlier'
SSP_uncertainty_percent: Series[Float64Dtype()] = 'SSP_uncertainty_percent'
Speed_kn: Series[Float64Dtype()] = 'Speed_kn'
THU: Series[Float64Dtype()] = 'THU'
Time_UTC: Series[datetime64[ns, UTC]] = 'Time_UTC'
Uncertainty: Series[Float64Dtype()] = 'Uncertainty'
Uncertainty_station_meter: Series[Float64Dtype()] = 'Uncertainty_station_meter'
Water_level_info: Series[object] = 'Water_level_info'
Water_level_meter: Series[Float64Dtype()] = 'Water_level_meter'
geometry: GeoSeries = 'geometry'
class schema.DataLoggerWithTideZoneSchema(*args, **kwargs)[source]

Bases: DataLoggerSchema

Schéma des données des DataLoggers avec les zones de marées.

class Config[source]

Bases: object

coerce = True
name = 'DataLoggerWithTideZoneSchema'
Tide_zone_code: Series[str] = 'Tide_zone_code'
Tide_zone_id: Series[str] = 'Tide_zone_id'
Tide_zone_name: Series[str] = 'Tide_zone_name'
Time_serie: Series[str] = 'Time_serie'
class schema.DataLoggerWithVoronoiSchema(*args, **kwargs)[source]

Bases: DataLoggerSchema

Schéma des données des DataLoggers avec les zones de Voronoi.

class Config

Bases: Config

name = 'DataLoggerWithVoronoiSchema'
Time_serie: Series[object] = 'Time_serie'
code: Series[str] = 'code'
id: Series[str] = 'id'
name: Series[str] = 'name'
class schema.OutlierInfo(tags=<factory>)[source]

Bases: object

tags: list[Status]
class schema.StationsSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des stations.

class Config[source]

Bases: object

coerce = True
name = 'StationsSchema'
code: Series[str] = 'code'
geometry: GeoSeries = 'geometry'
id: Series[str] = 'id'
is_tidal: Series[object] = 'is_tidal'
name: Series[str] = 'name'
time_series: Series[object] = 'time_series'
class schema.Status(value)[source]

Bases: StrEnum

Enum pour les statuts de filtrage des données.

ACCEPTED = 'accepted'
REJECTED_BY_DEPTH_FILTER = 'rejected by depth filter'
REJECTED_BY_LATITUDE_FILTER = 'rejected by latitude filter'
REJECTED_BY_LONGITUDE_FILTER = 'rejected by longitude filter'
REJECTED_BY_SPEED_FILTER = 'rejected by speed filter'
REJECTED_BY_TIME_FILTER = 'rejected by time filter'
class schema.TideZoneInfoSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des informations des zones de marées.

class Config[source]

Bases: object

coerce = True
name = 'TideZoneInfoSchema'
Tide_zone_id: Series[str] = 'Tide_zone_id'
max_time: Series[datetime64[ns, UTC]] = 'max_time'
min_time: Series[datetime64[ns, UTC]] = 'min_time'
time_series: Series[object] = 'time_series'
class schema.TideZoneProtocolSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des protocoles des zones de marées.

class Config[source]

Bases: object

coerce = True
name = 'TideZoneProtocolSchema'
id: Series[str] = 'id'
time_series: Series[object] = 'time_series'
class schema.TideZoneStationSchema(*args, **kwargs)[source]

Bases: TideZoneProtocolSchema

Schéma des zones de marées extraite des stations.

class Config

Bases: Config

name = 'TideZoneStationSchema'
code: Series[str] = 'code'
geometry: GeoSeries = 'geometry'
is_tidal: Series[object] = 'is_tidal'
name: Series[str] = 'name'
station_position: GeoSeries = 'station_position'
class schema.WaterLevelInfo(water_level_meter=nan, time_series=None, id=None, name=None, code=None)[source]

Bases: object

Classe pour les informations sur les niveaux d’eau.

code: str = None

Le code de la station.

id: str = None

L’identifiant de la station.

name: str = None

Le nom de la station.

time_series: str = None

Le code de la série temporelle.

water_level_meter: float = nan

Le niveau d’eau en mètre.

class schema.WaterLevelSerieDataSchema(*args, **kwargs)[source]

Bases: DataFrameModel

Schéma des séries temporelles.

class Config[source]

Bases: object

coerce = True
name = 'WaterLevelSerieDataSchema'
event_date: Series[datetime64[ns, UTC]] = 'event_date'
time_serie_code: Series[str] = 'time_serie_code'
value: Series[Float64Dtype()] = 'value'
class schema.WaterLevelSerieDataWithMetaDataSchema(*args, **kwargs)[source]

Bases: WaterLevelSerieDataSchema

Schéma des séries temporelles avec les métadonnées.

class Config

Bases: Config

name = 'WaterLevelSerieDataWithMetaDataSchema'
classmethod validate(df, *args, **kwargs)[source]

Valide les métadonnées des séries temporelles en surchargeant la méthode de validation par défaut.

Parameters:
  • df (DataFrame) – Les séries temporelles.

  • args (Any) – Les arguments.

  • kwargs (Any) – Les paramètres.

Returns:

Les séries temporelles validées.

Return type:

DataFrame

schema.validate_schema(data, schema)[source]

Valide le schéma des stations.

Parameters:
  • data (gpd.GeoDataFrame | DataFrame) – Les stations.

  • schema (Type[pa.DataFrameModel]) – Le schéma.

Return type:

None

schema.validate_schemas(return_schema=None, **schemas)[source]

Valide les schémas des dataframes.

Parameters:
  • return_schema (Optional[Type[pa.DataFrameModel]]) – Le schéma de retour.

  • schemas (: Type[pa.DataFrameModel]]) – Les schémas.

Returns:

La fonction décorée.

Return type:

Callable