Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release notes for v0.6.0 and documentation updates #23

Merged
merged 5 commits into from
Oct 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ pip install pyventus
&emsp;&emsp;Pyventus by default relies on the Python standard library and <b>requires Python 3.10 or higher</b> with no
additional dependencies. However, this package also includes alternative integrations to access additional features
such as Redis Queue, Celery, and FastAPI. For more information on this matter, please refer to the
<a href="https://mdapena.github.io/pyventus/getting-started/#optional-dependencies" target="_blank">Optional Dependencies</a>
<a href="https://mdapena.github.io/pyventus/0.6/getting-started/#optional-dependencies" target="_blank">Optional Dependencies</a>
section.
</p>

Expand Down Expand Up @@ -184,8 +184,7 @@ to the function <code>handle_greet_event()</code>, which will print <i>'Hello, W
<li>
<b>Instantiating an Event Emitter:</b>
After that, and in order to trigger our event, we needed to create an instance of the event emitter class. While
<code>AsyncIOEventEmitter</code> was utilized, any <a href="https://mdapena.github.io/pyventus/getting-started/#optional-dependencies"><i>built-in</i></a>
or custom implementation could be employed.
<code>AsyncIOEventEmitter</code> was utilized, any built-in or custom implementation could be employed.
</li>

<li>
Expand All @@ -200,8 +199,7 @@ Finally, by using the <code>emit()</code> method of the event emitter instance,
&emsp;&emsp;Having gained a clear understanding of the workflow showcased in the <code>Hello, World!</code> example,
you are now well-equipped to explore more intricate event-driven scenarios and fully harness the capabilities of
Pyventus in your own projects. For a deep dive into the package's functionalities, you can refer to the
Pyventus <a href="https://mdapena.github.io/pyventus/tutorials" target="_blank">Tutorials</a> or
<a href="https://mdapena.github.io/pyventus/api" target="_blank">API</a>.
Pyventus Tutorials or API.
</p>

