semvec/pypi-packages huggingface dataset:
pyutra 1.0.5.4
A Python library that tries to be a jack of all trades.

# PyUtra
This is a python library that is meant to try to be jack of all trades.\
Also the typo is intentional, pyultra was banned by pypi.
## Current Features
JSON Config System\
Colorful Text\
Small Debugging System\
Discord Webhook Library\
Pastebin Library\
Network/Internet Library\
Blocksi Library
fastapi-storage-helper 0.0.11
FastAPI Storage Helper
Requires Python: >=3.10

# FastAPI Storage

## Introduction

FastAPI Storage provides helper functions for interacting with AWS S3, making it easier to handle file storage, presigned URLs, metadata, and content-type modifications

### How to use

#### Configuration

First, configure the storage service by setting up AWS credentials and bucket information:

```python
# config/storage.py
from fastapi_storage_helper import StorageService
from config.setting import env

storage_service = StorageService(
  access_key_id=env.AWS_ACCESS_KEY_ID,
  secret_key=env.AWS_SECRET_KEY,
  region_name=env.AWS_REGION,
  bucket=env.AWS_S3_BUCKET_NAME,
)
```

#### Create Read Presign URL

To generate a presigned URL for reading a file from S3:

```python
from config.storage import storage_service

def get_media_url(self, s3_image_path: str):
    return storage_service.create_read_presign_url(s3_image_path)
```

#### Create an Upload Presign URL

To generate a presigned URL for uploading a file to S3:

```python
from config.storage import storage_service
def get_upload_media_url(self, s3_image_path: str):
    return storage_service.create_upload_presign_url(s3_image_path)
```

#### Upload file to S3

To directly upload a file to an S3 bucket:

```python
from config.storage import storage_service

def upload_file(self, file: bytes, s3_image_path: str):
    return storage_service.upload_file(file, s3_image_path)
```

#### Get metadata

To get metadata for a file stored in S3:

```python
from config.storage import storage_service

def get_metadata(self, s3_image_path: str):
    return storage_service.get_metadata(s3_image_path)
```

#### Change Content Type

To modify the content type of a file in S3:

```python
from config.storage import storage_service
def change_content_type(self, s3_image_path: str, content_type: str):
    return storage_service.change_content_type(s3_image_path, content_type)
```
key-bpm-renamer 0.1.2
A tool to rename audio files based on their key and BPM

# Key BPM Renamer

`key_bpm_renamer` is a Python command-line tool that automatically analyzes audio files (MP3, WAV, FLAC), extracts the musical key and beats per minute (BPM), renames the files with this information, and embeds the key and BPM into the metadata (for MP3 files).

## Features

- Extracts the musical key and BPM from audio files.
- Renames the audio files by appending the detected key and BPM.
- Embeds the key and BPM in the metadata of MP3 files (using `eyed3`).
- Supports MP3, WAV, and FLAC audio formats.
- Works with directories and preserves folder structure.

## Installation

To install `key_bpm_renamer`, you can use `pip`:

```bash
pip install key_bpm_renamer
```

## Usage

After installing the dependencies, you can use the `key_bpm_renamer` command to process your audio files.

### Command Structure

```bash
key_bpm_renamer -i <input_directory> -o <output_directory>
```

-i <input_directory>: The path to the directory containing the audio files you want to process.
-o <output_directory>: The path to the directory where the renamed audio files will be saved.

### Example

```bash
key_bpm_renamer -i ./input_audio_files -o ./output_audio_files
```

This command will:

1. Analyze all the audio files in the `input_audio_files` directory.
2. Detect the key and BPM of each file.
3. Rename the files with the format `<original_filename>_<key>_<bpm>bpm.<extension>`.
4. Save the renamed files in the `output_audio_files` directory.
5. Embed the detected key and BPM into the metadata of each audio file.

### Notes

- Supported audio formats: `.mp3`, `.wav`, `.flac`
- The key will be extracted using Essentia’s `KeyExtractor` and the BPM using `RhythmExtractor`.
- Files are copied (not moved), so the original files remain untouched.