semvec/pypi-packages huggingface dataset:
my_package_byteorium 0.1.6
Python project template for building robust, modern, and clean Python projects.
License: MIT
Requires Python: >=3.12
Keywords: template, example

# Python project template byteorium

[![Create Release](https://github.com/mab0189/python_project_template/actions/workflows/release.yml/badge.svg)](https://github.com/mab0189/python_project_template/actions/workflows/release.yml)

Python project template for building robust, modern, and clean Python projects according to my personal preferences. 
Includes thorough code quality checks and developer-friendly tools.

---

## Table of contents

- [Features](#features)
- [Requirements](#requirements)
- [Setup](#setup)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)

---

## Features

- **Dependency management**: Easy dependency management with `poetry`.
- **Code quality tools**: 
  - `ruff` for formatting, linting and coding standards.
  - `pytest` for testing.
  - `mypy` for typechecking.
- **Documentation**: Sphinx setup with RTD theme and `myst-parser` for Markdown support.
- **Easy usage**: Pre-configured `tox` workflow for a streamlined development experience.
- **Best Practices**: Adherence to PEP 8 and other modern Python standards.

---

## Requirements

Ensure you have the following installed:

- Python 3.12
- [Poetry](https://python-poetry.org/) is required for the dependency management

---

## Setup

Follow these steps to set up the project environment:

1. Clone the repository:
   ```bash
   git clone https://github.com/mab0189/python_project_template_byteorium.git
   cd python_project_template_byteorium
   ```
   
2. Set up a virtual environment with  `poetry` with all dependencies:
   ```bash
   poetry install
   ```

---

## Usage

[Tox](https://tox.readthedocs.io/) is used to manage and automate testing, linting, formatting, and more. 
Below are the available environments configured in the `tox.ini`:

| Environment     | Description                                               | Command to Run         |
|-----------------|-----------------------------------------------------------|------------------------|
| `py312`         | Test code on Python 3.12                                  | `tox -e py312`         |
| `isort`         | Check and sort imports                                    | `tox -e isort`         |
| `format`        | Auto-format code with `ruff`                              | `tox -e format`        |     
| `lint`          | Lint code with `ruff`                                     | `tox -e lint`          |
| `typecheck`     | Perform static type checking with `mypy`                  | `tox -e typecheck`     |
| `test`          | Run tests with `pytest` and `poetry` managed dependencies | `tox -e test`          |
| `docs`          | Build Sphinx HTML documentation                           | `tox -e docs`          |

---

## Contributing

Contributions are welcome but this project is developed according to my personal preferences.

---

## License

This project is licensed under the [MIT License](LICENSE).
async-event-bus 0.4.0
A simple python event bus for python3
License: MIT
Requires Python: >=3.12
Keywords: python, event-bus

# async-event-bus

A simple event bus for python3

---
[![ReleaseCard]][Release]![ReleaseDataCard]  
![LastCommitCard]![ProjectLanguageCard]![ProjectLicense]
---

## Quick Start

1. install package with pip or any tools you like

```shell
pip install async-event-bus
```

2. use example code under

```python
import asyncio
import sys

from loguru import logger

from async_event_bus import EventBus

bus = EventBus()
logger.remove()
logger.add(sys.stdout, level="TRACE")


@bus.on("message")
async def message_handler(message: str, *args, **kwargs) -> None:
    logger.info(f"message received: {message}")


async def main():
    await asyncio.gather(
        bus.emit("message", "Hello"),
        bus.emit("message", "This is a test message"),
        bus.emit("message", "Send from python"),
        bus.emit("message", "This is also a test message")
    )


if __name__ == "__main__":
    loop = asyncio.new_event_loop()
    loop.run_until_complete(main())

```

3. Check out the examples under the 'examples' folder for more help  

[ReleaseCard]: https://img.shields.io/github/v/release/half-nothing/async-event-bus?style=for-the-badge&logo=github

[ReleaseDataCard]: https://img.shields.io/github/release-date/half-nothing/async-event-bus?display_date=published_at&style=for-the-badge&logo=github

[LastCommitCard]: https://img.shields.io/github/last-commit/half-nothing/async-event-bus?display_timestamp=committer&style=for-the-badge&logo=github

[ProjectLanguageCard]: https://img.shields.io/github/languages/top/half-nothing/async-event-bus?style=for-the-badge&logo=github

[ProjectLicense]: https://img.shields.io/badge/License-MIT-blue?style=for-the-badge&logo=github

[Release]: https://www.github.com/half-nothing/async-event-bus/releases/latest