Metadata-Version: 2.4
Name: arpakitlib
Version: 3.0.4
Summary: Lightweight and convenient development tools by ARPAKIT Company
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
Author: arpakit_company
Author-email: support@arpakit.com
Requires-Python: >=3.13.4,<3.15
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Classifier: Framework :: AsyncIO
Requires-Dist: aiogram (>=3.31.0,<4.0.0)
Requires-Dist: aiohttp (>=3.14.3,<4.0.0)
Requires-Dist: aiohttp-socks (>=0.12.0,<0.13.0)
Requires-Dist: asyncpg (>=0.31.0,<0.32.0)
Requires-Dist: email-validator (>=2.2.0,<3.0.0)
Requires-Dist: fastapi (>=0.141.1,<0.142.0)
Requires-Dist: orjson (>=3.12.0,<4.0.0)
Requires-Dist: psycopg2-binary (>=2.9.12,<3.0.0)
Requires-Dist: pydantic (>=2.13.5,<3.0.0)
Requires-Dist: pydantic-settings (>=2.7.1,<3.0.0)
Requires-Dist: pyminizip (>=0.2.6,<0.3.0)
Requires-Dist: requests (>=2.34.2,<3.0.0)
Requires-Dist: sqladmin (>=0.31.1,<0.32.0)
Requires-Dist: sqlalchemy (>=2.0.52,<3.0.0)
Project-URL: ARPAKIT Company, https://arpakit.com
Project-URL: Documentation, https://github.com/ARPAKIT-Company/arpakitlib
Project-URL: Homepage, https://github.com/ARPAKIT-Company/arpakitlib
Project-URL: Issues, https://github.com/ARPAKIT-Company/arpakitlib/issues
Project-URL: Repository, https://github.com/ARPAKIT-Company/arpakitlib
Project-URL: Support, https://t.me/arpakit_company_support
Project-URL: Telegram channel, https://t.me/arpakitlib
Description-Content-Type: text/markdown

# arpakitlib

## 🚀 Simplify Your Development Workflow

A collection of lightweight and convenient development tools by ARPAKIT Company, designed to simplify and accelerate
your workflow.

[![PyPI](https://img.shields.io/pypi/v/arpakitlib.svg)](https://pypi.org/project/arpakitlib/)
[![Python](https://img.shields.io/pypi/pyversions/arpakitlib.svg)](https://pypi.org/project/arpakitlib/)
[![License](https://img.shields.io/pypi/l/arpakitlib.svg)](https://github.com/ARPAKIT-Company/arpakitlib/blob/master/LICENSE)

---

### What is inside

A set of small, self-contained utilities you pick from one at a time:

- **Everyday helpers** — JSON, dates, strings, dictionaries, files, settings, background workers, retries, enumerations
- **Databases** — declarative base with introspection, database helper, check constraints, schemas from existing models
- **HTTP** — sync and async requests with retries and proxy support, plus a base API client
- **Telegram bots** — parsing commands
- **Admin panels** — introspection for admin model views
- **Operations** — password protected archives, database dumps, shell commands, email validation

Every module keeps its own runnable example, so the fastest way to see what a utility does is to run that
module directly:

```bash
python -m arpakitlib.<package>.<module>
```

---

### Supported Python version

- Python 3.13.4 and above

---

### Installation

```bash
pip install arpakitlib
```

```bash
poetry add arpakitlib
```

```bash
uv add arpakitlib
```

Pin an exact version:

```bash
pip install arpakitlib==2.0.0
```

Install straight from the repository:

```bash
pip install git+https://github.com/ARPAKIT-Company/arpakitlib.git
```

Install a pre-release from TestPyPI:

```bash
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ arpakitlib
```

---

### Quick start

```python
from datetime import datetime
from decimal import Decimal

from arpakitlib.common_.json_util import transfer_data_to_json_str

print(transfer_data_to_json_str({"when": datetime(2026, 9, 4), "price": Decimal("1.5")}))
# {
#   "when": "2026-09-04T00:00:00",
#   "price": "1.5"
# }

print(transfer_data_to_json_str({"when": datetime(2026, 9, 4)}, beautify=False))
# {"when":"2026-09-04T00:00:00"}
```

---

### Development

```bash
poetry install
poetry run pytest
```

---

### Links

- [GitHub](https://github.com/ARPAKIT-Company/arpakitlib)
- [PyPI](https://pypi.org/project/arpakitlib/)
- [Telegram channel](https://t.me/arpakitlib)
- [ARPAKIT Company](https://arpakit.com)
- [Support](https://t.me/arpakit_company_support)

---

## ❤️ Made by ARPAKIT Company ❤️