[//]: # (--------------------------------------------------------------------------------------------------------------)
Expand Down Expand Up @@ -390,10 +388,9 @@ async def async_function(event_emitter: EventEmitter):

<p style='text-align: justify;'>
&emsp;&emsp;At its core, Pyventus utilizes a modular event emitter design that allows you to switch seamlessly
between different <a href="https://mdapena.github.io/pyventus/getting-started/#optional-dependencies"><i>built-in</i></a>
or custom event emitter implementations on the fly. Whether you opt for official emitters or decide to create your
custom ones, Pyventus allows you to tailor the behavior and capabilities of the event emitters to perfectly align
with your unique requirements.
between different built-in or custom event emitter implementations on the fly. Whether you opt for official emitters
or decide to create your custom ones, Pyventus allows you to tailor the behavior and capabilities of the event
emitters to perfectly align with your unique requirements.
</p>

### Swapping Event Emitter Implementations at Runtime
Expand Down Expand Up @@ -453,7 +450,7 @@ class FastAPIEventEmitter(EventEmitter):

<p style='text-align: justify;'>
In case you're interested in integrating Pyventus with FastAPI, you can refer to the official Pyventus
<a href="https://mdapena.github.io/pyventus/tutorials/emitters/fastapi/"><i>FastAPI Event Emitter</i></a>
<a href="https://mdapena.github.io/pyventus/0.6/tutorials/emitters/fastapi/"><i>FastAPI Event Emitter</i></a>
implementation.
</p>

Expand Down Expand Up @@ -569,7 +566,7 @@ event_emitter.emit("DivisionEvent", a=1, b=2) # Example: Valid division

<p style='text-align: justify;'>
&emsp;&emsp;Pyventus is an open source project that welcomes community involvement. If you wish to contribute
additional event emitters, improvements, or bug fixes, please check the <a href="https://mdapena.github.io/pyventus/contributing/" target="_blank">Contributing</a>
additional event emitters, improvements, or bug fixes, please check the <a href="https://mdapena.github.io/pyventus/latest/contributing/" target="_blank">Contributing</a>
section for guidelines on collaborating. Together, we can further the possibilities of event-driven development.
</p>

Expand Down
4 changes: 2 additions & 2 deletions docs/.overrides/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@
<h1>404 - Page Not Found</h1>

<p style="opacity: .75;">
We're sorry, but the page at the path <strong><span id="path"></span></strong> could not be found.
The requested URL <strong><span id="path"></span></strong> was not found in this documentation.
</p>

<p style="opacity: .75;">
Try searching or go to <a href="{{ base_url }}">Pyventus' homepage</a>.
Try searching or go to <a href="{{ base_url }}">Pyventus' home page</a>.
</p>

<svg id="clouds" xmlns="http://www.w3.org/2000/svg" width="2611.084" height="485.677" viewBox="0 0 2611.084 485.677">
Expand Down
42 changes: 24 additions & 18 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,25 +69,25 @@ hide:
python -m venv venv
```

2. Activate the virtual environment:
2. Activate the environment with:

=== "Linux, macOS"
```console
source ./venv/bin/activate
```
=== "Windows PowerShell"
```console
.\venv\Scripts\Activate.ps1
```
=== "Windows Bash"
```console
source ./venv/Scripts/activate
```
=== ":material-apple: macOS"

``` sh
. venv/bin/activate
```

=== ":fontawesome-brands-windows: Windows"

``` sh
. venv/Scripts/activate
```

=== ":material-linux: Linux"

``` sh
. venv/bin/activate
```

3. Install development dependencies:

Expand Down Expand Up @@ -285,6 +285,12 @@ hatch run tests:all
hatch run +py=3.12 tests:all
```

=== "Python 3.13"

```console
hatch run +py=3.13 tests:all
```

!!! warning "Troubleshooting Hatch Environment Errors"

<p style='text-align: justify;' markdown>
Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ hide:
<img src="https://img.shields.io/pypi/pyversions/pyventus?color=0097a8" alt="Supported Python versions">
</a>

<a href="https://github.com/psf/black">
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black">
<a href="https://pypi.org/project/pyventus">
<img src="https://img.shields.io/pypi/dm/pyventus.svg?color=0097a8" alt="Code style: black">
</a>

</p>
Expand Down
27 changes: 27 additions & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,33 @@ hide:

[//]: # (--------------------------------------------------------------------------------------------------------------)

## [v0.6.0](https://github.com/mdapena/pyventus/releases/tag/0.6.0) <small>October 19, 2024</small> { id="0.6.0" }

<hr class="divider">

##### Added

- Added support for Python `3.13`, ensuring compatibility with the latest features and improvements.
- Added `mike` package integration to `mkdocs-material` for documentation versioning. This allows users to access
previous documentation alongside new changes, ensuring that legacy content remains intact for reference. Additionally,
a new `dev` documentation has been introduced to showcase the current development of the package, including unreleased
features and updates.

##### Changed

- Updated documentation links from absolute to relative paths to prevent broken links and avoid redirecting users to
incorrect documentation versions, ensuring consistent navigation throughout the docs.
- Upgraded the `download-artifact` and `cache` actions to `v4` in the `publish-to-pypi.yml` workflow.
- Updated the `deploy-docs.yml` workflow to deploy both `dev` and versioned documentation using `mike`'s CLI commands.

##### Fixed

- Fixed broken links to non-versioned documentation by adding a custom `404.html` page to `gh-pages`, which redirects
users to the first version of the documentation when no version is specified, or to a new custom 404 page with helpful
suggestions.

[//]: # (--------------------------------------------------------------------------------------------------------------)

## [v0.5.0](https://github.com/mdapena/pyventus/releases/tag/0.5.0) <small>April 9, 2024</small> { id="0.5.0" }

<hr class="divider">
Expand Down
2 changes: 1 addition & 1 deletion src/pyventus/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""A powerful Python package for event-driven programming; define, emit, and orchestrate events with ease."""

__version__ = "0.5.0"
__version__ = "0.6.0"

from .core.exceptions import PyventusException
from .emitters import EventEmitter, EmittableEventType
Expand Down