Changelog¶
1.12.2 - 2026-01-29¶
Authors: Bruno Macedo
Changes:
- Fixed
FtpHandler.get_filenot closing the file after reading it when using a file-like object as destination.
1.12.1 - 2026-01-28¶
Authors: Bruno Macedo
Changes:
- Added new argument
max_conn_retriesto all handlers to split the connection retry limit and the query retry limit. This allows to have a lower number of connection retries while keeping a higher number of query retries.
1.12.0 - 2026-01-27¶
Authors: Bruno Macedo
Changes:
- Changed retry logic in all connection handlers to use exponential backoff strategy with tenacity library. Now the number of retries, maximum wait time, minimum wait time and multiplier can be configured in the connection handler constructor.
1.11.2 - 2026-01-19¶
Authors: Bruno Macedo
Changes:
- Added
ignore_null_colsparameter topolars_to_sqlandpandas_to_sqlmethods in SQL handlers to allow ignoring columns with only null values when writing to the database. - Added BIGINT segmentation in sql data types for both pandas and polars in
PgSqlHandler.
1.11.1 - 2026-01-11¶
Authors: Bruno Macedo
Changes:
polars_to_sqlnow supports inserting or updating columns with array data types inPgSqlHandler.
1.11.0 - 2026-01-11¶
Authors: Bruno Macedo
Changes:
- Added
update_onlyparameter topolars_to_sqlandpandas_to_sqlmethods in SQL handlers to allow updating existing records without inserting new ones.
1.10.0 - 2026-01-09¶
Authors: Bruno Macedo
Changes:
- Added
return_colsparameter topolars_to_sqlandpandas_to_sqlmethods in SQL handlers to allow returning specific columns after an upsert operation. - Added
polars_to_sqlmethod toSqlLiteHandler.
1.9.0 - 2025-12-22¶
Authors: Bruno Macedo
Changes:
- Upgraded to Python 3.13.
1.8.2 - 2025-12-15¶
Authors: Bruno Macedo
Changes:
- Made
infer_schema_length=Nonethe default inread_to_polarsmethod of SQL handlers to avoid errors while trying to infer schema with small datasets.
1.8.1 - 2025-11-27¶
Authors: Nicole Oska
Changes:
- Added the
MySqlHandleron documentation.
1.8.0 - 2025-11-25¶
Authors: Nicole Oska
Changes:
- Added the
MySqlHandlerclass and tests.
1.7.2 - 2025-11-24¶
Authors: Bruno Macedo
Changes:
- Added option to set
pg_settingsinPgSqlHandlerto set additional PostgreSQL settings at the start of the connection.
1.7.1 - 2025-09-10¶
Authors: Nicole Tometich
Changes:
- Minor change to avoid "AttributeError: 'psycopg_c.pq.PGconn' object has no attribute 'used_gssapi'" on psycopg 3.2.10 version
1.7.0 - 2025-08-13¶
Authors: Bruno Macedo
Changes:
- Changed HTTP classes to use httpx instead of requests module.
- Added
OnsHttpHandlerto connect to SAGER and SINAPSE. - Reorganized tests.
1.6.1 - 2025-07-12¶
Authors: Bruno Macedo
Changes:
- Changed build backend to
uv_buildfor better packaging and deployment.
1.6.0 - 2025-07-09¶
Authors: Bruno Macedo
Changes:
- Added
polars_to_sqlmethod toPgSqlHandler.
1.5.3 - 2025-06-30¶
Authors: Bruno Macedo
Changes:
- Fixed type hints for skip_row_check.
1.5.2 - 2025-06-24¶
Authors: Bruno Macedo
Changes:
- Added compatibility for Path object in
FtpHandler.
1.5.1 - 2025-06-23¶
Authors: Bruno Macedo
Changes:
- Added option to allow empty strings (endpoint) in http requests.
1.5.0 - 2025-06-19¶
Authors: Bruno Macedo
Changes:
- Added
read_to_polarsto SQL classes. - Added pydantic validate call to all methods.
- Added
ruff.tomlfile to configure ruff.
1.4.1 - 2025-04-28¶
Authors: Bruno Macedo
Changes:
- Added
headersargument toHttpConnPropertiesto allow for custom headers to be set in the session. HttpHandlernow allows for requests to be made to empty endpoints.
1.4.0 - 2025-04-10¶
Authors: Bruno Macedo
Changes:
- Added option to specify
payload_kwargsto be added to every request in any subclass ofHttpHandler. This allows to add something that is fixed for every request, likeapi_keyorcredentials.
1.3.10 - 2025-02-18¶
Authors: Bruno Macedo
Changes:
- Added option to select pymssql directly in
MsSqlHandlerto avoid errors when connecting to SCADA SQL servers.
1.3.9 - 2025-02-05¶
Authors: Bruno Macedo
Changes:
- Changed API URL for bazefield password login.
1.3.8 - 2024-12-20¶
Authors: Bruno Macedo
Changes:
- Added
schemaargument to SQL connection. In postgres, when this is set, the search path is set to the schema name.
1.3.7 - 2024-12-15¶
Authors: Bruno Macedo
Changes:
- Removed unnecessary log messages when connections was successful.
1.3.6 - 2024-12-09¶
Authors: Bruno Macedo
Changes:
- Added
skip_row_checktoif_existsinpandas_to_sql.
1.3.5 - 2024-10-14¶
Authors: Bruno Macedo
Changes:
- Removed hard requirement of api key or credentials in
HttpConnProperties. - Moved
_connectfromBazeHttpHandlertoHttpHandlerto allow for more flexibility in the connection process. Only authentication is now done inBazeHttpHandler.
1.3.4 - 2024-09-09¶
Authors: Bruno Macedo
Changes:
- Added option to get columns from views and materialized views in
PgSqlHandler.get_table_columns().
1.3.3 - 2024-09-02¶
Authors: Bruno Macedo
Changes:
- Changed query to upsert eh values in
PgSqlHandler.pandas_to_sqlto avoid errors when there is a duplicate key in the data being inserted. Also broke the insert process in chunks of 100000 rows to avoid errors.
1.3.2 - 2024-09-02¶
Authors: Bruno Macedo
Changes:
- Set SSL default requirement to False in
HttpConnPropertiesto avoid errors when connecting to non-secure servers.
1.3.1 - 2024-08-27¶
Authors: Bruno Macedo
Changes:
- Bug fix in upsert of
SqlLiteHandler.pandas_to_sql.
1.3.0 - 2024-08-16¶
Authors: Bruno Macedo
Changes:
- Major changes in documentation. Now we are using MkDocs to generate the documentation and Material for MkDocs as the theme.
1.2.1 - 2024-07-25¶
Authors: Bruno Macedo
Changes:
- Added option to forcefully skip retries in
SqlHandlerread_to_pandas()andexecute()methods, skipping the maximum number of retries set in theConnPropertiesobject.
1.2.0 - 2024-07-14¶
Authors: Bruno Macedo
Changes:
- Added better support for time zone aware in
SqlHandler, specially inread_to_pandas()method.
1.1.0 - 2024-07-09¶
Authors: Bruno Macedo
Changes:
- Upgraded to python 3.12.
1.0.8 - 2024-06-30¶
Authors: Bruno Macedo
Changes:
- In
MsSqlHandlerfixed TDS version when connecting usingpymssqlto allow upgrading pymssql to version higher than 2.2.8.
1.0.7 - 2024-05-23¶
Authors: Bruno Macedo
Changes:
- Changed
FtpHandler._close()to use FTP quit method instead of close method, to avoid errors when closing the connection.
1.0.6 - 2024-05-13¶
Authors: Bruno Macedo
Changes:
- Minor bug fix in
FtpHandler.delete_file().
1.0.5 - 2024-04-15¶
Authors: Bruno Macedo
Changes:
- Changed to new Bazefield URL.
1.0.4 - 2024-04-10¶
Authors: Bruno Macedo
Changes:
- Fixed bug in
SqlHandler._get_pandas_sql_dtypes().
1.0.3 - 2024-03-10¶
Authors: Bruno Macedo
Changes:
- Added option to specify
conflict_colsinpandas_to_sqlmethod ofSqlHandlersubclasses. This allows to specify the columns to be used in theON CONFLICTclause.
1.0.2 - 2024-03-06¶
Authors: Bruno Macedo
Changes:
- Added
noticesattribute toPgSqlHandlerto store the notices from the server. It allows to retrieve any notices from previous queries. - pyarrow as default dtype_backend in
SqlHandler.read_to_pandas(). - Added
post_convertoption toSqlHandler.read_to_pandas()for converting to pyarrow or Numpy nullable after reading that, which solves some issues when reading JSON columns from PostgreSQL.
1.0.1 - 2024-03-04¶
Authors: Bruno Macedo
Changes:
- Added
skip_connectoption toConnHandlerconstructor, enabling the creation of a handler without connecting to the server.
1.0.0 - 2024-03-03¶
Authors: Bruno Macedo
Changes:
- Major changes to PgSqlHandler to add new functionality such as saving data from a pandas DataFrame to a table in the database.
SqlHandler._get_pandas_sql_dtypes()much improved, now checks for the columns data type and only falls to checking column values if could not infer the data type from the column dtype.- Added
create_tableanddelete_tablemethods toPgSqlHandlerandSqlLiteHandler. - More detailed README file.
0.4.8 - 2024-03-01¶
Authors: Bruno Macedo
Changes:
- Moved installation to pyproject.toml.
- Refactored considering ruff suggestions.
0.4.7 - 2024-02-07¶
Authors: Bruno Macedo
Changes:
- Fixed retries in
BazeHttpHandler.
0.4.6 - 2024-02-03¶
Authors: Bruno Macedo
Changes:
- Adjusted pool_maxsize in
BazeHttpHandlerto 32 to allow concurrent requests to the Bazefield API.
0.4.5 - 2023-08-10¶
Authors: Bruno Macedo
Changes:
- Forced use of pymssql 2.2.8 to avoid errors with newer versions when connecting to SCADA SQL servers.
0.4.4 - 2023-08-08¶
Authors: Bruno Macedo
Changes:
- Changed functions in all core connection handlers to show the first error and not the last in case failed after multiple attempts.
0.4.3 - 2023-06-19¶
- Added support to pyarrow pandas backend.
0.4.2 - 2023-06-15¶
- Added type checks for all
ConnPropertiessubclasses, avoiding errors when instantiating them. As they are data classes this was done using the__post_init__method. - Changed chunk size in to_sql method of
SqlLitHandler.pandas_to_sqlto be dynamically set based on the input DataFrame.
0.4.1 - 2023-05-22¶
- Minor bug fix when using
ConnHandlerin with statement. - Added custom dtype mapping to
SqlLiteHandler.
0.4.0 - 2023-05-18¶
- Added
SqlLiteConnPropertiesandSqlLiteHandlerclasses. - Added class method
_get_pandas_sql_dtypestoSqlHandlerto convert Pandas dtypes to SQL dtypes. - Added many abstract methods to
SqlHandlerto be implemented by subclasses. These methods were already implemented inSqlLiteHandlerbut need to be implemented inMsSqlHandlerandPgSqlHandler.
0.3.0 - 2023-05-11¶
- Added capabilities to
ConnHandlerto be used in awithstatement.
0.2.7 - 2023-05-07¶
- Changed default retry_wait_time to a lower value in all modules.
0.2.6 - 2023-04-22¶
- Added option to pass positional and keyword arguments to the execute method of SqlHandler.
0.2.5 - 2023-04-19¶
- Added execute method to SqlHandler. This is used to execute queries using the cursor.
0.2.4 - 2023-04-19¶
- Changed SqlHandler to do everything in read_to_pandas inside a try/except block to avoid erros if the connection is lost.
0.2.3 - 2023-04-18¶
- Added Encrypt=no to the ODBC connection string of sql_ms.py to improve compatibility with older versions of SQL server.
0.2.2 - 2023-02-09¶
- Made MsSqlHandler compatible with ODBC driver version 18.
0.2.1 - 2023-02-06¶
- Changed FtpHandler to connect using passive mode.
0.2.0 - 2023-01-26¶
- Added FtpConnProperties and FtpHandler classes.
- ConnHandler.reconnect() now attempts to close the connection before connecting again.
0.1.1 - 2023-01-10¶
- Added the cursor() method to SqlHandler class.
0.1.0 - 2023-01-09¶
- Changed package name to echo_connhandler to allow for a more broader use.
- Added HttpConnProperties and HttpHandler as abstract classes to handle connection to HTTP servers.
- Added to BazeHttpHandler to connect to Bazefield.
0.0.2 - 2023-01-04¶
- Minor bug fixes.
0.0.1 - 2023-01-04¶
- Initial release.