semvec/pypi-packages huggingface dataset:
descript-audiotools 0.7.2
Utilities for handling audio.
License: MIT

# AudioTools

Object-oriented handling of audio signals, with fast augmentation routines, batching, padding, and more.

## Installation
```
pip install git+https://github.com/descriptinc/audiotools
```
OR
```bash
git clone https://github.com/descriptinc/audiotools
cd audiotools
pip install .
```

## Documentation

For documentation, see [the docs](https://descriptinc.github.io/audiotools/).

### Deploying documentation

To build the documentation, do:

```bash
cd docs/
make html
open _build/html/index.html
```

Once you're satisfied with your docs, push them to the gh-pages branch via

```bash
cd docs
bash publish_docs.sh
```

## Quickstart

```python
import audiotools
from audiotools import AudioSignal

signal = AudioSignal("tests/audio/spk/f10_script4_produced.wav", offset=5, duration=5)
signal.play() # Play back the signal in your terminal using ffplay

signal.low_pass(8000) # Low-pass the signal
signal.play() # Play back the low-passed version of the signal
```

For more, see the [documentation](##Documentation).

### Install hooks

First install the pre-commit util:

https://pre-commit.com/#install

    pip install pre-commit  # with pip
    brew install pre-commit  # on Mac

Then install the git hooks

    pre-commit install
    # check .pre-commit-config.yaml for details of hooks

Upon `git commit`, the pre-commit hooks will be run automatically on the stage files (i.e. added by `git add`)

**N.B. By default, pre-commit checks only run on staged files**

If you need to run it on all files:

    pre-commit run --all-files
kade-drive 0.9.0
distributed file system based on kademlia dht
License: MIT
Requires Python: >=3.10,<3.12

![Python Version](https://img.shields.io/badge/Python-3.10-blue)
![Code Style](https://img.shields.io/badge/Code%20Style-Black-black)
![Poetry Version](https://img.shields.io/badge/Poetry-1.3.1-blue)
![Docker Support](https://img.shields.io/badge/Docker-Supported-brightgreen?logo=docker)
[![Docker Pulls](https://badgen.net/docker/pulls/joramas/kade-drive?icon=docker&label=pulls)](https://hub.docker.com/r/joramas/kade-drive/)
[![Docker Stars](https://badgen.net/docker/stars/joramas/kade-drive?icon=docker&label=stars)](https://hub.docker.com/r/joramas/kade-drive/)
[![Docker Image Size](https://badgen.net/docker/size/joramas/kade-drive?icon=docker&label=image%20size)](https://hub.docker.com/r/joramas/kade-drive/)
![Visits](https://badges.pufler.dev/visits/geeksLabTech/kade-drive)
![Contributors](https://img.shields.io/github/contributors/geeksLabTech/kade-drive)
![Release Version](https://img.shields.io/github/v/release/geeksLabTech/kade-drive)
![Documentation](https://img.shields.io/badge/docs-available-brightgreen)
![Package Version](https://img.shields.io/pypi/v/kade-drive)
![Downloads](https://img.shields.io/pypi/dm/kade-drive)
![Release Date](https://img.shields.io/github/release-date/geeksLabTech/kade-drive)
![Code Size](https://img.shields.io/github/languages/code-size/geeksLabTech/kade-drive)

Distributed file system based on <https://github.com/bmuller/kademlia> for the final project of distributed systems

## Documentation

<https://geekslabtech.github.io/kade-drive/>

## Basic Usage

- Clone the repo and run `poetry install`
- Run `poetry run server` in one pc or several pc in a local network
- Run `poetry run cli` in any pc of the network and start playing with the system

### Usage with docker

- Build the image with `make docker` or pull it from docker.hub `docker pull joramas/kade-drive:latest`
- Run `make shell` to start the Docker container with an interactive Bash shell
- Now you can run `poetry run server` to start a server or `poetry run cli`

## Installation

```console
pip install kade-drive
```

## Server

```Python
from kade_drive.server import start_server

start_server()
```

## Client

### Note: Make sure that there exist at least a server in the local network

```Python
from kade_drive.cli import ClientSession

client = ClientSession()
client.connect()
response, _ = client.put(4, 5)
# If true, it means that the value was setted correctly, false otherwise
assert response is True
value, _ = client.get(4)
assert value == 5
```

### Tests

To run tests make shure that there is at least one server in the network.