semvec/pypi-packages huggingface dataset:
rtmdet 0.3.0
RTMDet Pytorch Implementation
Requires Python: >=3.10

# RTMDet – PyTorch Implementation

![status](https://img.shields.io/badge/status-work--in--progress-yellow)

This repository is a **PyTorch port of RTMDet**, originally implemented in [MMDetection](https://github.com/open-mmlab/mmdetection).

The goal is to reimplement the network in pure PyTorch while making it possible to **load pretrained weights** from the original models.

![RTMDet-L model](assets/rtmdet-l_model_structure.jpg)

## Installation

```bash
pip install rtmdet
```

## Usage

```python
from rtmdet import RTMDet

model = RTMDet.from_preset("small")  # tiny / small / medium / large
bboxes, scores, classes = model("image.jpg")
```

## References

- **RTMDet: An Empirical Study of Real-Time Object Detectors**  
  Xiangyu Zhang, Xinyu Zhou, Zhiqi Li, et al.  
  [📄 Paper](https://arxiv.org/abs/2212.07784)

## Acknowledgments
Based on [MMDetection](https://github.com/open-mmlab/mmdetection) and the official RTMDet implementation.
tree-shaking 0.2.3
Python tree-shaking for dependencies to reduce the size of packaging.
Requires Python: >=3.12

# Python Tree Shaking

[中文版](./README.zh.md)

*English README is under construction.*

## Install

```sh
pip install tree-shaking
```

Be noted `tree-shaking` requires Python >= 3.12.

## Usage

Project tree (before):

```sh
# my example project
/workspace/hello-world
|= .venv
|= hello_world
   |- __init__.py
   |- __main__.py
   |- ...
|= dist
|- pyprojet.toml
|- tree_shaking.yaml
|- ...
```

"tree_shaking.yaml" content:

```yaml
root: .
search_paths:
  - <root>/.venv/Lib/site-packages
  - <root>
entries:
  - <root>/hello_world/__main__.py
```

Create a temporary script (e.g. "build.py"), code like this:

```python
import tree_shaking
tree_shaking.build_graph_modules("./tree_shaking.yaml")
tree_shaking.dump_tree("./tree_shaking.yaml", "./dist/minified_libs")
```

After running, the project tree changes:

```sh
# my example project
/workspace/hello-world
|= .venv
|= hello_world
   |- __init__.py
   |- __main__.py
   |- ...
|= dist
   |= minified_libs  # updated
      |= ...
|- pyprojet.toml
|- tree_shaking.yaml
|- ...
```

You can temporarily exclude ".venv/Lib/site-packages", and add "dist/minified_libs" to Python's `sys.path` (put it at the first place) to test if worked.

After testing, compress "dist/minified_libs" to zip, and compare its size with ".venv/Lib/site-packages" -- the more heavy dependencies you have, the more notable changes on size reduction.

## Incremental Updates

Just rerun "build.py", outputs results to the same path as last time, `tree-shaking` will find the changed parts and do only necessary adding/deleting operations to the target directory.
pyartnet 2.0
Python wrappers for the Art-Net protocol to send DMX over Ethernet
Requires Python: >=3.8
Keywords: DMX, Art-Net, ArtNet, sACN, E1.31, KiNet

# pyartnet
![Tests](https://github.com/spacemanspiff2007/PyArtNet/workflows/Tests/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/pyartnet/badge/?version=latest)](https://pyartnet.readthedocs.io/en/latest/?badge=latest)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyartnet)
[![Downloads](https://static.pepy.tech/badge/pyartnet/month)](https://pepy.tech/project/pyartnet)


PyArtNet is a python implementation of the ArtNet protocol using [asyncio](https://docs.python.org/3/library/asyncio.html).
Supported protocols are ArtNet, sACN and KiNet.

# Docs

Docs and examples can be found [here](https://pyartnet.readthedocs.io/en/latest/pyartnet.html)


# Changelog
#### 2.0 (2025-11-04)
- **Breaking change**:
  Nodes now need to be run through an async context manager, e.g.:
    ```python
    async with ArtNetNode.create('IP') as node:
        ...
    ```
- Added support for transmitting multiple universes in sync
- Added support for transmitting SACN through the broadcast address
- ruff and typing fixes
- used UV

#### 1.0.1 (2023-02-20)
- Fixed an issue where consecutive fades would not start from the correct value
- renamed `channel.add_fade` to `channel.set_fade` (`channel.add_fade` will issue a `DeprecationWarning`)

#### 1.0.0 (2023-02-08)
- Complete rework of library (breaking change)
- Add support for sACN and KiNet

#### 0.8.4 (2022-07-13)
- Added linear fade (closes #14)
- Updated max FPS (closes #17)
- All raised Errors inherit now from PyArtNetError
- Some refactoring and cleanup
- Activated tests for Python 3.10

#### 0.8.3 (2021-07-23)
- No more jumping fades when using output correction with bigger channels
- Reformatted files

#### 0.8.2 (2021-03-14)
- Using nonblocking sockets
- Added option to send frames to a broadcast address

#### 0.8.1 (2021-02-26)
- Fixed an issue with the max value for channels with 16bits and more

#### 0.8.0 (2021-02-11)
- Added support for channels with 16, 24 and 32bits

#### 0.7.0 (2020-10-28)
- renamed logger to ``pyartnet`` to make it consistent with the module name
- callbacks on the channel now get the channel passed in as an argument
- Adding the same channel multiple times or adding overlapping channels raises an exception
- Added ``pyartnet.errors``
- optimized logging of sent frames

#### 0.6.0 (2020-10-27)
- ``ArtnetNode.start`` is now an async function
- ``ArtnetNode.step_time_ms`` renamed to ``ArtnetNode.step_time`` (shouldn't be used manually anyway)
- removed support for python 3.6
- added more and better type hints
- switched to pytest
- small fixes

---

`Art-Net™ Designed by and Copyright Artistic Licence Engineering Ltd`