Releases: Nedelis/sl3aio
Releases · Nedelis/sl3aio
Release list
Improved & Documented | v1.3.0-rc1
🔮 Improved the interfaces and created detailed documentation.
sl3aio has become even easier to use thanks to its flexible structure and detailed documentation.
📝 What's new
- The execution system has been completely changed.
- Replaced the
pk_tablelogic with more convenient and functionalEasyTableandEasySelectorclasses. - Created the complete documentation for the library and posted it on readthedocs.io.
- Removed unnecessary
_utilsand_loggingmodules.
⚡ Optimizations
- Modification operations (update, delete) on
SolidTableclass has become faster due to the optimized selection of affected records. - The
MemoryTableclass has become true async. - Removed the memory-demanding
MemoizedTableclass. It will probably be added back in later versions.
🩹 Fixes
- Fixing imports for typing (it turns out that some types should have been imported from collections.abc to specify the type).
TableColumnclass now can be instantiated via sql definition withTableColumnValueGenerator.
💬 Comment
Apologize for the insufficiently detailed description of the release, however, 7 months have passed since the last release and it is quite difficult to remember what exactly has changed.
👀 Full Changelog
Revised & Expanded | v1.2.0-rc1
🚀 Revised interaction with sqlite and expanded functionality
Now sl3aio has become more self-sufficient and performs validation before adding records to databases, which speeds up the performance.
📝 What's new
TableColumnnow instantiates without sql. To instantiate it via sql usefrom_sqlmethod.- Added
TableColumnValueGeneratorthat allows to generate columns' values via python functions. Also can be saved and loaded from database (only after registering it usingTableColumnValueGenerator.registermethod) - Parsable classes now can be created only by using
sl3aio.dataparser.parsabledecorator. Classes still have to implementfromdictandasdictmethods.
⚡ Optimizations
MemoizedTablehave become faster to insert due to ignoring existing values (ifignore_on_repeatflag is True).- Creating
TableRecordinstances and subclasses is now faster due to transition fromNamedTupleto owntupleimplementaion.
🩹 Fixes
- Parsers created from Parsable dataclasses are no longer duplicates.
- Leading and trailing quotes ("'`) are now ignored when loading default values from database.
- Typing fixes in the
dataparsers,pktableandtablemodules. - Name's shadowing fixes.
👀 Full Changelog
Bunch of stuff | Version 1.1.0-a1
Optimized, fixed and with new features!
Fixes:
- Selecting from
SolidTableandMemoizedTableinstances now working withNonevalues in records - Creating builtin
SQLTablechild-classes by methodfrom_databasenow parse default column values (before default values was always read as strings) PrimaryKeyTabletable field now typed better- Logging now works properly
Optimizations:
- Now
table.SQLTablehas special method_execute_where(record, query, parameters, conn_kwargs)which automatically addsWHEREclause to the end of the provided query to select specified record. It allows to select records only by their primary key or unique value if they have one of them. - Removed some cycles.
New features:
Parserclass that saves all data parsers and allows to use them later in code. Automatically registers adapters and converters via sl3 functions on instantiating.Parsableclass that allows registrate parser via inheriting from it. Child classes must have@classmethod fromdictandasdictmethods. Also they may declare aliases in classvaraliases
First Release | Version 1.0.0
This is the first release of the sl3io!
Full Changelog: https://github.com/Nedelis/sl3aio/commits/v1.0.0