Privex-db

Latest version: v0.9.2

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

Scan your dependencies

0.9.0

**Updates and Improvements**
- Refactored `SqliteWrapper._should_zip` into a standalone function for sharing between other classes and methods.

**New additions**

- New dependencies: `aiosqlite`, `async-property` and `nest_asyncio`
- New class `db.base.GenericAsyncDBWrapper` - an abstract base class for AsyncIO database wrappers
- New class `db.query.asyncx.base.BaseAsyncQueryBuilder` - an abstract base class for AsyncIO query builders

- New protocol types in `db.types`:
- `GenericAsyncCursor` - a protocol which covers any class which implements the Python DB API (PEP 249) for cursors, with all methods being coroutines (async def).
- `GenericAsyncConnection` - a protocol which covers any class which implements the Python DB API (PEP 249) for DB connections, with all methods being coroutines (async def).

- AsyncIO Sqlite3 support:
- `db.sqlite.SqliteAsyncWrapper` uses `aiosqlite` to provide asynchronous wrapper methods for interacting with Sqlite3 databases asynchronously.
- `db.query.asyncx.sqlite.SqliteAsyncQueryBuilder` is a query builder for Sqlite3 which uses `aiosqlite` to implement async methods for executing the built queries and fetching the results

**Unit testing**

- Added `pytest-asyncio` as a development dependency, allowing for asynchronous unit tests

- Changes to `tests/base.py`:
- Created class `_TestAsyncWrapperMixin` - an async version of `_TestWrapperMixin`
- Created class `ExampleAsyncWrapper` - an async version of `ExampleWrapper`
- Refactored `_TestWrapperMixin.example_users` into a module variable so that it can be shared by other classes.

- Created `tests/test_async.py`
- Uses `pytest-asyncio` for running async unit test functions
- Unit tests to cover the async class `SqliteAsyncWrapper` (based on the unit tests in `test_sqlite_wrapper.py`)
- Unit tests to cover the async class `SqliteAsyncQueryBuilder` (based on the unit tests in `test_sqlite_builder.py`)

**This covers all notable changes and additions. There may possibly be other small changes and improvements too :)**

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.