semvec/pypi-packages huggingface dataset:
rompot-schedio 0.1.2
A Python Library for Robotic Drawings
License: MIT
Requires Python: >=3.8.1,<3.12

# Rompot Schedio

[![pypi-image]][pypi-url]
[![version-image]][release-url]
[![release-date-image]][release-url]
[![license-image]][license-url]
[![codecov][codecov-image]][codecov-url]
[![jupyter-book-image]][docs-url]

<!-- Links: -->
[codecov-image]: https://codecov.io/gh/entelecheia/rompot-schedio/branch/main/graph/badge.svg?token=MWRAQQYOS7
[codecov-url]: https://codecov.io/gh/entelecheia/rompot-schedio
[pypi-image]: https://img.shields.io/pypi/v/rompot-schedio
[license-image]: https://img.shields.io/github/license/entelecheia/rompot-schedio
[license-url]: https://github.com/entelecheia/rompot-schedio/blob/main/LICENSE
[version-image]: https://img.shields.io/github/v/release/entelecheia/rompot-schedio?sort=semver
[release-date-image]: https://img.shields.io/github/release-date/entelecheia/rompot-schedio
[release-url]: https://github.com/entelecheia/rompot-schedio/releases
[jupyter-book-image]: https://jupyterbook.org/en/stable/_images/badge.svg

[repo-url]: https://github.com/entelecheia/rompot-schedio
[pypi-url]: https://pypi.org/project/rompot-schedio
[docs-url]: https://rompot-schedio.entelecheia.ai
[changelog]: https://github.com/entelecheia/rompot-schedio/blob/main/CHANGELOG.md
[contributing guidelines]: https://github.com/entelecheia/rompot-schedio/blob/main/CONTRIBUTING.md
<!-- Links: -->

A Python Library for Robotic Drawings

- Documentation: [https://rompot-schedio.entelecheia.ai][docs-url]
- GitHub: [https://github.com/entelecheia/rompot-schedio][repo-url]
- PyPI: [https://pypi.org/project/rompot-schedio][pypi-url]

Rompot-Schedio is an innovative and versatile Python library designed to facilitate the creation, manipulation, and control of robotic drawings. The name Rompot-Schedio combines the Greek words ρομπότ (robot) and σχέδιο (drawing), embodying the library's mission to empower users to design, simulate, and execute robotic drawing projects with ease and precision.

## Changelog

See the [CHANGELOG] for more information.

## Contributing

Contributions are welcome! Please see the [contributing guidelines] for more information.

## License

This project is released under the [MIT License][license-url].
song-metadata-embedder 0.0.1
A generic tool to embed a song's data into a song file
License: MIT
Requires Python: >=3.9,<4.0
Keywords: song metadata,song,metadata,metadata embedder,python,mp3,m4a,ogg,flac,opus

# Song Metadata Embedder

**Embed metadata into your music files, whatever the type**

## Features

- Automatic type detection based on the file extension
    - Currently supported : MP3, M4A, FLAC, OGG (Vorbis), OPUS
- Detection of badly formatted files
- Easy to use, straightforward interface
- Possible to use via DI integration

## Installation

### Pip

```
pip install song-metadata-embedder
```

### Poetry

[Poetry](https://python-poetry.org/) is a Python dependency management and packaging tool. I actually use it for this project.

```
poetry add song-metadata-embedder
```

## Usage

There are 2 ways to use this library : using the SongMetadataEmbedder object or via the DI.

### Using SongMetadataEmbedder

The library exposes the SongMetadataEmbedder class. This class has 1 method : `embed`.

This method detects the type of the file you want to modify and sets the metadata accordingly.

**Example :**

```python
from pathlib import Path
from song_metadata_embedder import SongMetadataEmbedder, SongMetadata

embedder = SongMetadataEmbedder()
path = Path("path/to/file.mp3")
metadata = SongMetadata(...)

embedder.embed(path, metadata)
```

### Using DI

The library also exposes a `BaseMetadataEmbedder` interface and a `add_song_metadata_embedder` function for [Taipan-DI](https://github.com/Billuc/Taipan-DI).

In this function, the embedders are registered as a Pipeline. All you need to do is to resolve the pipeline and execute it.

**Example :**

```python
from song_metadata_embedder import BaseMetadataEmbedder, add_song_metadata_embedder, SongMetadata, EmbedMetadataCommand
from taipan_di import DependencyCollection

services = DependencyCollection()
add_song_metadata_embedder(services)
provider = services.build()

embedder = provider.resolve(BaseMetadataEmbedder)
path = Path("path/to/file.mp3")
metadata = SongMetadata(...)
command = EmbedMetadataCommand(path, metadata)

embedder.exec(command)
```

## Inspirations

This library is partially based on spotDL's [spotify-downloader](https://github.com/spotDL/spotify-downloader).