semvec/pypi-packages huggingface dataset:
philips-hue-midi 2.1.4
A program that allows controlling Philips Hue lights using a midi keyboard.
Requires Python: >=3.13

# philips-hue-midi

## Overview

Control your Philips Hue lights with your piano. This project is inspired by the
perceptual phenomenon of Synesthesia. See it in action below:

<img src="docs/demo.gif" width="600px">

## Getting Started

### What You'll Need

* Philips Hue Lights & Bridge
* A MIDI Keyboard

### Installation & Setup

1. **Connect your MIDI Keyboard**: Attach your MIDI keyboard to your computer and ensure it's powered on.

2. **Configuration**: Copy the `config.example.toml` as `config.toml`. Set `lights` under `channels.0` (master channel)
   to the list of Philips Hue Lights you want to control.
   See [full-config.example.toml](https://github.com/aru-py/philips-hue-midi/blob/main/docs/full-config.example.toml)
   for a full list of configuration options.

3. **Run Program**: Navigate to project root and install the necessary dependencies
   using [uv](https://github.com/astral-sh/uv):
   ```
   uvx philips-hue-midi [config.toml]
   ```

### Technical Details

The program samples incoming MIDI events sixty times per second (defined by SAMPLE_RATE). *Controllers* are responsible
for taking this list of midi events (of variable size, *M*)
and converting them to a list of midi events of size *N*, where *N* is the number of *channels*. These channels are
defined in the `config.toml` file and are collections of lights and their configurations.

Currently, the default controller is the `note_controller` which takes in *M* notes and maps to *12* channels, based on
pitch class. For example, the first channel will be activated if the note `C` is played, the second channel for `C#`,
and so forth. Therefore, your configuration should have 12 channels.

Note that channel 0 is the master channel and is used for turning lights on or off and is the default fallback channel
if the controller outputs a channel not configured. All lights you wish to control should be included in this channel.

## Notes

You may have to set the `MIDO_DEFAULT_INPUT` environment variable to the name of your MIDI device if the correct
midi device is not automatically detected. You can find the name of your MIDI device by running:
`bash uv run mido-ports`.
yubin-mcp 0.0.6
MCP server that retrieves addresses and map links from Japanese postal codes and latitude/longitude coordinates

# YUBIN MCP

MCP server that retrieves addresses and map links from Japanese postal codes and latitude/longitude coordinates

## Installation

```bash
pip install yubin-mcp
```

## Usage

### Use with Claude Desktop

1. Install the MCP server

```bash
pip install yubin-mcp
```

2. Open the configuration file
```bash
open /path/to/Claude/claude_desktop_config.json
```

3. Add the following configuration to the configuration file

```json
{
  "mcpServers": {
    "yubin-mcp": {
      "command": "python",
      "args": [
        "-m",
        "yubin_mcp.server"
      ],
      "env": {},
      "transport": "stdio"
    }
  }
}
```
noiftimer 2.5.0
Timing class for measuring elapsed time and average elapsed time.
Requires Python: >=3.10
Keywords: timer, timing

# noiftimer

Simple timer class to track elapsed time.  
Install with:

```console
pip install noiftimer
```

Usage:

```python
from noiftimer import Timer, time_it, log_time
import time
```

`Timer` object:

```python
>>> def very_complicated_function():
...     time.sleep(1)
...
>>> timer = Timer()
>>> for _ in range(10):
...     timer.start()
...     very_complicated_function()
...     timer.stop()
...
>>> print(timer.stats)
elapsed time: 1s 1ms 173us
average elapsed time: 1s 912us
>>> timer.elapsed
1.001173496246338
>>> timer.elapsed_str
'1s 1ms 173us'
>>> timer.average_elapsed
1.0009121656417848
>>> timer.average_elapsed_str
'1s 912us'
```

`time_it` decorator (executes the decorated function 10 times)

```python
>>> @time_it(10)
... def very_complicated_function():
...     time.sleep(1)
...
>>> very_complicated_function()
very_complicated_function average execution time: 1s 469us
```

Alternatively, the `log_time` decorator can be used to instead log the execution time to a file.