semvec/pypi-packages huggingface dataset:
sputchedtools 0.30.2
Collection of Python utilities
License: MIT
Requires Python: >=3.10

# sputchedtools

#### Simple, powerfull different-purpose module, initially created to reduce repetetive functions defenitions across projects

## Installation

```bash
pip install sputchedtools
```

## Features

### Miscellaneous Classes
- `Anim` - Animated loading 'spinner' with customizable characters and text (using `set_text`)
- `ProgressBar` - Progress bar for iterables with customizable text. Simply displays completed iterations out of overall length
- `AsyncProgressBar` - Asynchronous version of progress bar. Has `gather` and `as_completed` methods
- `NewLiner` - Context manager for adding newlines before/after code blocks
- `Timer` - Context manager for code execution timing

### Asynchronous Operations
- `aio` class with methods:
	- `_request()` - `aiohttp`/`httpx`/`niquests` Manually-specified request
	- `request()` - `aiohttp`/`httpx`/`niquests` GET requests
	- `post()` - `aiohttp`/`httpx`/`niquests` POST requests
	- `open()` - `aiofiles` file operations
	- `sem_task()` - Semaphore-controlled task execution

### Number Formatting
- `num` class with methods:
	- `shorten()` - Convert numbers to shortened form (e.g., 1000000 → 1M)
	- `unshorten()` - Convert shortened numbers back (e.g., 1M → 1000000)
	- `decim_round()` - Smart decimal rounding, returns **`str`* object, mainly for **readability** purpose
	- `beautify()` - Combine shortening and decimal rounding

### Web3 Utilities
- `Web3Misc` - Ethereum-related utilities:
	- Gas price monitoring
	- Transaction nonce tracking
	- Gas estimation (-monitoring)

### Minecraft Version Management
- `MC_Versions` - Minecraft version manifest handling - Version sorting, list to stringified range converter

### Compression Tools
- `compress()` - File/Directory/Stream/Bytes compression with multiple algorithms:
	- gzip, bzip2, lzma, zlib, lz4, zstd, brotli
- `decompress()` - Auto-algo-detective File/Directory/Stream/Bytes decompression

## Usage Example

> ### Checkout [test.py](test.py)

## Running [test.py](test.py)

```
git clone https://github.com/Sputchik/sputchedtools.git && cd sputchedtools
```
```
pip install -r reqs
```
```
python3 test.py
````
rspolib 0.1.1
Python bindings for the Rust crate rspolib.
License: MIT
Requires Python: >=3.8

# rspolib

[![pypi](https://img.shields.io/pypi/v/rspolib?logo=pypi&logoColor=white)](https://pypi.org/project/rspolib/) [![Bindings docs](https://img.shields.io/badge/bindings-docs-blue?logo=python&logoColor=white)](https://github.com/mondeja/rspolib/blob/master/python/REFERENCE.md)

Python bindings for the Rust crate [rspolib]. Check the [reference](https://github.com/mondeja/rspolib/blob/master/python/REFERENCE.md) for more information.

## Install

[![pyversions](https://img.shields.io/pypi/pyversions/rspolib?logo=python&logoColor=white)](https://pypi.org/project/rspolib/)

```bash
pip install rspolib
```

## Usage

### Read and save a PO file

```python
import rspolib

try:
    po = rspolib.pofile("path/to/file.po")
except rspolib.SyntaxError as e:
    print(e)
    exit(1)

for entry in po:
    print(entry.msgid)

po.save("path/to/other/file.po")
```

### Read and save a MO file

```python
import rspolib

try:
    mo = rspolib.mofile("path/to/file.mo")
except rspolib.IOError as e:
    print(e)
    exit(1)

for entry in mo:
    print(entry.msgid)

mo.save("path/to/other/file.mo")
```

[rspolib]: https://github.com/mondeja/rspolib