Skip to content

📎 Changelog

2.18.2 - 2025-10-16

Authors: Bruno Macedo

Changes:

  • Feature values insert now converts to Float32 before inserting to the database to avoid issues with Double values.

2.18.1 - 2025-10-12

Authors: Bruno Macedo

Changes:

  • Fixed issue with CalcModelInstanceFileValues.delete.

2.18.0 - 2025-10-11

Authors: Bruno Macedo

Changes:

  • Reapplied changes from version 2.14.0 related to feature values that were reverted on 2.14.1.
    • Migrated the whole feature values classes to use new centralized timescale hyper table called feature_values.
      • Added option to aggregate data in FeatureValuesSeries.
      • Added timescale aggregation functions to FeatureValuesAggregations.
      • Improved query speed on FeatureValuesLatest.

2.17.2 - 2025-09-28

Authors: Bruno Macedo

Changes:

  • Added parameters field to JobSteps class to allow passing parameters to job steps. The parameters must be JSON serializable.

2.17.1 - 2025-09-17

Authors: Bruno Macedo

Changes:

  • Fixed bug in OnsSpesSiteMapping.get() when no filters are provided.

2.17.0 - 2025-09-10

Authors: Bruno Macedo

Changes:

  • Added OnsSpesSiteMapping class to handle ONS SPEs and Sites mapping over time.
  • Changed module and class names of Energy Performance Index to follow a consistent naming of KpiEnergyPerfIndex instead of KpiEnergyIndex.
  • Documentation improvements.
  • Minor ruff suggested fixes.

2.16.3 - 2025-08-18

Authors: Nicole Tometich

Changes:

  • Minor change on KpiPerformanceRatioValues calculate_aux method to deal with missing values during Performance Ratio calculation.

2.16.2 - 2025-08-05

Authors: Nicole Tometich

Changes:

  • Adjustment on "Asset Operational" and "Asset Theoretical Operational" logic to not consider periods with ONS curtailment (park curtailment with CurtailmentState = 1) as Operational

2.16.1 - 2025-07-31

Authors: Bruno Macedo

Changes:

  • Added insert, update, and delete methods to Settings class.

2.16.0 - 2025-07-26

Authors: Bruno Macedo

Changes:

  • Restructured tests folder, subdividing the existing single auto_test.py file into multiple files for better organization and maintainability.
  • Updated documentation on testing.
  • Improved pytest config in pyproject.toml.

2.15.2 - 2025-07-26

Authors: Bruno Macedo

Changes:

  • Removed legacy subpackage as it is no longer used throughout our code base. All functionality has been migrated to the new package structure.
  • Added pd.options.future.infer_string = True to enable new Pandas features for better performance and usability.

2.15.1 - 2025-07-25

Authors: Nicole Tometich

Changes:

  • Adjustment on KpiPerformanceRatioValues class due to adjustment on performance_ratio_aux table to improve debug from strange values of Performance Ratio.

2.15.0 - 2025-07-20

Authors: Bruno Macedo

Changes:

  • Added functionality to add, remove, set password, etc. for UserInstances class.
  • Added classes for user roles, including role permissions.

2.14.5 - 2025-07-16

Authors: Nicole Oska

Changes:

  • Adjustment when manipulating dates in CceeTust, considering that the data is monthly.

2.14.4 - 2025-07-14

Authors: Nicole Oska

Changes:

  • Addition of new class regarding tust values table. CceeTust.

2.14.3 - 2025-07-14

Authors: Bruno Macedo

Changes:

  • Changed logic on JobInstances.delete() to first delete the job steps associated with the job instances before deleting the job instances themselves. This prevents foreign key constraint errors when trying to delete job instances that still have associated job steps.

2.14.2 - 2025-07-12

Authors: Bruno Macedo

Changes:

  • Changed build backend to uv_build for better packaging and deployment.

2.14.1 - 2025-07-10

Authors: Bruno Macedo

Changes:

  • Reverted to old feature values structure due to migration error.

2.14.0 - 2025-07-09

Authors: Bruno Macedo

Changes:

  • Migrated the whole feature values classes to use new centralized timescale hyper table called feature_values.
    • Added option to aggregate data in FeatureValuesSeries.
    • Added timescale aggregation functions to FeatureValuesAggregations.
    • Improved query speed on FeatureValuesLatest.
    • Removed all uses of standardized_name from feature definitions.
  • Added AlarmHistory.get_count() method to get the count and duration of alarms for the provided objects within a specified period.
  • Changed default port to 6432 to use pgBouncer.

2.13.15 - 2025-07-05

Authors: Bruno Macedo

Changes:

  • Added skip_value option to CalcModelInstanceFileValues.get() to skip the value column and return only other columns.

2.13.14 - 2025-07-02

Authors: Nicole Tometich

Changes:

  • Adjustment in get() method of KpiPerformanceRatioValues to deal with a new column on materialized_view: pr_adjusted_value (Performance Ratio adjusted with curtailment losses values)

2.13.13 - 2025-07-02

Authors: Nicole Tometich

Changes:

  • Adjustment in sync_bazefield() method from KpiEnergyLossesValues class to allow ResourceLosses to be updated on energy_loss table.

2.13.12 - 2025-06-30

Authors: Nicole Tometich

