Skip to main content

A brief description of futilz

Project description

๐Ÿ“ futilz โ€“ A Simple & Powerful File Utility Library

๐ŸŒŸ Overview

futilz is a lightweight and efficient Python utility library designed to simplify file system operations, checksum generation, and file downloading. Whether you're working on automation scripts, data processing, or general file management, futilz provides essential tools to make your tasks easier.

With futilz, you can:
โœ… Locate the root directory of a Git repository.
โœ… Manage directories and create nested folders effortlessly.
โœ… Normalize and clean file paths to avoid inconsistencies.
โœ… Retrieve and validate file extensions (including images and fonts).
โœ… Search for files recursively with filtering options.
โœ… Compute SHA hash values for files and content to ensure integrity.
โœ… Download files from URLs while handling encoding formats.
โœ… And more in the future! ๐Ÿš€

๐Ÿš€ Features

๐Ÿ” Repository & Path Management

  • Find Git Repository Root โ€“ Detects the base directory of a Git repository.
  • Fix File Paths โ€“ Cleans up redundant path elements like // or /./.
  • Create Directories โ€“ Ensures nested directories exist without errors.

๐Ÿ“‚ File Operations

  • File Extension Handling โ€“ Retrieve and validate file extensions.
  • Detect Image & Font Files โ€“ Supports formats like PNG, JPG, SVG, TTF, and more.
  • Recursive File Search โ€“ Search directories while filtering by file type.

๐Ÿ”’ Data Integrity & Checksums

  • Generate SHA Hashes โ€“ Compute secure hash values (SHA-1, SHA-256, etc.) for file verification.
  • Hash Content & Files โ€“ Validate file integrity using checksum functions.

๐ŸŒ File Downloading

  • Download Any File โ€“ Fetch files from the web with built-in support for handling encoding issues.
  • Automatic Directory Creation โ€“ Ensures the destination folder exists before saving files.

๐Ÿ”ฎ Future Enhancements

  • More file-handling utilities ๐Ÿ”„
  • Additional hashing algorithms ๐Ÿ”‘
  • Performance optimizations โšก
  • And much more to come! ๐Ÿš€

๐Ÿ“ฅ Installation

Installing futilz is quick and easy with pip:

pip install futilz

๐Ÿ”ง Usage Examples

1๏ธโƒฃ Find All .txt Files in a Directory

import futilz

files = futilz.find(dirname=".", extensions=["txt"])
print(files)

2๏ธโƒฃ Generate a SHA-256 Hash of a String

import futilz

hash_value = futilz.shasum_content("Hello, World!", algo="sha256")
print(hash_value)

3๏ธโƒฃ Download a File from a URL

import futilz

futilz.download_file("https://example.com/sample.txt", "downloads/sample.txt")
print("Download complete!")

๐ŸŽฏ Why Use futilz?

โœ”๏ธ Lightweight & Efficient โ€“ Minimal dependencies, optimized for performance.
โœ”๏ธ Easy to Use โ€“ Simple, intuitive functions for common tasks.
โœ”๏ธ Versatile โ€“ Suitable for automation, data processing, and file management.
โœ”๏ธ Cross-Platform โ€“ Works on Windows, macOS, and Linux.
โœ”๏ธ Actively Improved โ€“ More features and optimizations coming soon!


๐Ÿ“ข Connect with Me

๐Ÿ’ป GitHub: github.com/abdelmathin/futilz
๐ŸŒ Website: abdelmathin.com
๐Ÿ”— LinkedIn: linkedin.com/in/abdelmathin

๐Ÿ’ก Contribute: Have suggestions or improvements? Feel free to contribute!
๐Ÿž Issues: Found a bug? Open an issue on the GitHub repository.
๐Ÿ“œ License: Open-source and free to use under the MIT License.

๐Ÿš€ Start using futilz today and make file handling in Python easier than ever! ๐ŸŽ‰

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

futilz-0.1.2.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

futilz-0.1.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file futilz-0.1.2.tar.gz.

File metadata

  • Download URL: futilz-0.1.2.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for futilz-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6188dbd07b4c15a7e8c7e12e7d772c33ff2fc5bad5dc875da21726e0e26b1aa7
MD5 54b869fdb09247572af24dec972e890e
BLAKE2b-256 6ee969ad8999548273f077ec8e1ca8a6ab21a09a0657d3736c8caf1422fb46ba

See more details on using hashes here.

File details

Details for the file futilz-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: futilz-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for futilz-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a23b7fa7e2040d161342fe8d0f43d06e9e31f8d5acbef80ef69c2dbf4ab11193
MD5 182000d92edcc07af38aea4416544db3
BLAKE2b-256 08ec244804eedc602a299e75782991350e86abb5a57b0b15675594a7396a23d4

See more details on using hashes here.

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