Skip to main content

XTools-py

PyPI Python License

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.

🔗 Связь


📌 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)

Source distribution for xtools-py 0.2.1
File Size Uploaded
xtools_py-0.2.1.tar.gz 19.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xtools-py 0.2.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page