Skip to main content

PyPI package designed to make development in Python easier.

Project description

pythonbundle

pythonbundle is a versatile and lightweight collection of Python utility scripts and classes designed to accelerate development. It provides simplified interfaces for common programming tasks ranging from data structure manipulation, cryptography, string validation, and type conversions, to handling SQLite databases, Excel files, and sorting algorithms.


📦 Features

pythonbundle contains several distinct modules to help keep your codebase clean and readable:

🛡️ Validation (Check)

A robust validation class to simplify standard string and format checks.

  • Email formatting and customizable domain validation.
  • Validates Philippine mobile numbers (+639 / 09).
  • Check for spaces, symbols, and pure numerical strings.

🔐 Cryptography (Cipher)

A basic cryptography class to implement classic cipher techniques.

  • Transposition Cipher
  • Giovanni Cipher
  • Keyword Cipher
  • Caesar Cipher

🔄 Data Conversion (Convert)

Effortless type casting and data encoding.

  • Hex, Binary, and Base64 encoding/decoding.
  • String reversal and byte-array conversions.
  • Quick casting for Int, Float, Double, and Long.

📚 Data Structures

Custom implementations for improved data manipulation.

  • Dictionarily: An enhanced Dictionary object with built-in sorting (alphabetical and numerical-first).
  • Memory: A clean, object-oriented list/array wrapper to handle storage, indexing, and removal.
  • Stackily: A classic Stack implementation (push, pop, peek, is_empty, size).
  • Node: A lightweight binary tree node implementation.

🗄️ Database Management (EasySQL)

A simplified wrapper around Python's built-in sqlite3.

  • Create tables with ease by passing lists of dictionaries.
  • Insert, delete, and clear records directly via Python dictionaries.
  • Fetch and print table values seamlessly.

📊 Excel Operations

A wrapper for openpyxl allowing for extremely fast Excel file data manipulation.

  • Read and write to specific columns across single or multiple sheets.
  • Skip header rows easily using skip_rows.
  • Zero-hassle reading/writing to entire column letters (e.g., Column 'A').

🗂️ File Handling (SimpleFileHandler)

Static methods to rapidly read(), write(), and append() to text files using utf-8 encoding.

🧹 Sorting Algorithms

A massive suite of sorting algorithms available as quick plug-and-play functions.

  • Quick Sort, Merge Sort, Heap Sort, Selection Sort, Insertion Sort, Bubble Sort.
  • Advanced/Niche Sorts: Tim Sort, Intro Sort, Cocktail Shaker Sort, Shell Sort, Pigeonhole Sort, Bead Sort, and even Bogo Sort!

🚀 Installation

pip install pythonbundle

Dependencies

The package largely uses Python's standard library (e.g., sqlite3, math, re, base64). However, the Excel operations module requires:

  • openpyxl
  • unidecode

💻 Quick Usage Examples

1. Simple SQLite Database Queries (EasySQL)

from pythonbundle import EasySQL

db = EasySQL()

# Create a database table
db.create_table("users_db", "employees",[{"first_name": "text"}, {"last_name": "text"}])

# Insert data
db.insert_to_table("users_db", "employees", [{"first_name": "John"}, {"last_name": "Doe"}])

# Fetch values
records = db.get_table_values("users_db", "employees")
print(records)

2. Validating Phone Numbers & Emails (Check)

from pythonbundle import Check

# Validate Philippine Phone Numbers
is_valid = Check.is_a_valid_philippine_mobile_number("+639123456789")
print(is_valid)  # True

# Validate Emails with strict domain rules
Check.Email.add_valid_domain_name("gmail")
Check.Email.add_valid_domain_extension("com")
print(Check.Email.is_valid("user@gmail.com"))  # True

3. File Handling (SimpleFileHandler)

from pythonbundle import SimpleFileHandler

# Write, Append, and Read
SimpleFileHandler.write("log.txt", "Process started.\n")
SimpleFileHandler.append("log.txt", "Process finished.\n")

print(SimpleFileHandler.read("log.txt"))

4. Text Encryption (Cipher)

from pythonbundle import Cipher

encrypted = Cipher.caesar_cipher("HELLO WORLD", shift=3)
print(encrypted)  # KHOOR ZRUOG

5. Sorting Array Data

from pythonbundle import quicksort, merge_sort

array = [5, 2, 9, 1, 5, 6]
print(quicksort(array)) #[1, 2, 5, 5, 6, 9]

🤝 Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

📝 License

MIT

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

pythonbundle-1.3.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

pythonbundle-1.3.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file pythonbundle-1.3.0.tar.gz.

File metadata

  • Download URL: pythonbundle-1.3.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pythonbundle-1.3.0.tar.gz
Algorithm Hash digest
SHA256 c9a7b0f3c62f05bd722708b6daa36a6e75f7efdacdf0f921f7496d7a464f4cad
MD5 4f6646ddba546fcc4c542b9ab7763c95
BLAKE2b-256 2a8e1db1205525fe16973582fed9cd102c983b9e3bd1a37827f8618e9981a13a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythonbundle-1.3.0.tar.gz:

Publisher: build_python_package.yml on isaiahnoelpulidosalazar/isaiahnoelpulidosalazar.github.io

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

File details

Details for the file pythonbundle-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pythonbundle-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pythonbundle-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 56018371d8d5010b920d135bcab050f98cb2e9aecf7a75ac5358849c997ad9e4
MD5 312ce392373fd069e979a4949cd61658
BLAKE2b-256 d692460abfbce8aa1c6de988deb4d834eaa2d8ee1c70da5c2396bf6928f4a20b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythonbundle-1.3.0-py3-none-any.whl:

Publisher: build_python_package.yml on isaiahnoelpulidosalazar/isaiahnoelpulidosalazar.github.io

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