Skip to main content

Python Tools library for some services

Project description

aldheeb-pytools 🛠️

PyPI version Python versions License: MIT

aldheeb-pytools is a modern Python utilities library providing async-ready helpers for backend systems, databases, cryptography, and Telegram automation.


✨ Features

  • Async-first design built for modern asyncio applications
  • 🗄️ MongoDB utilities for cleaner and safer database operations
  • 🔐 Cryptography helpers (AES-GCM, secure key derivation)
  • 🤖 Telegram utilities using Kurigram integration
  • 📧 IMAP email utilities for fetching and parsing emails
  • 🌍 Country & phone utilities for region and number handling
  • 🧰 General utilities for parsing, validation, and data handling
  • 🧩 Fully typed codebase with strict type hints support

📦 Installation

Starting from v0.2.0, the library uses optional dependencies — install only what you need.

Minimal install (no optional dependencies)

pip install aldheeb-pytools

Install specific features

Extra Installs Use for
crypto cryptography Encryption & key derivation
mongo pymongo MongoDB utilities
phone phonenumbers Phone number parsing
country pycountry, phonenumbers Country info & region codes
tg kurigram Telegram automation
imap aioimaplib IMAP email fetching
bs4 beautifulsoup4 HTML email parsing
full everything above All features
# Single feature
pip install "aldheeb-pytools[crypto]"

# Multiple features
pip install "aldheeb-pytools[crypto, mongo, phone]"

# Everything
pip install "aldheeb-pytools[full]"

Note: If you try to use a feature without its required packages installed, you'll get a clear ImportError with the exact install command needed.

Install the latest version from GitHub

To install directly from the main branch (ahead of the latest PyPI release):

pip install git+https://github.com/eeeob/aldheeb-pytools.git --force-reinstall

🚀 Quick Start

🔐 Encryption example

pip install "aldheeb-pytools[crypto]"
from pytools import encrypt, decrypt

key = "my-secure-key"

encrypted = encrypt("secret data", key)
print(encrypted)

decrypted = decrypt(encrypted, key)
print(decrypted)

🗄️ MongoDB example

pip install "aldheeb-pytools[mongo]"
from pytools import MongoIndex

index = MongoIndex.from_dict({"key": {"field": 1}})

🤖 Telegram example

pip install "aldheeb-pytools[tg]"
from pytools import format_tg_username, mention_tg_user

username = format_tg_username("@myuser")
mention = mention_tg_user(123456789, "John")

🧪 Development Setup

git clone https://github.com/eeeob/aldheeb-pytools.git
cd aldheeb-pytools
pip install -e ".[full,dev]"

Running tests

pytest

Tests run in CI across every Python version listed in the classifiers above (3.10 through 3.14), both with the minimal (no-extras) install and with [full,dev].


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


📬 Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aldheeb_pytools-0.3.2.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aldheeb_pytools-0.3.2-py3-none-any.whl (64.0 kB view details)

Uploaded Python 3

File details

Details for the file aldheeb_pytools-0.3.2.tar.gz.

File metadata

  • Download URL: aldheeb_pytools-0.3.2.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aldheeb_pytools-0.3.2.tar.gz
Algorithm Hash digest
SHA256 283c560a532f19bbaffb54aaf924161d3a870fa7640ef677ffbb5fef6e93585b
MD5 a9698e566438ea5ff6767c7fa307210d
BLAKE2b-256 d28bfa44bd3779e90ebc92ba106b4ce1c82e26f5fd4e4affaab64f88045dcfba

See more details on using hashes here.

Provenance

The following attestation bundles were made for aldheeb_pytools-0.3.2.tar.gz:

Publisher: pypi_release.yml on eeeob/aldheeb-pytools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aldheeb_pytools-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for aldheeb_pytools-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2c1b8ec52987a134ceeca6e94e0e0b70933a033cfbdd573ef42f1aca2766751
MD5 af4fc85be0459c5397b4d60fba36804d
BLAKE2b-256 87afb0645ec96ef074315c51f4338e723653bf65f960b6c0bd468220b5d7dce9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aldheeb_pytools-0.3.2-py3-none-any.whl:

Publisher: pypi_release.yml on eeeob/aldheeb-pytools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page