Skip to content

Releases: vertica/VerticaPy

VerticaPy version 1.1.0

31 Oct 21:06
Compare
Choose a tag to compare

This release encompasses all the features introduced in 1.0.0 and introduces additional functionalities along with more precise docstrings.

Options

set_option function has more options:

  • max_cellwidth: Maximum width of any VerticaPy table's cell.
  • max_tableheight: Maximum height of VerticaPy tables.
  • theme: Theme used to display the VerticaPy objects (light, dark or sphinx).
  • verbosity: This will set the amount of information to display while executing VerticaPy functions.

There are four levels of verbosity:

  • 0 (silent)
  • 1 (warning)
  • 2 (info)
  • 3 (debug)

Machine Learning

PLS Regression

Partial Least Squares (PLS) regression has been added to VerticaPy.

This integration will enhance VerticaPy's analytics capabilities, particularly benefiting Vertica customers who have expressed interest in utilizing PLS regression (PLSRegression).

Example use:

  from verticapy.machine_learning.vertica import PLSRegression

  model = PLSRegression()
  model.fit(
    train_data,
    [
        "col1",
        "col2",
        "col3",
    ],
    "Y",
    test_data,
  )

Note: All the ML models that were introduced in version 1.0.x are also supported in version 1.1.x .

Performance

QueryProfiler has been greatly supplemented in this release:

QueryProfilerInterface

Now we have added the functionality of a session_control_param parameter.
This allows users to enter the alter session SQL before profiling the queries.

QueryProfilerInterface

  • Added many more metrics for the profiled queries such as:

    • rows_filtered_sip
    • container_rows_filtered_sip
    • container_rows_pruned_sip

    and more...

  • There is a new tab which helps you select particular tooltips from any select path id.

  • A new tab also highlights if there are any non-default SESSION PARAMETERS .

  • Improved the efficiency of plotting the tree by chaching results.

QueryProfilerComparison

  • QueryProfilerComparison class offers an extended set of functionalities, enabling the creation of complex trees with multiple metrics.
    
  from verticapy.performance.vertica import QueryProfilerInterface

  qprof_interface_1 = QueryProfilerInterface(
    key_id = "key_1",
    target_schema = "schema_1",
  )

  qprof_interface_2 = QueryProfilerInterface(
    key_id = "key_2",
    target_schema = "schema_1",
  )

  from verticapy.performance.vertica import QueryProfilerComparison

  qprof_compare = QueryProfilerComparison(qprof_interface_1, qprof_interface_2)

  qprof_compare.get_qplan_tree()

whats_new_1_1_0_qprof_get_qplan_tree

Deprecations

⚠️ Because of the re-structuring of VerticaPy, some previous imports will not work.

⚠️ Please look at the latest doc for the up-to-date imports.

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.5

08 Aug 16:24
ab0ab18
Compare
Choose a tag to compare

This minor release has some significant feature additions with other changes. Some salient ones are listed below:

QueryProfilerStats

Added a new class which calculates some of the statistics for queries that can help diagnose query performance issues.

You can call the main function to perform all the tests:

  qprof = QueryProfilerStats((109090909, 1))
  qprof.main_tests()

It is also inherited by the QueryProfilerInterface class, so it can be used from that class as well. For example:

  qprof = QueryProfilerInterface((109090909, 1))
  qprof.main_tests()

QueryProfiler

  • Added the following new tables to the profile information:

    • dc_scan_events

QueryProfilerInterface

  • Added option to toggle tooltip information. There are three new check boxes which control which information will be displayed:

    • Aggregate
    • Opeartors
    • Descriptors

Unit tests

  • Fixed some broken unit tests with a focus on QueryProfiler. This makes VerticaPy more robust against bugs.

