Sl3aio

Latest version: v1.3.0rc1

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.3.0rc1

🔮 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_table` logic with more convenient and functional `EasyTable` and `EasySelector` classes.
- Created the complete documentation for the library and posted it on readthedocs.io.
- Removed unnecessary `_utils` and `_logging` modules.

⚡ Optimizations
- Modification operations (update, delete) on `SolidTable` class has become faster due to the optimized selection of affected records.
- The `MemoryTable` class has become true async.
- Removed the memory-demanding `MemoizedTable` class. 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).
- `TableColumn` class now can be instantiated via sql definition with `TableColumnValueGenerator`.

💬 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](https://github.com/Nedelis/sl3aio/compare/v1.2.0-rc1...v1.3.0-rc1)

1.2.0rc1

🚀 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
- `TableColumn` now instantiates _without sql_. To instantiate it via sql use `from_sql` method.
- Added `TableColumnValueGenerator` that allows to _generate columns' values via python functions_. Also can be _saved and loaded from database_ (only after registering it using `TableColumnValueGenerator.register` method)
- _Parsable classes now can be created only by using_ `sl3aio.dataparser.parsable` _decorator_. Classes still have to implement `fromdict` and `asdict` methods.

⚡ Optimizations
- `MemoizedTable` have become faster to insert due to _ignoring existing values_ (if `ignore_on_repeat` flag is True).
- Creating `TableRecord` instances and subclasses is now faster due to transition from `NamedTuple` to own `tuple` implementaion.

🩹 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`, `pktable` and `table` modules.
- Name's shadowing fixes.

👀 [Full Changelog](https://github.com/Nedelis/sl3aio/compare/v1.1.0-a1...v1.2.0-rc1)

1.1.0a1

Optimized, fixed and with new features!

Fixes:
1. Selecting from `SolidTable` and `MemoizedTable` instances now working with `None` values in records
2. Creating builtin `SQLTable` child-classes by method `from_database` now parse default column values (before default values was always read as strings)
3. `PrimaryKeyTable` table field now typed better
4. Logging now works properly

Optimizations:
1. Now `table.SQLTable` has special method `_execute_where(record, query, parameters, conn_kwargs)` which automatically adds `WHERE` clause 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.
2. Removed some cycles.

New features:
1. ``Parser`` class that saves all data parsers and allows to use them later in code. Automatically registers adapters and converters via sl3 functions on instantiating.
2. ``Parsable`` class that allows registrate parser via inheriting from it. Child classes must have `classmethod fromdict` and `asdict` methods. Also they may declare aliases in classvar `aliases`

1.0.0

This is the first release of the sl3io!

**Full Changelog**: https://github.com/Nedelis/sl3aio/commits/v1.0.0

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.