semvec/pypi-packages huggingface dataset:
metia 0.3.5
A tool to parse and extract audio metadata.
Requires Python: >=3.8

# Metia

A tool (and a wrapper of [FFmpeg][ffmpeg_url]) to manipulate metadata of audio
files.

This library is developed under Python 3.8.

## Installation

```bash
pip install -U metia
```

## Dependency

[FFmpeg][ffmpeg_url]

## Usage

All of the functionalities requires a ffmpeg/ffprobe build that has the
corresponding codec that the media is using. To set a custom build of
`ffmpeg`/`ffprobe`, set the variables `metia.probe.FFPROBE_COMMAND` and/or
`metia.writter.FFMPEG_COMMAND`.

### `metia.Probe`

If all you want to do is to read the metadata, use this class. This provides a
wrapper of `ffprobe` to extract commonly-used media metadata, such as bit-rate
and codec.

Some methods of this class may be helpful to video files too.

### `metia.Media`

> > WORK IN PROGRESS

This class, apart from reading the metadata, allows you to alter the metadata,
including changing the tags of the media file and adding a cover art to it.

This class, unlike `metia.probe.Probe`, is highly targeted to music files (with
or without cover art). Although it is possible to integrate some video-related
features, the demands might differ so much that it's unworthy compared to using
the original `ffmpeg` commands. Thus, I believe a better way to utilize this
library with videos is to use `metia.probe.Probe` to extract the information you
want and use `os.system` (or other equivalent) to invoke a `ffmpeg` command.
Alternatively, you may look for other more powerful ffmpeg wrappers that has
support for more ffmpeg features, but that is beyond the scope of this project.

### Command Line Interface

This tool provides command-line interface for convenience.

- `metia-probe`: print the media info in a nicer (less messy) format

## Development

This library is hosted on this [Github repository][repo_url]. Visit to fork or
create issue/PR.

[ffmpeg_url]: https://www.ffmpeg.org/
[repo_url]: https://github.com/Davidyz/metia
gcspy 0.0.2
Python bindings for the Glasgow Constraint Solver
Requires Python: >=3.6

# Glasgow Constraint Solver CPMpy Interface

The code in this directory creates a simple Python interface for 
the Glasgow Constraint Solver, primarily intended for use by the [CPMpy](https://cpmpy.readthedocs.io/en/latest/index.html)
modelling library. Essentially it wraps all the relevant functionality in a single
class defined in api.hh, api.cc using only standard library types, and then generates
bindings for the methods using [pybind11](https://pybind11.readthedocs.io/en/latest/) (submoduled in the `extern` directory).

## How to install
I've not entirely got the installation process streamlined yet, but the current procedure is as follows.

1. Clone the whole repository, including the pybind11 submodule:
```bash
git clone --recurse-submodules https://github.com/ciaranm/glasgow-constraint-solver.git
```
2. Build the libraries (including the python module) using CMake (the XCSP support is not required):
```bash
cd glasgow-constraint-solver
cmake -S . -B build -DGCS_ENABLE_XCSP=OFF -GCS_ENABLE_CPMPY=ON
cmake --build build
```
3. The `cpmpy/gcspy` directory should now contain a shared library file that can be imported as a python module. Optionally this can now be tested
with some simple python unit tests
```bash
cd cpmpy
python3 gcspytest.py
```
4. To make this available system-wide, or in a virtual environment, the package can now be pip installed:
   (ensure still in the `cpmpy` directory)
```bash
pip3 install .
```

## Packaging for PyPi (untested)
I think that after doing steps 1-3 we should be able to just do:

```bash
python3 -m build
python3 -m twine upload dist/*
```

And then anyone should be able to install the package with simply:
```bash
pip3 install gcspy
```

I'm not sure about the cross-platform compatability of this though, and I haven't tested it yet. 

## API Functions