Pyventus

Latest version: v0.5.0

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

Scan your dependencies

Page 1 of 2

0.5.0

Release Note

Breaking Changes

- Removed the base `Event` class due to improved event semantics and unnecessary redundancy.
- Renamed the `get_event_registry()` method of `EventLinker` to `get_registry()`.
- Renamed the `__event_registry` inner property of `EventLinker` to `__registry`.
- Renamed the `get_events_by_handler()` method of `EventLinker` to `get_event_handlers_by_events()`.
- Renamed the `get_handlers_by_events()` method of `EventLinker` to `get_event_handlers_by_events()`.
- Renamed the protected method `_executor_callback()` of the `ExecutorEventEmitter` to `_callback()`.
- Renamed the task name of `CeleryEventEmitter` from `_executor` to `pyventus_executor` to avoid collisions with other task names.

Added

- Added `__slots__` to `EventLinkageWrapper` class for more efficient memory usage.
- Extended support for subscription and emission of any `dataclass` object, removing the limitation of only `Event` subclasses.
- Added the `force_async` parameter to the `EventHandler` class and `EventLinker` subscription methods to be able to optimize the execution of `sync` callbacks based on their workload.
- Introduced a new event semantic where the Python `...` (Ellipsis) is now used to refer to all events on a subscription, like the `onAny()` method but with a Pythonic syntax.
- Added the `mkdocs-material social cards` plugin, which provides a preview of the documentation content when shared on social media platforms.

Changed

- Standardized the order of static methods, class methods, and instance methods for improved readability.
- Applied Python best practices to optimize the methods within the `EventLinker` and `EventEmitter` classes.
- Improved validation of variable instances in the event emitters, `EventLinker`, and `EventHandler`.
- Updated and improved the test suite to ensure accurate validation and consistency.
- Enabled creation date for the mkdocs `git-revision-date-localized` plugin.
- Replaced the mkdocs `git-authors` plugin with the `git-committers` plugin.
- Updated and improved the package description.
- Updated the tutorial section to incorporate recent changes.
- Enhanced the documentation index page and README file with new examples and better descriptions to showcase the unique features of Pyventus.

Removed

- Removed the default value of the `once` flag in the `EventHandler` class.

Fixed

- Fixed and standardized all package docstrings and code comments for consistency and clarity.
- Addressed minor errors and details in the documentation.

Changelog

- Full Changelog: https://github.com/mdapena/pyventus/compare/0.4.1...0.5.0
- Contributors: mdapena

0.4.1

Release Note

Changed

- Optimized the size of the source distribution (sdist) build by including only essential files and directories, such
as the `/src` and `/tests` directories, as well as the following files: `.gitignore`, `pyproject.toml`,
`CITATION.cff`, `README`, and `LICENSE`.
- Refactored documentation dependencies into an optional dependency called `docs`.
- Updated the `deploy-docs.yml` GitHub workflow to leverage the new optional dependency `docs`.
- Updated the `EventEmission` class with the `final` decorator from the typing module, indicating that it is meant for
internal use only and should not be subclassed.

Fixed

- Addressed minor errors and details in the documentation.

Changelog

- Full Changelog: https://github.com/mdapena/pyventus/compare/0.4.0...0.4.1
- Contributors: mdapena

0.4.0

Release Note

Added

- Added `FastAPIEventEmitter` implementation to facilitate seamless integration with the `FastAPI` framework.
- Added tests for `FastAPIEventEmitter` to validate its behavior and ensure proper operation.
- Added documentation for `FastAPIEventEmitter`, including tutorials and API references.
- Integrated the `Coveralls.io` workflow to generate coverage badge and reports.
- Included coverage badges on the main documentation page and the readme file.
- Introduced permalinks within the documentation for easy navigation.

Changed

- Updated `pyproject.toml` with the new optional dependency for `FastAPI` integration.

Fixed

- Addressed minor errors in the Pyventus documentation to improve accuracy and clarity.

Changelog
- Full Changelog: https://github.com/mdapena/pyventus/compare/0.3.0...0.4.0
- Contributors: mdapena

0.3.0

Release Note

Breaking Changes

- Introduced `EventEmission` object to encapsulate the processing of event emissions. This changes the `_execute()` method of `EventEmitter` but provides a cleaner, more scalable, and efficient approach.
- Renamed all debug flags from `debug_mode` to `debug` for enhanced clarity and consistency.
- Renamed EventEmitter's `_execute()` method to `_process()` to better reflect its purpose of processing event emissions.

Added

- Added `CeleryEventEmitter` implementation to leverage the Celery distributed task queue for event handling.
- Added tests for `CeleryEventEmitter` to validate its behavior and ensure proper operation.
- Added documentation for `CeleryEventEmitter`, including tutorials and API references.

Changed

- Restructured the documentation for event emitters tutorials and API references to improve organization and clarity.
- Updated the `contributing.md` page to include the *Troubleshooting Hatch Environment Errors* section.
- Updated the `EventEmitter` API documentation to include the `EventEmission` class reference.
- Updated `pyproject.toml` with the new optional dependency for `Celery` integration.
- Updated `mypy` ignore flags to properly silence specific false positive error codes.

Fixed

- Addressed minor errors in the Pyventus documentation.

Changelog

- Full Changelog: https://github.com/mdapena/pyventus/compare/0.2.1...0.3.0
- Contributors: mdapena

0.2.1

Release Note

Changed

- Updated docstring links throughout the package to refer to the official documentation.
- Updated the `RQEventEmitter` API Reference and Tutorials docs to reflect the new optional import.

Fixed

- Resolved the issue where the `RQEventEmitter` class was automatically imported in the main package, requiring the installation of its optional dependency to use any of the package's core functionalities. It is now fully optional.
- Fixed issues with invalid links in the documentation.

Changelog
- Full Changelog: https://github.com/mdapena/pyventus/compare/0.2.0...0.2.1
- Contributors: mdapena

0.2.0

Release Note

Added

- Introduced the `publish to PyPI` workflow, automating the uploading of package builds when new releases are created.
- Added the `mkdocs-git-authors` plugin to display git authors of a markdown page in the documentation.
- Added badges to the main page of the documentation as well as the readme file.
- Added a code of conduct for the project, using the [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
- Included a `CITATION.cff` file to facilitate academic citations.

Changed

- Renamed the `tests.yml` workflow to `run-tests.yml`.
- Updated the `deploy-docs.yml` workflow with the `mkdocs-git-authors` plugin dependency.
- Modified the `mkdocs.yml` config file by adding the `site_url` and `site_author` properties.
- Updated the `pyproject.toml` file with the `mkdocs-git-authors` plugin dependency and python package keywords.

Fixed

- Fixed the python version in the `deploy-docs.yml` workflow.
- Resolved issues with relative links in the documentation.

Changelog

- Full Changelog: https://github.com/mdapena/pyventus/compare/0.1.0...0.2.0
- Contributors: mdapena

Page 1 of 2

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.