semvec/pypi-packages huggingface dataset:
uniquipy 1.1.0
python cli-tool to find and handle file duplicates
License: MIT
Requires Python: >=3.9, <4

![Tests](https://github.com/RichtersFinger/uniquipy/actions/workflows/tests.yml/badge.svg?branch=main)

# uniquipy
Minimal python cli-tool to find and handle file duplicates in a directory based on file hashes.

## Installation
Simply clone this repository and install using pip, i.e., in the repository's root directory, run
```
pip install .
```
It is recommended to install this package only to a virtual environment. (Create with `python3 -m venv venv` and activate an existing environment via `source venv/bin/activate`.)

## Usage
Run `uniquipy -h` to get usage information in the terminal. Use the verbose-option (`-v`) in below commands to get progress indicators and verbose feedback on results. In the following, optional arguments are given in the form of `[...]`.

In order to analyze a directory, run
```
uniquipy analyze -i <dir> [-m md5|sha1|sha256|sha512] [-v]
```

A directory can be transformed into a format where only single copies/unique files are stored explicitly (along with information on how to reconstruct the original source). To perform this transformation, use
```
uniquipy pack -i <dir> -o <dir> [-m md5|sha1|sha256|sha512] [-v]
```

In order to revert the `pack`-command, run
```
uniquipy unpack -i <dir> -o <dir> [-v]
```
The input directory (`-i`) expects a directory containing an `index.txt`-file and a `data/`-directory (as generated previously using `uniquipy pack ..`).
cmpd 0.1.5
A command line tool that compares data.
License: MIT
Requires Python: >=3.11

# cmpd

cmpd is a command line tool that allows you to compare multiple structured data sources and generate a report highlighting variances or discrepancies at the desired unit of analysis.

## Features

- Compare multiple data sources: cmpd supports comparing data from various sources, including CSV files, databases, and APIs.
- Flexible unit of analysis: You can specify the unit of analysis for comparison, such as individual records, columns, or specific fields.
- Detailed variance report: cmpd generates a comprehensive report that highlights the differences between the data sources, providing insights into the variations or discrepancies.
- Customizable output: You can configure the output format and choose to export the report in various formats, such as CSV, JSON, or HTML.

## License

cmpd is released under the [MIT License](https://opensource.org/licenses/MIT).
nonemptystr 1.0.0
Non-empty string
License: MIT
Requires Python: >=3.8.1
Keywords: str

# nonemptystr

[![PyPI](https://img.shields.io/pypi/v/nonemptystr)](https://pypi.org/project/nonemptystr/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/nonemptystr)](https://pypi.org/project/nonemptystr/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![license](https://img.shields.io/github/license/nekonoshiri/nonemptystr)](https://github.com/nekonoshiri/nonemptystr/blob/main/LICENSE)

Non-empty string.

## Usage

```sh
pip install nonemptystr
```

```Python
from nonemptystr import EmptyString, nonemptystr

name: nonemptystr = nonemptystr("John")

try:
    name = nonemptystr("")
except EmptyString:
    print("The name is empty.")
```

### ... with [pydantic](https://github.com/pydantic/pydantic)

```sh
pip install nonemptystr, pydantic
```

```Python
from nonemptystr import nonemptystr
from pydantic import BaseModel, ValidationError

class Request(BaseModel):
    user_id: nonemptystr

try:
    request = Request.model_validate({"user_id": ""})
    print(f"user_id: {request.user_id}")
except ValidationError:
    print("user_id is empty")
```

## API

### Module `nonemptystr`

#### *class* `nonemptystr(obj: object)`

Subclass of `str`.
Raise `EmptyString` exception if `str(obj)` is empty string.

#### *class* `EmptyString`

Subclass of `ValueError`.