Metadata-Version: 2.4
Name: arpakitlib
Version: 3.0.0
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

Utilities are grouped by the library they build on, so you only reach for what your project already uses:

| Package | About |
|---|---|
| `arpakitlib.common_` | Everyday helpers: JSON, dates, files, settings, workers, retries, enumerations |
| `arpakitlib.sqlalchemy_` | Declarative base with handy introspection, database helper, check constraints |
| `arpakitlib.pydantic_` | Building schemas out of existing pydantic models |
| `arpakitlib.http_client_` | Sync and async HTTP requests with retries, proxy support and a base API client |
| `arpakitlib.fastapi_` | Collecting routers from a directory |
| `arpakitlib.aiogram_` | Collecting routers from a directory, parsing Telegram commands |
| `arpakitlib.sqladmin_` | Introspection for admin model views |
| `arpakitlib.etc_` | Everything else: password protected archives, database dumps, email validation |

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

```bash
python -m arpakitlib.common_.ar_json_util
```

---

### 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_.ar_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 ❤️

