XTools-py
XTools-py — это мощная библиотека с полезными утилитами для Python-разработчиков, предназначенная для упрощения рутинных задач. Включает в себя инструменты для работы с конфигурационными файлами, матрицами, валидацией данных, кешированием, поиском информации и многим другим.
🚀 Установка
Установить библиотеку можно через pip:
pip install xtools-py
📌 Возможности
- Поиск данных (
Find) — быстрый поиск в структурах данных. - Работа с матрицами (
Matrix) — удобные операции с матрицами. - Конфигурационные файлы (
Config) — работа с JSON, YAML и INI файлами. - Валидация данных (
Validator) — проверка строк, чисел и других типов данных. - Кеширование (
Cache) — простой и эффективный кеш. - Работа с датами и временем (
DateTimeUtils) — удобные функции для работы с датами. - Математические функции (
MathUtils) — расширенные математические операции. - Работа с цветами (
ColorUtils) — преобразование и обработка цветов. - Шифрование (
Encryption) — базовые функции шифрования и хеширования. - Работа с текстом (
TextUtils) — удобные текстовые манипуляции. - Конвертация единиц измерения (
Unit) — перевод величин между разными системами. - Облачное хранилище (
AWS S3) — удобное взаимодействие с облачным хранилищем (асинхронно/синхронно).
📖 Использование
1. Работа с конфигурацией
from xtools import Config
config = Config("config.json")
config.set("app.debug", True)
config.save()
2. Поиск данных
from xtools import Find
data = ["apple", "banana", "cherry"]
result = Find.get_max(data) # banana
numbers = [123, 321, 213]
result = Find.get_max(numbers) # 321
# Работа с словарём:
data = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 25}
]
results = Find.by_key_value(data, "age", 25) # [{'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 25}]
results = Find.contains(data, "name", "Al") # [{'name': 'Alice', 'age': 25}]
3. Работа с кешем
from xtools import Cache
cache = Cache()
cache.set("key", "value", ttl=60) # Хранится 60 секунд
print(cache.get("key")) # value
4. Работа с датами
from xtools.utils import DateTimeUtils
print(DateTimeUtils.current_timestamp())
print(DateTimeUtils.format_date("2025-02-08", "%d.%m.%Y"))
5. Работа с цветами
from xtools.utils import ColorUtils
print(ColorUtils.hex_to_rgb("#FFFFFF")) # (255, 255, 255)
print(ColorUtils.rgb_to_hex(255, 255, 255)) # #FFFFFF
6. Конвертация единиц измерения
from xtools import UnitConverter
print(UnitConverter.celsius_to_fahrenheit(25)) # 77.0
print(UnitConverter.meters_to_kilometers(1000)) # 1.0
7. Шифрование и дешифрование
from xtools import EncryptionUtils
key = EncryptionUtils.generate_key()
encrypted = EncryptionUtils.encrypt("Hello, World!", key)
decrypted = EncryptionUtils.decrypt(encrypted, key)
print(encrypted)
print(decrypted) # Hello, World!
8. Работа с AWS S3 (синхронно)
from xtools.storage import S3Storage
s3 = S3Storage("my-bucket", "ACCESS_KEY", "SECRET_KEY")
# Загрузка файла
s3.upload_file("local.txt", "remote.txt")
# Список файлов
print(s3.list_files())
9. Работа с AWS S3 (асинхронно)
import asyncio
from xtools.storage import AsyncS3Storage
async def main():
s3 = AsyncS3Storage("my-bucket", "ACCESS_KEY", "SECRET_KEY")
await s3.upload_file("local.txt", "remote.txt")
print(await s3.list_files())
asyncio.run(main())
💡 Roadmap
- Добавление поддержки Redis для кеша
- Расширенные возможности валидации
- Улучшенные математические функции
📜 Лицензия
Проект распространяется под лицензией MIT.
🤝 Контрибьютинг
Если у вас есть идеи для улучшения библиотеки, создайте issue или pull request на GitHub.
🔗 Связь
- 📧 Email: girectx@gmail.com
- 💻 GitHub: SikWeet
📌 XTools-py — инструменты, которые делают разработку проще! 🚀
Metadata
Release files for xtools-py 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xtools_py-0.2.1.tar.gz | 19.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xtools_py-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.2 kB
Release files / xtools_py-0.2.1.tar.gz
| Download URL | xtools_py-0.2.1.tar.gz |
|---|---|
| Size | 19.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01c78f1bd0938ada6058543833fc0125ca4e5b2b62fe67a191f7f757a1dd0497
|
|
BLAKE2b-256 checksum How to use checksums |
75947368d48685b9cf46cd1c201d9c1393738b6d2899db7739e173b396b2f0ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / xtools_py-0.2.1-py3-none-any.whl
| Download URL | xtools_py-0.2.1-py3-none-any.whl |
|---|---|
| Size | 19.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e888cc094c0a2878868023b9681bc5729716f782ad1d31e802a277af7f747ce5
|
|
BLAKE2b-256 checksum How to use checksums |
07207fe2efa3b13075acda57cfaef0d7856c1db221c9b70ace00b8f45bc6fcbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|