Release and Version History#
Backlog (TODO)#
Features and Improvements
Minor Improvements
Bugfixes
Miscellaneous
2.0.0.2 (2024-05-28)#
Features and Improvements
Add “Large binary column” pattern, support local file and Amazon S3 backend.
- Add the following public API
sqlalchemy_mate.api.patterns.large_binary_column.aws_s3sqlalchemy_mate.api.patterns.large_binary_column.aws_s3.PutS3BackedColumnResultsqlalchemy_mate.api.patterns.large_binary_column.aws_s3.put_s3backed_columnsqlalchemy_mate.api.patterns.large_binary_column.aws_s3.clean_up_created_s3_object_when_create_or_update_row_failedsqlalchemy_mate.api.patterns.large_binary_column.aws_s3.clean_up_old_s3_object_when_update_row_succeededsqlalchemy_mate.api.patterns.large_binary_column.aws_s3.PutS3ApiCallsqlalchemy_mate.api.patterns.large_binary_column.aws_s3.PutS3Resultsqlalchemy_mate.api.patterns.large_binary_column.aws_s3.put_s3sqlalchemy_mate.api.patterns.large_binary_column.localsqlalchemy_mate.api.patterns.large_binary_column.local.WriteFileBackedColumnResultsqlalchemy_mate.api.patterns.large_binary_column.local.write_file_backed_columnsqlalchemy_mate.api.patterns.large_binary_column.local.clean_up_new_file_when_create_or_update_row_failedsqlalchemy_mate.api.patterns.large_binary_column.local.clean_up_old_file_when_update_row_succeededsqlalchemy_mate.api.patterns.large_binary_column.local.WriteFileApiCallsqlalchemy_mate.api.patterns.large_binary_column.local.WriteFileResultsqlalchemy_mate.api.patterns.large_binary_column.local.write_file
Minor Improvements
Use jupyter notebook to generate documentation.
2.0.0.1 (2024-05-17)#
💥Breaking Change
- Rework the public API import. Now you have to use
import sqlalchemy_mate.api as samto access the public API.from sqlalchemy_mate import ...is no longer working. Here’s the full list of public API: sqlalchemy_mate.api.selecting.count_rowsqlalchemy_mate.api.selecting.by_pksqlalchemy_mate.api.selecting.select_allsqlalchemy_mate.api.selecting.select_single_columnsqlalchemy_mate.api.selecting.select_many_columnsqlalchemy_mate.api.selecting.select_single_distinctsqlalchemy_mate.api.selecting.select_many_distinctsqlalchemy_mate.api.selecting.select_randomsqlalchemy_mate.api.selecting.yield_tuplesqlalchemy_mate.api.selecting.yield_dictsqlalchemy_mate.api.inserting.smart_insertsqlalchemy_mate.api.updating.update_allsqlalchemy_mate.api.updating.upsert_allsqlalchemy_mate.api.deleting.delete_allsqlalchemy_mate.api.test_connectionsqlalchemy_mate.api.EngineCreatorsqlalchemy_mate.api.ExtendedBasesqlalchemy_mate.api.TimeoutErrorsqlalchemy_mate.api.io.sql_to_csvsqlalchemy_mate.api.io.table_to_csvsqlalchemy_mate.api.pt.from_resultsqlalchemy_mate.api.pt.from_text_clausesqlalchemy_mate.api.pt.from_stmtsqlalchemy_mate.api.pt.from_tablesqlalchemy_mate.api.pt.from_modelsqlalchemy_mate.api.pt.from_dict_listsqlalchemy_mate.api.pt.from_everythingsqlalchemy_mate.api.patterns.status_tracker.JobLockedErrorsqlalchemy_mate.api.patterns.status_tracker.JobIgnoredErrorsqlalchemy_mate.api.patterns.status_tracker.JobMixinsqlalchemy_mate.api.patterns.status_tracker.Updates
- Rework the public API import. Now you have to use
Features and Improvements
Add status tracker pattern.
2.0.0.0 (2024-05-15)#
💥Breaking Change
From
sqlalchemy_mate>=2.0.0.0, it only supportsqlalchemy>=2.0.0and only compatible with sqlalchemy 2.X API. Everything marked asno longer supportedorno longer acceptedin SQLAlchemy 2.0 - Major Migration Guide document will no longer be supported from this version.Drop Python3.7 support. Now it only support 3.8+.
Features and Improvements
Fully adapt sqlalchemy 2.X API.
Minor Improvements
Migrate to cookiecutter-pyproject v4 code skeleton.
1.4.28.4 (2023-03-15)#
Bugfixes
fix a syntax bug in
requirements.txt
1.4.28.3 (2021-12-29)#
Features and Improvements
add
sqlalchemy_mate.types.JSONSerializableTypeadd
sqlalchemy_mate.types.CompressedStringTypeadd
sqlalchemy_mate.types.CompressedBinaryTypeadd
sqlalchemy_mate.ExtendedBase.select_allmethod
Bugfixes
Fix the underlying implementation type for
sqlalchemy_mate.types.CompressedJSONType
1.4.28.2 (2021-12-18)#
Features and Improvements
add
sqlalchemy_mate.types.CompressedJSONTypecolumn type.add
sqlalchemy_mate.selecting.by_pkfunction.
1.4.28.1 (2021-12-17)#
Features and Improvements
fully migrate to
sqlalchemy1.4+ 2.0 styled API, dropped < 1.3 API supportmaintain a big version number compatability with Sqlalchemy, won’t be responsible to be compatible with different major version. For example,
sqlalchemy_mate==1.4.xmaintain compatibility tosqlalchemy>=1.4.0,<1.5.0.
0.0.11 (2020-12-05)#
Features and Improvements
ExtendedBase.by_idis renamed toExtendedBase.by_pk. The old method name is kept for backward API compatibility.add
ExtendedBase.pk_fieldsmethodrefact
ExtendedBase.update_allmethod, allow working with session
Minor Improvements
move CI to GitHub Action.
add unit test on Windows
Bugfixes
Miscellaneous
use in-package timeout_decorator library to ensure api compatibility
0.0.10 (2019-04-26)#
Minor Improvements
add type hint.
0.0.9 (2019-04-26)#
Features and Improvements
pretty table
from_everythingnow support textual sqladd
ExtendedBase.random()method
Minor Improvements
More edge case test
allow user to assign engine to
ExtendedBase._settings_engineand then access engine and session withExtendedBase.get_eng(),ExtendedBase.get_ses()
Bugfixes
Miscellaneous
include type hint!
0.0.8 (2019-03-04)#
Bugfixes
fix import error in
Credential.from_envwith AWS KMS.
Miscellaneous
allow
EngineCreatorto return sqlalchemy connect string.improved docs
0.0.7 (2019-03-02)#
Features and Improvements
add
test_connection(engine, timeout=3)function.integrate
Credential.from_envwith AWS Key management Service.
Miscellaneous
Deprecating
sqlalchemy_mate.engine_creator
0.0.6 (2019-03-02)#
Bugfixes
add
import boto3inCredential.from_s3_json()
0.0.5 (2019-03-01)#
Features and Improvements
ExtendedBase.keys()now is a class method.ExtendedBase.glance()can print major attributes and values.A New DB Credential reader
from sqlalchemy_mate import Credential, EngineCreator
Minor Improvements
change
FromClause.count()->func.count(), since previous one will be deprecated soon in sqlalchemy.
0.0.4 (2018-08-11)#
Features and Improvements
add
ExtendedBase.pk_names,ExtendedBase.id_field_name,ExtendedBase.by_id,ExtendedBase.by_sql,ExtendedBase.update_all,ExtendedBase.upsert_all.
Minor Improvements
use
pygitrepo==0.0.21
Miscellaneous
Now
ExtendedBase.smart_insertmethod returns number of insertion operation. So you can see the difference now.
0.0.3 (2018-07-22)#
Features and Improvements
add a
ExtendedBaseclass to give orm Declaritive Base more useful method.add a new method performs
smart_insertin orm. It is 10 times faster in average than one by one insert. Can do bulk insert even there is aIntegrityError.add a new
engine_creatormodule to quickly create engines.
Minor Improvements
now
.crud.select, .crud.insert, .crud.updateare renamed to.crud.selecting, .crud.inserting, .crud.updateing.greately improved the doc strings.
Bugfixes
fix a bug that returns different column name in export query result to
PrettyTable.
Miscellaneous
improve testing coverage from 60% to 100%.
add unittest for import.
add documentation site.
0.0.2 (2018-07-03)#
Features and Improvements
add more function can create PrettyTable from orm query, orm object, sql statement, table.
Minor Improvements
Bugfixes
fix a bug that sometimes prettytable using bytes str for column name, now it ensures unicode str.
Miscellaneous
0.0.1 (2017-06-15)#
First release
Add
insert,select,update,io,ptmodule.