Bugfixes

  • Regression metrics were corrected which were previously giving erroneous results (AIC_SCORE, BIC_SCORE, R2_SCORE).
  • In certain scenarios, the vDataFrame creation was taking too much time (Issue #1235). This was resolved.
  • QueryProfiler import bug fix.

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.4

23 Jun 22:03
57bc0a5
Compare
Choose a tag to compare

This minor release has some significant feature additions with other changes. Some salient ones are listed below:

Query Profiler

  • Now there is a new parameter use_temp_relation which allows users to display the temporary relations separately in the get_qplan_tree.
  • Query start and stop time are also included in the get_queries table.
  • New queries can be added to the same schema and key using the insert function.
qprof = QueryProfiler((109090909, 1))
qprof.insert(transactions = (41823718, 2))

QueryProfilerInterface

  • Made the metric selecting widgets in the QueryProfilerInterface to be more intuitive.
  • A new widget allows to directly jump to the specific query without having to press Next button multiple times.
  • A success flag is added to the display to confirm if the query was run successfully.
  • Added unit for the query execution time.

Machine Learning

  • Added Vector Auto Regression (VAR) to the list of Vertica algortihms.

vDataFrame

  • The Up and Down arrow of the vDataFrame.idisplay() are now larger in size.

Bugfixes

  • Bugfix for auto-token refresh using OAuth.
  • Empty vDataFrame can now be created.
import pandas as pd
from verticapy import read_pandas

df = pd.DataFrame()
df = df.reindex(columns = ["col1", "col2"])
read_pandas(df)

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.3

29 Mar 15:01
09e7322
Compare
Choose a tag to compare

This minor release has some chagnes that focus on improving the QueryProfiler and QueryProfilerInterface.

Some main changes are:

  • Improving the speed of the function
  • Enhancing the UI
  • Adding limitations to prevent overwriting of data when importing a file

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.2

08 Mar 21:17
8236e90
Compare
Choose a tag to compare

This minor release has some significant feature additions with other changes. Some salient ones are listed below:

⚠️ Please note that this list may be incomplete, and for a comprehensive overview, including additional features, refer to the changelogs.

Pipelines (Beta)

  • Pipelines is a YAML-based configuration for defining machine learning workflows, simplifying the process of setting up and managing machine learning pipelines.
  • For beginners, it provides an easy-to-learn alternative to Python and SQL reducing the initial barriers to entry for creating models.
  • For more experienced users, it offers templating features to enhance modularity, minimize errors, and promote efficient code reuse in machine learning projects.

Performance

  • We have enhanced the QueryProfiler to improve its robustness.
  • Introducing a completely new Query Profiler Interface, enabling users to navigate through various queries and access them without the need to re-enter all the code. All of this can be accomplished using only your mouse within Jupyter Notebook environments.

These updates significantly enhance the accessibility, debugging, and enhancement capabilities of your queries.

OAuth Refresh Tokens (Beta)

  • We have updated the connector to accept OAuth refresh tokens.
  • Additioanlly we have added a prompt option for verticapy.connection.new_connection. This allows the user to enter the secrets discretly with a masked display.

Multi-TimeSeries (Beta)

We added a new Time Series class: TimeSeriesByCategory. This allows the users to build multiple models based off on a category. The number of models created
are equal to the categories. This saves users time to create multiple models separately. For more information please see verticapy.machine_learning.vertica.tsa.ensemble.TimeSeriesByCategory.

Plots

  • Two new plots have been added for plotly that were previously missing:

    • verticapy.machine_learning.vertica.decomposition.plot_scree
    • verticapy.machine_learning.vertica.decomposition.plot_var

Unit Tests

  • We continue to shift our old tests to the new more robust format.

Examples

  • Most of the examples <https://github.com/vertica/VerticaPy/tree/master/examples>_ have been updated with the latest verticapy format.

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.1

16 Jan 15:07
957747a
Compare
Choose a tag to compare

This release includes numerous modifications to the previous code aimed at enhancing the user experience.

⚠️ Please note that this list may be incomplete, and for a comprehensive overview, including additional features, refer to the changelogs.

New Options

The verticapy.set_option() function now allows you to set the following options:

  • max_cellwidth: Maximum width of VerticaPy table cells.
  • max_tableheight: Maximum height of VerticaPy tables.
  • theme: Set the display theme for VerticaPy objects to 'light' or 'dark'.

QueryProfiler

The verticapy.performance.vertica.qprof.QueryProfiler class offers an extended set of functionalities, enabling the creation of complex trees with multiple metrics. This can help in finding ways to improve the performance of slow-running queries.

Website

A new website is now available. It includes all the important information about the different changes and a totally new documentation generated by Sphinx. Check it out here

Docstrings

Docstrings have been further enriched with relevant examples for more functions.

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.0

23 Nov 10:47
c819144
Compare
Choose a tag to compare

This is our very first major release, which includes numerous modifications to the previous code aimed at enhancing the user experience.

⚠️ Please note that this list may be incomplete, and for a comprehensive overview, including additional features, refer to the changelogs.

CI/CD

The CI/CD pipeline is now more comprehensive, incorporating the following:

  • Integration of Black for code formatting.
  • Inclusion of Pylint to assess code robustness with a minimal threshold, ensuring code can be merged.
  • Implementation of Pytest for optimized Unit Tests, with results compared to standard libraries such as sklearn or scipy.
  • Integration of Codecov to monitor code coverage.
  • Implementation of GitHub actions across different Python versions (3.9-3.12) to ensure support for all of them.

New Features

Some of the highlights of this release are:

Algorithms

  • IsolationForest
  • KPrototypes
  • Poisson Regression
  • AutoRegressive (AR)
  • MovingAverages (MA)
  • AutoRegressive Moving Averages (ARMA)
  • AutoRegressive Integrated Moving Averages (ARIMA)
  • Term Frequency * Inverse Document Frequency (TFIDF). It is still beta.

ML New features

  • New function for finding the feature importance for XGBoost models.
  • Classification metrics are now available for multiclass data/model using three methods: micro, macro, weighted, score and none. - average_precision_score is another new metric that is added to classification metrics. - roc_auc and prc_auc now work for multi-class classification using different averaging techniques stated above.
  • Model names are now optional
  • Model Tracking and Versioning now supported. Check out notebooks/ml/model_tracking_versioning/index.ipynb for more details.
  • Model Export and Import: Now models can be exported to pmml, tensorflow, and binary. They can now be exported to another User Defined Location.
  • Added Model Versioning / Tracking (MLOps)

SQL

  • vDataFramesSQL is deprecated. Now, vDataFrame can be used directly to create vDataFrames from SQL.

Plotting

  • Flexibility to select from the three renowned plotting libraries for professional plots: Matplotlib, Highcharts, Plotly.

Library Hierarchy

  • Import structures have changed. The code has been completely restructured, which means that going forward all imports will be done differently. Currently, we still allow the previous structure of import, but it will gradually be deprecated.

Website

A new website will be soon available. It will include all the important information about the different changes and a totally new documentation generated by Sphinx.

Release Notes

Changelogs

Installation

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy

If you want to install extra features, use:

python3 -m pip install verticapy[all]

Please report any issues on our GitHub page

Contributors

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.0-beta.2

07 Jul 19:18
d9ce043
Compare
Choose a tag to compare
Pre-release

This is our very first beta release, which includes numerous modifications to the previous code aimed at enhancing the user experience.

Some of the highlights of this release are:

  • Flexibility to select from the three renowned potting libraries for professional plots.
  • The introduction of a wide range of classification metrics.
  • Support for KPrototypes.
  • Furthermore, due to code restructuring, the import syntax has changed and is now more intuitive.

For a comprehensive list of all the changes, please refer to the change log.

The release will be on available on the defaults and can be installed using:

python3 -m pip install verticapy==1.0.0b2

Please report any issues on our GitHub page

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.

What's Changed

Full Changelog: 1.0.0-beta.1...1.0.0-beta.2

VerticaPy version 1.0.0-beta.1

20 Jun 21:34
e27c63d
Compare
Choose a tag to compare
Pre-release

This is our very first beta release, which includes numerous modifications to the previous code aimed at enhancing the user experience.

Some of the highlights of this release are:

Flexibility to select from the three renowned potting libraries for professional plots.
The introduction of a wide range of classification metrics.
Support for KPrototypes.
Furthermore, due to code restructuring, the import syntax has changed and is now more intuitive.

For a comprehensive list of all the changes, please refer to the change log.

The release will be on available on the defaults and can be install using:

python3 -m pip install verticapy==1.0.0b1

Please report any issues on our GitHub page

We would like to extend our thanks to all the contributors who made this release possible:

Badr Ouali @oualib
Umar Farooq Ghumman @mail4umar
Arash Fard @afard
Tyler Consigny @tconsigny
Vikash Singh @vikash018
If you would like to contribute then please visit our updated contributing guidelines.

VerticaPy version 1.0.0-beta

15 Jun 23:00
99d1ea3
Compare
Choose a tag to compare
Pre-release

This is our very first beta release, which includes numerous modifications to the previous code aimed at enhancing the user experience.

Some of the highlights of this release are:

  • Flexibility to select from the three renowned potting libraries for professional plots.
  • The introduction of a wide range of classification metrics.
  • Support for KPrototypes.

Furthermore, due to code restructuring, the import syntax has changed and is now more intuitive.

For a comprehensive list of all the changes, please refer to the change log.

The release will be on available on the defaults and can be install using:

python3 -m pip install verticapy

Please report any issues on our GitHub page

We would like to extend our thanks to all the contributors who made this release possible:

If you would like to contribute then please visit our updated contributing guidelines.