semvec/pypi-packages huggingface dataset:
pillow-jxl-plugin 1.3.7
Pillow plugin for JPEG-XL, using Rust for bindings.
Requires Python: >=3.9

# pillow-jpegxl-plugin
![PyPI - Version](https://img.shields.io/pypi/v/pillow-jxl-plugin)
[![CI](https://github.com/Isotr0py/pillow-jpegxl-plugin/actions/workflows/test.yml/badge.svg)](https://github.com/Isotr0py/pillow-jpegxl-plugin/actions/workflows/test.yml)

Pillow plugin for JPEG-XL, using Rust for bindings.

## Features
- JPEG-XL Plugin for Pillow
- Encoder/Decoder to work with JPEG-XL using safe wrapper
- Support EXIF metadata encoding

## Install via PIP
```
pip install pillow-jxl-plugin
```

## Build from source
Make sure [`Rust`](https://www.rust-lang.org/tools/install) installed, then run:
```
git clone https://github.com/Isotr0py/pillow-jpegxl-plugin
cd pillow-jpegxl-plugin

pip install -e .[dev] -v
```
If you have [`libjxl`](https://github.com/libjxl/libjxl) installed and want to use dynamic link, run:
```
pip install -e .[dev] -v --config-settings=build-args="--features=dynamic"
```

## Development
- Python code is formatted and linted with `ruff`, while Rust code is checked with `cargo fmt` and `cargo clippy` via [pre-commit](https://pre-commit.com/).
- Install the tooling once with `pip install -e .[dev]` and then `pre-commit install`.
- Run the suite manually with `pre-commit run --all-files` before opening a pull request.

## Plugin Usage
Use `import pillow_jxl` to register the plugin in your code.

### Example:
```python
import pillow_jxl
from PIL import Image

# Lossless encode a png image
with Image.open("example.png") as img:
    img.save("example.jxl",lossless=True)

# encode image with JPEG-Style quality
with Image.open("example.png") as img:
    img.save("example.jxl", quality=98)

# Lossless construct from a jpeg image
with Image.open("example.jpg") as img:
    img.save("example.jxl",lossless=True)

# Decode jxl image
with Image.open("example.jxl") as img:
    display(img)
```

## Wheels status
|    Wheels   | Windows (x86/x64) | Windows (ARM) | MacOS (x64/aarch64) | manylinux (x86/x64/aarch64) | musllinux |
|:-----------:|:-----------------:|:-------------:|:-------------------:|:---------------------------:|:---------:|
| CP3.10 |         ✔         |       ❌       |          ✔          |              ✔              |     ✔     |
| CP3.11 |         ✔         |       ✔       |          ✔          |              ✔              |     ✔     |
| CP3.12 |         ✔         |       ✔       |          ✔          |              ✔              |     ✔     |
| CP3.13 |         ✔         |       ✔       |          ✔          |              ✔              |     ✔     |
|   PyPy3.11  |         ✔         |       ❌       |          ✔          |              ✔              |     ✔     |

## Credits
- [inflation/jpegxl-rs](https://github.com/inflation/jpegxl-rs)
phoenix-bot-api 1.0.8
Python client for Phoenix API
Requires Python: >=3.11

# Phoenix API

This is the Python client for the Phoenix API.

## Installation

You can install the package using pip:

```
pip install phoenix-bot-api
```

## Usage

Here is a simple example of how to use the Phoenix API client:

```python
from phoenixapi.finder import create_api_from_name
from phoenixapi.api import PhoenixApi
from phoenixapi.clients.player_manager import PlayerObjManager

def run():
    CHAR_NAME = "Insert your character name here"
    client: PhoenixApi = create_api_from_name(CHAR_NAME)

    player_obj_manager: PlayerObjManager = client.player_obj_manager.get_player_obj_manager()

    name = player_obj_manager["player"]["name"]
    player_id = player_obj_manager["id"]
    family = player_obj_manager["player"]["family"]
    x = player_obj_manager['position']['x']
    y = player_obj_manager['position']['y']

    print(f"Name:\t\t{name}")
    print(f"ID:\t\t{player_id}")
    print(f"Family:\t\t{family}")
    print(f"Position:\t({x}, {y})")
```
microdot 2.5.1
The impossibly small web framework for MicroPython
Requires Python: >=3.8

# microdot
[![Build status](https://github.com/miguelgrinberg/microdot/workflows/build/badge.svg)](https://github.com/miguelgrinberg/microdot/actions) [![codecov](https://codecov.io/gh/miguelgrinberg/microdot/branch/main/graph/badge.svg)](https://codecov.io/gh/miguelgrinberg/microdot)

*“The impossibly small web framework for Python and MicroPython”*

Microdot is a minimalistic Python web framework inspired by Flask. Given its
small size, it can run on systems with limited resources such as
microcontrollers. Both standard Python (CPython) and MicroPython are supported.

```python
from microdot import Microdot

app = Microdot()

@app.route('/')
async def index(request):
    return 'Hello, world!'

app.run()
```

## Resources

- [Change Log](https://github.com/miguelgrinberg/microdot/blob/main/CHANGES.md)
- Documentation
    - [Latest](https://microdot.readthedocs.io/en/latest/)
    - [Stable (v2)](https://microdot.readthedocs.io/en/stable/)
- Legacy (v1)
    - [Code](https://github.com/miguelgrinberg/microdot/tree/v1)
    - [Documentation](https://microdot.readthedocs.io/en/v1/)

## Roadmap

The following features are planned for future releases of Microdot, both for
MicroPython and CPython:

- Authentication support, similar to [Flask-Login](https://github.com/maxcountryman/flask-login) for Flask (**Added in version 2.1**)
- Support for forms encoded in `multipart/form-data` format (**Added in version 2.2**)
- CSRF protection extension (**Added in version 2.5**)
- Pub/sub mini-framework for WebSocket and SSE
- OpenAPI integration, similar to [APIFairy](https://github.com/miguelgrinberg/apifairy) for Flask

Do you have other ideas to propose? Let's [discuss them](https://github.com/:miguelgrinberg/microdot/discussions/new?category=ideas)!