Omniduct

Latest version: v1.2.2

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

Scan your dependencies

Page 4 of 8

1.1.4

This is a minor release with several significant improvements over v1.1.3 that do not break the API. Most of the changes revolve around improving the filesystem clients and their performance.

- Improve performance of all `Duct` instances by skipping connection checks for every operation, and instead only check if actions fail. This was achieved by replacing `self.connect()` patterns with a `requires_connection` decorator, which only lazily checks the connection.
- Expose a wrapper around all Omniduct `FileSystemClient` implementations for use with `pyarrow` as `_.pyarrow_fs`.
- Fix serialization of `pandas` dataframes when using filehandles.
- Improve the robustness of cached methods when the serializer fails to serialize (or deserialize) objects.
- `FileSystemFile` fixes and improvements:
- Fix a `seek` implementation bug whereby `whence` was not passed through to the internal buffer.
- Fix the spelling of the `writable` attribute: "writeable" -> "writable"
- Add a few extra methods to the API to match that offered by `io` file implementations.
- `S3Client` fixes and improvements:
- Fix enumerating root "directory".
- Add support for passing in a pre-configured boto3 session.
- Refactor class to allow for subclasses to override boto3 session generation.

1.1.3

This is a minor release fixing two nits:

- Use `yaml.safe_load` instead of `yaml.load` for configuration import.
- Avoid unnecessary keyword arguments in `PySparkClient._execute`.

1.1.2

This is a minor release that bumps the dependency on `interface_meta` to the 1.1.x series; fixing some downstream issues the use of method descriptors (such as `classmethod` and `staticmethod`).

1.1.1

This is a minor release with a minor feature improvement and a bugfix:

- Users can now pass `show=None` (in addition to `show='none'`) in database execution magics.
- Fixed a bug introduced in v1.1.0 concerning S3 path resolution.

1.1.0

This is a major release featuring some infrastructure improvements and some minor API breakage.

Breaking changes:
- The custom metaclass that was once in `omniduct` has now been extracted into its own library, and gained support for checking that subclasses correctly override methods. Subclasses that override methods defined on a parent class must now explicitly annotate those method declarations with `interface_meta.override()`. Any downstream subclasses will have to conform to these changes also.

New features:
- `FilesystemClient`s can now have the home directory specified at instantiation or overridden at runtime, and can now be configured to be read only.
- `DatabaseClient`s now propagate the instantiation-time schema/database/etc namespace configuration as defaults to utility methods (such as `table_desc`, `table_list`, etc).

Bugfixes and improvements:
- SQLAlchemy schema exploration extensions are now more dialog agnostic (93)
- The 'replace' operation for the `DatabaseClient.query_to_table` method has been fixed for Presto and HiveServer2.
- REST client logging now renders JSON error responses rather than simply showing a string representation.

1.0.3

This is a minor release with several feature additions:

New Features:
- Added support for pruning the cache based on size and/or age (89)
- Add an option to cleanup SQL in the `render` methods (90)
- Added `template_get`, `template_variables` and `meta_only` argument to `template_render`.

Bugfixes:
- SchemaMixin bugfixes affecting some less common sqlalchemy backends (e.g. Snowflake) (91)

Page 4 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.