Changes:

  • Bug corretion on `KpiPerformanceRatioValues class when inserting data to database.

2.13.11 - 2025-06-23

Authors: Nicole Tometich

Changes:

  • Addition of KpiPerformanceRatioValues and KpiEnergyPerfIndexValues classes to library markdown documentation.

2.13.10 - 2025-06-18

Authors: Nicole Tometich

Changes:

  • Minor fix on KpiPerformanceRatioValues.calculate_aux to deal with object_names=None

2.13.9 - 2025-06-18

Authors: Nicole Tometich

Changes:

  • Minor fix in KpiEnergyLossesValues regarding creation of distributed generation SPEs.

2.13.8 - 2025-06-18

Authors: Nicole Tometich

Changes:

  • Addition of new classes regarding performance ratio and energy performance index tables. KpiPerformanceRatioValues and KpiEnergyPerfIndexValues

2.13.7 - 2025-06-17

Authors: Bruno Macedo

Changes:

  • Bug fix related to creation of distributed generation SPEs.

2.13.6 - 2025-06-16

Authors: Bruno Macedo

Changes:

  • Changed capacity factor classes to get data from materialized views for faster performance.

2.13.5 - 2025-06-13

Authors: Bruno Macedo

Changes:

  • Changed energy and capacity factor related classes to get data from new improved materialized views in performance_db.

2.13.4 - 2025-06-12

Authors: Nicole Tometich

Changes:

  • Addition of ALLOWED_ENERGY_LOSSES_OBJECT_TYPES to avoid errors on KpiEnergyLossesValues class.

2.13.3 - 2025-06-12

Authors: Nicole Tometich

Changes:

  • Adjustment on KpiEnergyValues class to allow additional measurement points on energy_values (table from performance db). Additional points: Asset Operational and Asset Theoretical Operational for solar_inverter and wind_turbine assets
  • Improvement on KpiEnergyValues .sync_bazefield() logic

2.13.2 - 2025-06-11

Authors: Nicole Tometich

Changes:

  • Adjustment on KpiEnergyValues class to allow additional measurement points on energy_values (table from performance db). Additional points: Asset and Asset Theoretical for solar_inverter and wind_turbine assets
  • Minor adjustment on VibrationFrequencies get() method regarding hour synchronism between local machine and performance server.

2.13.1 - 2025-06-09

Authors: Bruno Macedo

Changes:

  • Changed all str[pyarrow] dtypes to string[pyarrow] for compatibility with newer versions of Pandas.
  • Remove dependency on echo-climatempo.

2.13.0 - 2025-05-28

Authors: Bruno Macedo

Changes:

  • Added option to get blade gap data in vibration classes.
  • Added ruff.toml configuration file to the project.

2.12.1 - 2025-04-23

Authors: Bruno Macedo

Changes:

  • Changes in KpiAvailabilityAmounts.sync_bazefield() due to changes in echo-baze classes.

2.12.0 - 2025-04-23

Authors: Bruno Macedo

Changes:

  • Removed manual type checking in favor of using Pydantic's validate_call decorator.

2.11.7 - 2025-04-22

Authors: Bruno Macedo

Changes:

  • Many improvements in CalcModelInstanceFileValues related to values being stored as JSON in the database.

2.11.6 - 2025-04-18

Authors: Bruno Macedo

Changes:

  • FeatureValuesSeries.get() now raises an error if features that are not in the database are requested.
  • CalcModelInstanceFileValues now gets and inserts data to json_data column in the database.
  • Removed Numpy 1.6 requirement, allowing for Numpy >= 2.0.

2.11.5 - 2025-04-08

Authors: Bruno Macedo

Changes:

  • Improvements on getting attributes of features and data sources.

2.11.4 - 2025-04-07

Authors: Bruno Macedo

Changes:

  • Much improved query speed in ObjectInstanceAttributes.
  • Added option to set which attributes to return in ObjectInstance.get() when get_attributes is set to True.

2.11.3 - 2025-04-04

Authors: Bruno Macedo

Changes:

  • Added option to sort and limit results of RawDataValues.get_timestamps().

2.11.2 - 2025-04-02

Authors: Bruno Macedo

Changes:

  • Changed source of ons limitations data to use the new materialized views for faster queries.

2.11.1 - 2025-03-30

Authors: Bruno Macedo

Changes:

  • Bug fix in OnsLimitations after changes in the database.

2.11.0 - 2025-03-27

Authors: Bruno Macedo

Changes:

  • Adjusted all energy losses classes, including waterfall due to improvements in the database tables.
  • Added detailed documentation for energy losses database tables and materialized views.

2.10.3 - 2025-03-19

Authors: Bruno Macedo

Changes:

  • Adjustments in KpiEnergyLosses due to changes in the respective database tables.

2.10.2 - 2025-02-27

Authors: Nicole Tometich

Changes:

  • Minor adjustment on edit event function parameters, after change on SQL function.

2.10.1 - 2025-02-04

Authors: Bruno Macedo

Changes:

  • Added option to get realtime ONS limitations, not relying on materialized view.

2.10.0 - 2025-02-03

Authors: Bruno Macedo

Changes:

  • Added classes for handling PPA definitions and values.

2.9.3 - 2025-01-30

Authors: Bruno Macedo

Changes:

  • Fixed start and end data types in alarms history when no records are found.

2.9.2 - 2025-01-30

Authors: Bruno Macedo

Changes:

  • Added CCEE class to handle IPCA data.

2.9.1 - 2025-01-29

Authors: Bruno Macedo

Changes:

  • Fixes related to name changes of features in database to match Bazefield names.

2.9.0 - 2025-01-28

Authors: Bruno Macedo

Changes:

  • Added CCEE classes to handle PLD data.

2.8.7 - 2025-01-27

Authors: Nicole Tometich

Changes:

  • Fix after change in FeatureDefinitionAttributes get() to consider the "display_name" column from v_features_attributes.

2.8.6 - 2025-01-27

Authors: Nicole Tometich

Changes:

  • Change in FeatureDefinitionAttributes get() to consider the "display_name" column from v_features_attributes.

2.8.5 - 2025-01-20

Authors: Bruno Macedo

Changes:

  • Defined default schema for connection, avoiding errors on postgres 17.

2.8.4 - 2025-01-08

Authors: Nicole Tometich

Changes:

  • Minor change on utils to perform bazefield calculations.

2.8.3 - 2024-12-27

Authors: Nicole Tometich

Changes:

  • Minor change in get_features_in_expression to deal with features that end with "_b#" on server calc expressions to get data from bazefield.

2.8.2 - 2024-12-09

Authors: Bruno Macedo

Changes:

  • Improved performance on delete operation by avoiding count queries.

2.8.1 - 2024-12-08

Authors: Bruno Macedo

Changes:

  • Added FeatureValuesWhenAtCondition class to find when a feature is at a certain condition.
  • Bug fix in multiple classes related to getting JSONB columns from the database.
  • Added option to only delete some alarms in AlarmsHistory.delete().
  • Added more filters to job classes.

2.8.0 - 2024-12-05

Authors: Bruno Macedo

Changes:

  • Added job classes to handle job queue in the database.

2.7.6 - 2024-12-04

Authors: Bruno Macedo

Changes:

  • Added class for retrieving database settings.

2.7.5 - 2024-11-28

Authors: Nicole Oska

Changes:

  • Change in the get function from alarm history to the current name of the data_source_type_name column.

2.7.4 - 2024-11-26

Authors: Bruno Macedo

Changes:

  • Bug fix with of datetime attributes type casting.
  • Bug fix when receiving all Null values in ResourceAssessmentPxx

2.7.3 - 2024-11-26

Authors: Bruno Macedo

Changes:

  • Added support for aggregated values in OnsLimitations.get().

2.7.2 - 2024-11-20

Authors: Bruno Macedo

Changes:

  • Added option to filter features by regex in FeatureDefinitions.
  • Added option to get frequency values through time in VibrationFrequencies.
  • Fixed bug in VibrationSpectrum and VibrationTimeSeries when requesting a period without data.
  • Bug fix in FeatureValuesSeries.get() when a feature has no data in the requested period.

2.7.1 - 2024-11-18

Authors: Bruno Macedo

Changes:

  • Added FeatureValuesLatest class to handle latest feature values.

2.7.0 - 2024-11-18

Authors: Bruno Macedo

Changes:

  • Added FeatureValuesAggregations class to handle feature values aggregations.
  • Changed documentation to a more tree like structure, avoiding long pages.

2.6.5 - 2024-11-18

Authors: Bruno Macedo

Changes:

  • Added reindex argument to FeatureValuesSeries.get() to allow for reindexing the output.

2.6.4 - 2024-11-17

Authors: Bruno Macedo

Changes:

  • Improved query performance on OnsLimitations.get().

2.6.3 - 2024-11-16

Authors: Bruno Macedo

Changes:

  • Added period_aggregation argument to OnsLimitations.get().

2.6.2 - 2024-11-14

Authors: Bruno Macedo

Changes:

  • Fixed bug in VibrationSpectrum.get() when passing a list of dates with GE turbines.

2.6.1 - 2024-11-13

Authors: Bruno Macedo

Changes:

  • Fixed bug in Vibration.get_timestamps() methods that caused error due to timezone aware columns in the database.

2.6.0 - 2024-11-13

Authors: Bruno Macedo

Changes:

  • Added VibrationSpectrum functionality to get GE turbines vibration data.

2.5.19 - 2024-11-13

Authors: Nicole Tometich

Changes:

  • Corrected PerfDb default argument for retry_wait_time from 0.1 to 0.5 since it was crashing the Dash Application.

2.5.18 - 2024-11-12

Authors: Bruno Macedo

Changes:

  • Corrected PerfDb default arguments for max_retries and retry_wait_time.

2.5.17 - 2024-10-17

Authors: Nicole Tometich

Changes:

  • Very minor change on method 'edit' on EventInstance class.

2.5.16 - 2024-10-17

Authors: Nicole Tometich

Changes:

  • Addition of new method 'edit' on EventInstance class.

2.5.15 - 2024-10-16

Authors: Bruno Macedo

Changes:

  • Minor improvement in logs of KpiTrackerAvailabilityAmounts.sync_bazefield().

2.5.14 - 2024-10-09

Authors: Nicole Tometich

Changes:

  • Minor change on Comments class to consider event_ids list on get() and get_ids() functions.

2.5.13 - 2024-10-09

Authors: Nicole Tometich

Changes:

  • Added class CommentsEvents to map comments with event Ids.

2.5.12 - 2024-10-03

Authors: Nicole Tometich

Changes:

  • Very minor change on DocumentInstances.

2.5.11 - 2024-10-03

Authors: Nicole Tometich

Changes:

  • Minor change on DocumentInstances insert method to process bytes files as well as file path.

2.5.10 - 2024-09-17

Authors: Bruno Macedo

Changes:

  • Added class KpiStoppedAssets to get the stopped assets in a certain date.
  • Removed incorrect return of longterm values in ResourceAssessmentPxx.get().

2.5.9 - 2024-09-17

Authors: Nicole Tometich

Changes:

  • Added 'subcomponent_type_names' to the events view.

2.5.8 - 2024-09-09

Authors: Bruno Macedo

Changes:

  • Added Documents class to handle documents in the database.

2.5.7 - 2024-09-04

Authors: Bruno Macedo

Changes:

  • Fixed amplitude of the output signal in VibrationSpectrum. Before it wasn't normalized by the number of samples.

2.5.6 - 2024-08-28

Authors: Bruno Macedo

Changes:

  • Bug fix in legacy.get_object_feature_values_aggregated related to double quotes in column names.

2.5.5 - 2024-08-26

Authors: Bruno Macedo

Changes:

  • Added weekly resolution to KpiTrackerAvailabilityValues

2.5.4 - 2024-08-26

Authors: Bruno Macedo

Changes:

  • Improved speed of FeatureValuesSeries.get() by using new postgres function fn_get_feature_values.

2.5.3 - 2024-08-22

Authors: Bruno Macedo

Changes:

  • Added get_details method to FeatureDefinitions class.
  • Removed deprecation warning in FeatureValuesSeries class.
  • Added insert and delete methods to FeatureValuesSeries class.
  • Added insert and delete methods to ObjectInstances class.
  • Added support fot TIMESTAMPTZ in attributes casting.

2.5.2 - 2024-08-20

Authors: Bruno Macedo

Changes:

  • Added option to pass a list of dates instead of a DateTimeRange to VibrationSpectrum.get(), VibrationTimeSeries.get() and RawDataValues.get().

2.5.1 - 2024-08-18

Authors: Bruno Macedo

Changes:

  • Added ResourceAssessmentPxx class.
  • Minor documentation improvements.

2.5.0 - 2024-08-13

Authors: Bruno Macedo

Changes:

  • Major changes in documentation. Now we are using MkDocs to generate the documentation and Material for MkDocs as the theme.

2.4.8 - 2024-08-09

Authors: Bruno Macedo

Changes:

  • Bug fix in AlarmHistory to avoid returning duplicate rows.

2.4.7 - 2024-08-07

Authors: Bruno Macedo

Changes:

  • Changed default IP address of server.

2.4.6 - 2024-08-04

Authors: Bruno Macedo

Changes:

  • KpiAvailabilityValues now compatible with new availability materialized views (much faster to update).

2.4.5 - 2024-08-02

Authors: Bruno Macedo

Changes:

  • Added KpiTrackerAvailabilityValues class.

2.4.4 - 2024-08-02

Authors: Bruno Macedo

Changes:

  • Added component and subcomponent models to output of VibrationFrequencies.

2.4.3 - 2024-08-01

Authors: Bruno Macedo

Changes:

  • Added KpiTrackerAvailabilityAmounts class.

2.4.2 - 2024-08-01

Authors: Bruno Macedo

Changes:

  • Changed vibration sensor names.

2.4.1 - 2024-07-29

Authors: Bruno Macedo

Changes:

  • Added Vibration classes and subclasses. Still missing VibrationSpectrum for GE turbines.

2.4.0 - 2024-07-25

Authors: Bruno Macedo, Angelo Ribeiro

Changes:

  • Added Components, Subcomponents, Events, Labels, Comments, Companies, RootCauses classes and all its subclasses.

2.3.0 - 2024-07-18

Authors: Bruno Macedo

Changes:

  • Added ResourceAssessment classes.
  • Added KpiEnergyWaterfall class.

2.2.9 - 2024-07-14

Authors: Bruno Macedo

Changes:

  • Removed _local from timestamp columns due to changes in the database.

2.2.8 - 2024-07-08

Authors: Bruno Macedo

Changes:

  • Added CalcModelInstances insert and delete methods.
  • Added CalcModelInstanceFileDefinitions insert and delete methods.

2.2.7 - 2024-07-03

Authors: Bruno Macedo

Changes:

  • Query with improved performance on AlarmsHistory.get using union operator.

2.2.6 - 2024-07-03

Authors: Bruno Macedo

Changes:

  • Bug fix in KpiResourceValues.sync_bazefield alerting for wrong values and skipping insertion in postgres for these rows.

2.2.5 - 2024-06-27

Authors: Bruno Macedo

Changes:

  • Added KpiCapacityFactorTargets, KpiEnergyLossesTypes and KpiEnergyLossesValues classes.

2.2.4 - 2024-06-26

Authors: Bruno Macedo

Changes:

  • Added KpiResourceValues and KpiResourceTypes classes.

2.2.3 - 2024-06-25

Authors: Bruno Macedo

Changes:

  • Added KpiCapacityFactorValues class.

2.2.2 - 2024-06-25

Authors: Bruno Macedo

Changes:

  • Added KpiEnergyValues and KpiEnergyMeasurementPoints classes.

2.2.1 - 2024-06-20

Authors: Bruno Macedo

Changes:

  • Added KpiAvailabilityTargets class to handle availability targets.
  • Added insert and delete methods to KpiEnergyTargets.

2.2.0 - 2024-06-15

Authors: Bruno Macedo

Changes:

  • Changed all datetime columns to datetime64[s] instead of timestamp[s][pyarrow]. Pyarrow does not add any relevant performance benefit in this case and using datetime64[s] a DatetimeIndex can be created, providing additional functionality.
  • Changed AlarmDefinitions and AlarmHistory to allow for matching on internal alarm id or manufacturer alarm id.
  • Changed CalcModelInstanceFileDefinitions and CalcModelInstanceFileValues to allow for matching calc model name as regex.
  • Changed FeatureDefinitionAttributes and FeatureDefinitions to allow for matching on attribute values.
  • Changed ObjectInstanceAttributes and ObjectInstances to allow for matching on attribute values.
  • Added get_features_in_expression and replace_object_attributes_in_expression to utils.

2.1.2 - 2024-06-13

Authors: Bruno Macedo

Changes:

  • Added KpiAvailabilityAmounts.sync_bazefield() method to get availability amounts from Bazefield and insert them into performance_db.

2.1.1 - 2024-06-13

Authors: Bruno Macedo

Changes:

  • Changed KpiAvailabilityValues.get() to return object_group_type in index of DataFrame and as dict key.

2.1.0 - 2024-05-21

Authors: Bruno Macedo

Changes:

  • Added KpiAvailabilityForecasts class to handle availability forecasts.
  • Changed example and tests to use new object names.

2.0.5 - 2024-05-16

Authors: Bruno Macedo

Changes:

  • Bug fix in KpiAvailabilityValues.get() related to period filtering.

2.0.4 - 2024-05-15

Authors: Bruno Macedo

Changes:

  • Upgraded method used to insert to Bazefield in legacy package no use newer version of echo-baze.

2.0.3 - 2024-04-19

Authors: Bruno Macedo

Changes:

  • Minor fix in FeatureValuesSeries.get() to return a DatetimeIndex.
  • Adjusted tests according to new object names.

2.0.2 - 2024-04-14

Authors: Bruno Macedo

Changes:

  • Fixed bug in KpiAvailabilityValues.get() related to pyarrow conversion.

2.0.1 - 2024-04-08

Authors: Bruno Macedo

Changes:

  • Fixed bug in DataSourceInstances.get().
  • Minor bug fixes related to column dtypes in FeatureValuesSeries.get() and OnsLimitations.get().

2.0.0 - 2024-03-21

Authors: Bruno Macedo

Changes:

  • Major release, completely refactored the package to be more modular and easier to maintain. This was done in line with the migration of Bazefield to on-premise servers in 2024. The changes include:
    • Modularization of the package, separating functionality in subclasses of a main class. This super class holds objects of the subclasses, making it straightforward to access any kind of data in the database. Also, each class is now written in a separate file, making it easier to maintain and understand the code.
    • Standardization of method names, making it easier to understand what each method does and how to use it.
    • Extended functionality, adding more methods to interact easily with the database.
    • Improved performance on some methods.
    • Tests for all methods of the package, making it easier to check if the code is working as expected.
    • Documentation for all methods of the package, making it easier to understand how to use the package.

Warning

The package was completely refactored, nothing in the package is the same as before. This means that the package is not backwards compatible with the previous version.

To avoid errors during the transition process, old code was kept in the legacy folder and currently is still imported in the main package. Please, make sure to update your code to use the new package as soon as possible as the old code will be removed in the future.

1.6.10 - 2024-03-06

Authors: Bruno Macedo

Changes:

  • Removed need for alarm_responsibility.

1.6.9 - 2024-02-14

Authors: Bruno Macedo

Changes:

  • Added get_availability_types().

1.6.8 - 2024-02-14

Authors: Bruno Macedo

Changes:

1.6.7 - 2024-02-06

Authors: Bruno Macedo

Changes:

  • Added get_availability_bazefield.

1.6.6 - 2024-01-23

Authors: Bruno Macedo

Changes:

  • Minor bug fix in calc_models.insert_calculation_model_file().

1.6.5 - 2024-01-10

Authors: Bruno Macedo

Changes:

  • Bug fix in get_object_feature_values_range due to NaN and pyarrow data type.

1.6.4 - 2023-12-29

Authors: Max Daniel

Changes:

  • Minor change on aux_functions.py to add np.bool_ as a valid column dtype to insert.

1.6.3 - 2023-12-27

Authors: Bruno Macedo

Changes:

1.6.2 - 2023-12-26

Authors: Bruno Macedo

Changes:

  • Further improvements on calc_models.py to adapt to the new table structure in performance_db. The main changes were the addition of functions to insert and update calculation models amd files definitions. Also support for calculation model types was added.
  • Typing improvements in features.py.

1.6.1 - 2023-12-22

Authors: Bruno Macedo

Changes:

  • Refactor of calc_models.py to adapt to the new table structure in performance_db. The main change was the creation of table calculation_model_files_data_object_connections.
  • Automatic tests added for functions in calc_models.py.

1.6.0 - 2023-12-09

Authors: Bruno Macedo

Changes:

  • Added ons_limitations.py module to handle ONS limitations.
  • Changed all dtypes that are float to use pyarrow ("Float64[pyarrow]") to increase efficiency.

1.5.1 - 2023-12-08

Authors: Bruno Macedo

Changes:

  • Changed insert_or_update_object_feature_values() to allow NaN values.

1.5.0 - 2023-12-02

Authors: Bruno Macedo

Changes:

  • Added forecast module to handle forecast data.
  • Added the docs folder with documentation for the functions in the package. The folder examples inside it contains python scripts with examples on how to use the functions.
  • Added attributes module to handle attributes.

1.4.22 - 2023-11-10

Authors: Bruno Macedo

Changes:

  • Added more aggregation options to get_object_feature_values_aggregated().

1.4.21 - 2023-11-09

Authors: Bruno Macedo

Changes:

  • Fixes to avoid pd.unique future warning.

1.4.20 - 2023-11-06

Authors: Bruno Macedo

Changes:

  • Avoided trying to insert duplicate columns in sql_core.insert_or_update_using_copy().

1.4.19 - 2023-07-06

Authors: Bruno Macedo

Changes:

  • Minor improvements on sql_core.py.

1.4.18 - 2023-07-05

Authors: Max Daniel

Changes:

  • Minor changes on get_object_children().

1.4.17 - 2023-07-05

Authors: Max Daniel

Changes:

  • Added delete_attribute_from_object() to objects.py.

1.4.16 - 2023-06-29

Authors: Max Daniel

Changes:

  • Added get_attributes() to objects.py.

1.4.15 - 2023-06-29

Authors: Max Daniel

Changes:

  • Minor changes on get_object_children()

1.4.14 - 2023-06-27

Authors: Max Daniel

Changes:

  • Added get_object_children() to objects.py. This function is used on the website to generate the node map of the objects.

1.4.13 - 2023-06-26

Authors: Max Daniel

Changes:

  • Minor bug fixes to solve errors related to changing parent_object hierarchy in the database.

1.4.12 - 2023-06-19

Authors: Bruno Macedo

Changes:

  • Changed most conn.read_to_pandas() calls to use pyarrow as dtype_backend.
  • Improved docstrings.

1.4.11 - 2023-06-16

Authors: Bruno Macedo

Changes:

  • Refactored get_object_feature_values_aggregated() to return a pd.Series with MultiIndex instead of a pd.DataFrame.
  • Created get_objects_feature_values_aggregated() to get aggregated feature values for multiple objects at once.
  • Changed all functions that get feature values to get them as float64 to avoid errors.

1.4.10 - 2023-06-09

Authors: Bruno Macedo

Changes:

  • Fixed regex in replace_object_attributes_in_expression() to avoid errors when two attributes were used in the same line of the expression.

1.4.9 - 2023-05-17

Authors: Bruno Macedo

Changes:

  • Minor bug fix when using get_object_feature_values() when reindex was set to something that is not "infer".

1.4.8 - 2023-05-11

Authors: Bruno Macedo

Changes:

  • Added get_conn_properties to get standard connection properties for performance_db.

1.4.7 - 2023-05-10

Authors: Bruno Macedo

Changes:

  • Bug fix in get_features_in_expression() that caused the code to crash if features with temporary_feature in their names were found in the expression.

1.4.6 - 2023-05-10

Authors: Bruno Macedo

Changes:

  • Bug fix in "infer" in get_object_feature_values that caused the frequency of index to be inferred incorrectly.

1.4.5 - 2023-05-09

Authors: Bruno Macedo

Changes:

  • Bug fix in "infer" in get_object_feature_values that caused a crash if the feature had no data (less than 3 timestamps).

1.4.4 - 2023-05-06

Authors: Bruno Macedo

Changes:

  • Added methods get_features_from_attribute and get_objects_from_attribute.
  • Changed get_object_feature_values to set dtypes to float32 for better performance.
  • Added option "infer" to reindex in get_object_feature_values.

1.4.3 - 2023-04-19

Authors: Bruno Macedo

Changes:

  • Added argument filter_period_by to get_alarms_history, allowing filtering alarms by the start or end time of the period.
  • Added get_feature_attributes to features module.
  • Changed execution of queries using cursor to use the execute method of PgSqlHandler.

1.4.2 - 2023-04-18

Authors: Bruno Macedo

Changes:

  • Improved functionality to get alarms.

1.4.1 - 2023-04-11

Authors: Bruno Macedo

Changes:

  • Improved functionality to get calculation models.

1.4.0 - 2023-04-02

Authors: Bruno Macedo

Changes:

  • Improved filtering options in get_objects.
  • Fixed misspelling of 'object_names' in get_objects, but kept the old argument 'objet_types' for compatibility.
  • Added option to filter by data_source_type_name in get_model_features.

1.3.0 - 2023-03-31

Authors: Bruno Macedo

Changes:

  • Added function get_objects_feature_values to get feature values for multiple objects at once.
  • Added argument alarm_ids to get_alarms_history.
  • Added match_name_on argument to delete_object_feature_values. This also required a change in SQL function fn_delete_object_feature_values.
  • Added delete_in_pg argument in insert_or_update_object_feature_values to allow deleting the data in postgres before inserting it.
  • Changed get_object_feature_values to get only timestamps exactly inside the period if reindex was desired.

1.2.9 - 2023-02-15

Authors: Bruno Macedo

Changes:

  • Returned insert_or_update_object_feature_values to not delete the whole period before uploading to Bazefield. Now there is an additional argument in the function so you can decide this manually.

1.2.8 - 2023-02-14

Authors: Bruno Macedo

Changes:

  • Bug fix in calc_models.get_calculation_model_files() that occurred when trying to get files for a specific object.

1.2.7 - 2023-02-06

Authors: Bruno Macedo

Changes:

  • Adjusted insert_or_update_object_feature_values to delete the whole period before uploading to Bazefield.

1.2.6 - 2023-01-27

Authors: Bruno Macedo

Changes:

  • Fixed bug in features.get_model_features() that dropped attributes if the feature had more than one of them.

1.2.5 - 2023-01-12

Authors: Bruno Macedo

Changes:

  • Fixed bug in features.insert_or_update_object_feature_values() that tried to insert a DataFrame with duplicate columns.

1.2.4 - 2023-01-11

Authors: Bruno Macedo

Changes:

  • Added features.get_feature_aggregation_types().

1.2.3 - 2023-01-10

Authors: Bruno Macedo

Changes:

  • Refactored to be compatible with echo_connhandler.

1.2.2 - 2023-01-09

Authors: Bruno Macedo

Changes:

  • Bug fix in alarms.insert_scada_alarm_hist() that caused the incorrect mapping of the alarm id from the manufacturer to the id in postgres when we have two alarms with the same manufacturer_id and different types.

1.2.1 - 2023-01-06

Authors: Bruno Macedo

Changes:

  • Bug fix in insert_or_update_object_feature_values that caused the code to break if a DataFrame with duplicated columns is provided.

1.2.0 - 2023-01-04

Authors: Bruno Macedo

Changes:

  • Changed connect() function to retrieve a PgSqlHandler instead of the connection object directly.

1.1.2 - 2022-12-30

Authors: Bruno Macedo

Changes:

  • Minor changes in features.py to improve usability.

1.1.1 - 2022-12-27

Authors: Bruno Macedo

Changes:

  • Minor bug fix while filtering models in get_objects.

1.1.0 - 2022-12-20

Authors: Bruno Macedo

Changes:

  • Changed calc_models to support new table structure that has models for each object.

1.0.6 - 2022-11-24

Authors: Bruno Macedo

Changes:

  • DateTimeRange support in alarms.py.

1.0.5 - 2022-11-23

Authors: Bruno Macedo

Changes:

  • Version control moved to __version__.

1.0.4 - 2022-11-17

Authors: Bruno Macedo

Changes:

  • Minor fixes in aux_functions.npz_to_array and calc_models.get_calculation_model_files.

1.0.3 - 2022-11-16

Authors: Bruno Macedo

Changes:

  • Changed attribute_values columns in performance_db to be of type JSONB and not TEXT, requiring fewer conversions in python and reducing the possibility of errors.

1.0.2 - 2022-11-15

Authors: Bruno Macedo

Changes:

  • Added compatibility with DateTimeRange for echo_postgres.features.
  • Moved version control to __init__ file.

1.0.1 - 2022-11-03

Authors: Bruno Macedo

Changes:

  • Fixed minor errors in sql_core.
  • Added option to get alarms duration from get_alarm_count.

1.0.0 - 2022-11-03

Authors: Bruno Macedo

Changes:

  • Changed from psycopg2 to psycopg3.
  • Split echo_postgres module into multiple submodules as the main module was too big. When importing the package directly, this will not make any difference for the user.
  • Changed queries in sql_core from strings to sql statements (using pyscopg.sql) to avoid possible errors in the future. This is recommended for all modules, but not done at this moment as it would demand too much time.

0.2.15 - 2022-10-29

Authors: Bruno Macedo

Changes:

  • Changed __init__ to correctly disable pandas warning "pandas only supports SQLAlchemy".

0.2.14 - 2022-10-20

Authors: Bruno Macedo

Changes:

  • Added get_alarms_history to __all__.

0.2.13 - 2022-08-20

Authors: Bruno Macedo

Changes:

  • Fixed bazefield upload in insert_or_update_object_feature_values to not raise an error in case the bazefield object name is not defined, crashing the program.

0.2.12 - 2022-06-03

Authors: Bruno Macedo

Changes:

  • Added support for temporary feature in get_features_in_expression. Any feature with "temporary_feature" in its name will be ignored in the code to avoid errors.

0.2.11 - 2022-06-03

Authors: Bruno Macedo

Changes:

  • Added new function to handle raw data.

0.2.10 - 2022-05-30

Authors: Bruno Macedo

Changes:

  • Fixed check_alarms to consider alarm description if it is passed.

0.2.9 - 2022-05-27

Authors: Bruno Macedo

Changes:

  • Added functions to handle raw data.

0.2.8 - 2022-05-04

Authors: Bruno Macedo

Changes:

  • Corrected reindex bug in get_object_feature_values.

0.2.7 - 2022-05-03

Authors: Bruno Macedo

Changes:

  • Added functionality to also upload to Bazefield in insert_or_update_object_feature_values.

0.2.6 - 2022-04-27

Authors: Bruno Macedo

Changes:

  • Corrected set_object_attribute to accept text list.

0.2.5 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Added function replace_object_attributes_in_expression.

0.2.4 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Added option to not show timing in insert_or_update_object_feature_values.

0.2.3 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Added function get_features_in_expression.

0.2.2 - 2022-07-01

Authors: Bruno Macedo

Changes:

  • Edited get_last_alarm_timestamp to query alarms_history table directly.
  • Edited default application name to include the name of the computer.

0.2.1 - 2022-06-15

Authors: Bruno Macedo

Changes:

  • Added sorting by cluster in get_objects if only wind farms are requested.

0.2.0 - 2022-06-03

Authors: Bruno Macedo

Changes:

  • Added support for calculation models.
  • Added conversion to single precision float in insert_or_update_object_feature_values.

0.1.12 - 2022-06-03

Authors: Bruno Macedo

Changes:

  • Added support for temporary feature in get_features_in_expression. Any feature with "temporary_feature" in its name will be ignored in the code to avoid errors.

0.1.11 - 2022-06-03

Authors: Bruno Macedo

Changes:

  • Added new function to handle raw data.

0.1.10 - 2022-05-30

Authors: Bruno Macedo

Changes:

  • Fixed check_alarms to consider alarm description if it is passed.

0.1.9 - 2022-05-27

Authors: Bruno Macedo

Changes:

  • Added functions to handle raw data.

0.1.8 - 2022-05-04

Authors: Bruno Macedo

Changes:

  • Corrected reindex bug in get_object_feature_values.

0.1.7 - 2022-05-03

Authors: Bruno Macedo

Changes:

  • Added functionality to also upload to Bazefield in insert_or_update_object_feature_values.

0.1.6 - 2022-04-27

Authors: Bruno Macedo

Changes:

  • Corrected set_object_attribute to accept text list.

0.1.5 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Added function replace_object_attributes_in_expression.

0.1.4 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Added option to not show timing in insert_or_update_object_feature_values.

0.1.3 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Added function get_features_in_expression.

0.1.2 - 2022-04-26

Authors: Bruno Macedo

Changes:

  • Changed get_model_features and get_object_features to be able to get feature attributes.

0.1.1 - 2022-04-25

Authors: Bruno Macedo

Changes:

  • Fixed bug in check_alarms where name of alarm containing ";" would cause insert_or_update_using_copy to break.

0.1.0 - 2022-04-25

Authors: Bruno Macedo

Changes:

  • Added functionality to get and insert alarms in performance_db.

0.0.16 - 2022-04-17

Authors: Bruno Macedo

Changes:

  • Added delete_object_feature_values function.

0.0.15 - 2022-04-07

Authors: Bruno Macedo

Changes:

  • Bug fixes on type hinting

0.0.14 - 2022-04-06

Authors: Bruno Macedo

Changes:

  • Added support for "TEXT LIST" in aux functions.
  • Added type hints to all function definitions.

0.0.13 - 2022-03-31

Authors: Bruno Macedo

Changes:

  • Added autocommit=True to connect function to avoid relation locks. See stack overflow for more details.

0.0.12 - 2022-03-18

Authors: Bruno Macedo

Changes:

  • Added connection timeout and application name to connect function.

0.0.11 - 2022-03-18

Authors: Bruno Macedo

Changes:

  • Added query timeout option in connect function.

0.0.10 - 2022-03-11

Authors: Bruno Macedo

Changes:

  • Fixed insert_or_update_object_feature_values timestamp_local column checking.

0.0.9 - 2022-03-08

Authors: Bruno Macedo

Changes:

  • Fixed get_objects to do left merge of attributes instead of inner.

0.0.8 - 2022-03-07

Authors: Bruno Macedo

Changes:

  • Fixed get_object_feature_values to cast all data to float.

0.0.7 - 2022-03-07

Authors: Bruno Macedo

Changes:

  • Fixed bug in aux_functions.cast_attributes when the desired attribute was not set for one or more objects.

0.0.6 - 2022-03-06

Authors: Bruno Macedo

Changes:

  • Typo name in function get_objects corrected from get_objeTCs.
  • Added function set_object_attribute.
  • Fixed bug in aux_functions.cast_attributes when casting from JSON data type.

0.0.4 - 2022-03-01

Authors: Bruno Macedo

Changes:

  • Minor bug fix in function get_data_types_dict in aux_functions.

0.0.3 - 2022-03-01

Authors: Bruno Macedo

Changes:

  • Stable version containing most functions to read and write feature values from/to postgres.
  • Still needs to implement functions to read and create attributes, objects, models, etc.

0.0.1 - 2022-02-14

Authors: Bruno Macedo

Changes:

  • Initial release of the package. This is the first package we are uploading to github and enabling the installation using pip, so there might be some bugs.