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

Python 3.12 Compatibility #223

Draft
wants to merge 4 commits into
base: 0.8.x
Choose a base branch
from
Draft
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
148 changes: 75 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,67 @@
# OctoPrint WS281x LED Status

Add some RGB LEDs to your 3D printer for a quick status update!

![GitHub issues](https://img.shields.io/github/issues/cp2004/OctoPrint-WS281x_LED_Status?style=flat-square)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/cp2004/OctoPrint-WS281x_LED_Status?label=latest%20release&sort=semver&style=flat-square)
![GitHub release installs (latest by date)](https://img.shields.io/github/downloads/cp2004/OctoPrint-WS281x_LED_Status/latest/total?label=New%20installs%40latest&style=flat-square)
![GitHub Repo stars](https://img.shields.io/github/stars/cp2004/OctoPrint-WS281x_LED_Status?style=flat-square)
![GitHub](https://img.shields.io/github/license/cp2004/OctoPrint-WS281x_LED_Status?style=flat-square)
![GitHub Sponsors](https://img.shields.io/github/sponsors/cp2004?style=flat-square)

![rainbow effect](/assets/rainbow.gif)

A highly configurable yet easy to use plugin for attaching WS2811, WS2812 and SK6812 or LEDs to your Raspberry Pi for a printer status update!

With lots of options effects and integrations to choose from, you can customise the plugin to do things _exactly_ as you want them.

Most prominent features include:

- Printer status effects
- Tracking heating, printing and cooling progress
- Intercepting M150 commands & controlling with @ commands
- Easy controls for turning lights on and off from the navbar
- Theme-friendly torch button to temporarily light up your printer
- Timers to turn the LEDs off at certain times of day or after a print is done.
- Custom Triggers - add your own events, @ commands or gcode matching to trigger effects
- Powerful integration with OctoApp for Android
- ...and more!

You can take a look at the [documentation](https://cp2004.gitbook.io/ws281x-led-status/) for more information about all that the plugin has to offer.

![rainbow effect](/assets/color_wipe.gif)

## Setup

Setting up the plugin couldn't be easier! There are 3 main steps, with configuration made easy with the setup wizard.

- Wiring your LEDs
- Configuring SPI
- Configuring plugin settings

Follow the detailed [setup guide](https://cp2004.gitbook.io/ws281x-led-status/guides/setup-guide-1) in the documentation to get up and running.

## Getting help

Please read the [Get Help Guide](https://cp2004.gitbook.io/ws281x-led-status/guides/get-help-guide) as well as the [rest of the documentation](https://cp2004.gitbook.io/ws281x-led-status/), to see if your question has been answered there. Still got questions? Get in touch:

- On the [OctoPrint Discord](https://discord.octoprint.org)
- On the [Community Forums](https://community.octoprint.org)
- Open an issue with the [question template](https://github.com/cp2004/OctoPrint-WS281x_LED_Status/issues/new?assignees=&labels=type%3A+question&template=question.md&title=)

## Reporting problems

Whilst I don't like bugs, I want to hear about them! Let me know by [opening an issue](https://github.com/cp2004/OctoPrint-WS281x_LED_Status/issues/new?assignees=&labels=type%3A+potential+bug&template=bug_report.md&title=%5BBug%5D)

## Contributing

I accept many forms of contribution, from fixing bugs, documentation and new features.
Please see the [Contributing Guidelines](https://github.com/cp2004/OctoPrint-WS281x_LED_Status/blob/master/CONTRIBUTING.md) for more details or get
in touch if you don't know where to start.

## Sponsors
# OctoPrint WS281x LED Status with Python 3.12 compatibility

Install Command: ~/OctoPrint/venv/bin/pip install https://github.com/abacon118/OctoPrint-WS281x_LED_Status_Python312/archive/refs/tags/0.8.1.zip

Add some RGB LEDs to your 3D printer for a quick status update!

![GitHub issues](https://img.shields.io/github/issues/cp2004/OctoPrint-WS281x_LED_Status?style=flat-square)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/cp2004/OctoPrint-WS281x_LED_Status?label=latest%20release&sort=semver&style=flat-square)
![GitHub release installs (latest by date)](https://img.shields.io/github/downloads/cp2004/OctoPrint-WS281x_LED_Status/latest/total?label=New%20installs%40latest&style=flat-square)
![GitHub Repo stars](https://img.shields.io/github/stars/cp2004/OctoPrint-WS281x_LED_Status?style=flat-square)
![GitHub](https://img.shields.io/github/license/cp2004/OctoPrint-WS281x_LED_Status?style=flat-square)
![GitHub Sponsors](https://img.shields.io/github/sponsors/cp2004?style=flat-square)

![rainbow effect](/assets/rainbow.gif)

A highly configurable yet easy to use plugin for attaching WS2811, WS2812 and SK6812 or LEDs to your Raspberry Pi for a printer status update!

With lots of options effects and integrations to choose from, you can customise the plugin to do things _exactly_ as you want them.

Most prominent features include:

- Printer status effects
- Tracking heating, printing and cooling progress
- Intercepting M150 commands & controlling with @ commands
- Easy controls for turning lights on and off from the navbar
- Theme-friendly torch button to temporarily light up your printer
- Timers to turn the LEDs off at certain times of day or after a print is done.
- Custom Triggers - add your own events, @ commands or gcode matching to trigger effects
- Powerful integration with OctoApp for Android
- ...and more!

You can take a look at the [documentation](https://cp2004.gitbook.io/ws281x-led-status/) for more information about all that the plugin has to offer.

![rainbow effect](/assets/color_wipe.gif)

## Setup

Setting up the plugin couldn't be easier! There are 3 main steps, with configuration made easy with the setup wizard.

- Wiring your LEDs
- Configuring SPI
- Configuring plugin settings

Follow the detailed [setup guide](https://cp2004.gitbook.io/ws281x-led-status/guides/setup-guide-1) in the documentation to get up and running.

## Getting help

Please read the [Get Help Guide](https://cp2004.gitbook.io/ws281x-led-status/guides/get-help-guide) as well as the [rest of the documentation](https://cp2004.gitbook.io/ws281x-led-status/), to see if your question has been answered there. Still got questions? Get in touch:

- On the [OctoPrint Discord](https://discord.octoprint.org)
- On the [Community Forums](https://community.octoprint.org)
- Open an issue with the [question template](https://github.com/cp2004/OctoPrint-WS281x_LED_Status/issues/new?assignees=&labels=type%3A+question&template=question.md&title=)

## Reporting problems

Whilst I don't like bugs, I want to hear about them! Let me know by [opening an issue](https://github.com/cp2004/OctoPrint-WS281x_LED_Status/issues/new?assignees=&labels=type%3A+potential+bug&template=bug_report.md&title=%5BBug%5D)

## Contributing

I accept many forms of contribution, from fixing bugs, documentation and new features.
Please see the [Contributing Guidelines](https://github.com/cp2004/OctoPrint-WS281x_LED_Status/blob/master/CONTRIBUTING.md) for more details or get
in touch if you don't know where to start.

## Sponsors

- [@KenLucke](https://github.com/KenLucke)
- [@CmdrCody51](https://github.com/CmdrCody51)
Expand All @@ -75,14 +77,14 @@ I created this project in my spare time, and do my best to support the community
## Check out my other plugins

You can see all of my published OctoPrint plugins [on the OctoPrint Plugin Repository!](https://plugins.octoprint.org/by_author/#charlie-powell) Or, if you're feeling nosy and want to see what else I'm working on, check out my [GitHub profile](https://github.com/cp2004).
## Thanks

This was my first plugin and is still my favourite, so I have to say thanks for helping me develop it:

[jneilliii](https://github.com/jneilliii) for always answering my questions on discord, and making great plugins I could use as examples.

Andreas C. for jumping at the opportunity to beta-test, and providing great feedback as I was creating this!

And, of course, [Gina Häußge](https://github.com/foosel) for creating OctoPrint and such a great community around it.

# 💡
## Thanks
This was my first plugin and is still my favourite, so I have to say thanks for helping me develop it:
[jneilliii](https://github.com/jneilliii) for always answering my questions on discord, and making great plugins I could use as examples.
Andreas C. for jumping at the opportunity to beta-test, and providing great feedback as I was creating this!
And, of course, [Gina Häußge](https://github.com/foosel) for creating OctoPrint and such a great community around it.
# 💡
4 changes: 2 additions & 2 deletions versioneer.py
Original file line number Diff line number Diff line change
Expand Up @@ -440,9 +440,9 @@ def get_config_from_root(root):
setup_cfg = os.path.join(root, "setup.cfg")

# TODO: find a py2 compatible solution for the configparser deprecation issues
parser = configparser.SafeConfigParser()
parser = configparser.ConfigParser()
with io.open(setup_cfg, "rt", encoding="utf-8") as f:
parser.readfp(f)
parser.read_file(f)

VCS = parser.get("versioneer", "VCS") # mandatory

Expand Down