Skip to main content

FileSystemPro

PyPI Python License: MIT

Ask DeepWiki Contributor Covenant

FileSystemPro is a powerful, cross-platform Python toolkit for file and directory management, system monitoring, compression, and enhanced console output. It provides seamless abstractions for OS-specific paths, resource tracking (CPU, disks, memory, network), archive handling (tar/zip), change detection, and colored terminal styling. Built for developers, it integrates standard library tools with optional psutil for hardware insights, ensuring portability across Linux, macOS, and Windows.

Key Pillars:

  • FileSystem Abstraction: OS-agnostic paths to user folders (e.g., Desktop, Documents).
  • Resource Monitoring: Track CPU/memory/disks/network via device submodule.
  • File/Directory Ops: Creation, manipulation, enumeration, and integrity checks.
  • Compression & Watching: Tar/zip handling and real-time filesystem change detection.
  • Console Enhancement: ANSI colors/styles with Windows compatibility.

Compatibility: Python 3.10+; cross-platform (Linux/macOS/Windows).


Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


Getting Started

Requirements

  • Python 3.10+ (download).
  • Optional: psutil for device module (pip install psutil).

Installation

Upgrade pip first:

pip install --upgrade pip

Install FileSystemPro:

pip install FileSystemPro

For Developers/Contributors

Clone the repo:

git clone https://github.com/hbisneto/FileSystemPro.git
cd FileSystemPro

Upgrade build tools:

pip install --upgrade setuptools wheel

Note: Requires setuptools 69.5.1+; wheel for packaging.

Run tests or build: See CONTRIBUTING.md.

Table of Contents

Jump to module documentation for detailed APIs, examples, and best practices:

  • FileSystem Module: OS detection and standard folder paths (desktop, documents, etc.).
  • Core Module: Config management, logging, performance tuning, and update checks.
  • Compression Module: Tar/zip creation, extraction, and reading.
  • Directory Module: Path operations, creation/deletion, enumeration, timestamps, and tree views.
  • File Module: I/O, integrity (SHA-256), copy/move, splitting, and timestamps.
  • Watcher Module: Polling-based filesystem change detection with callbacks.
  • Wrapper Module: Unified metadata dicts (paths, sizes, timestamps).
  • Console Module: ANSI colors, backgrounds, and styles (chainable, Windows-compatible).
  • Device Module: CPU/disks/memory/network monitoring (requires psutil).

Quick Start

Import core modules:

import filesystem as fs  # Paths
from filesystem import file, directory, compression  # Ops
from filesystem import device  # Monitoring (needs psutil)
from filesystem import console  # Colored output

Example: List Downloads files with colors:

from filesystem import fs, file, console

files = file.get_files(fs.downloads)
for f in files:
    size = file.get_size(f, show_unit=True)
    print(console.green()(f) + f" ({size})")

Monitor CPU:

import time
from filesystem import device

while True:
    usage = device.cpu.cpu_percent()
    print(console.red() if usage > 80 else console.green()(f"CPU: {usage}%"))
    time.sleep(1)

Architecture

FileSystemPro follows a modular design:

  • Core (__core__): Config/logging/updates.
  • FileSystem: Entry point for paths.
  • Ops (file/directory/compression): Manipulation.
  • Monitoring (watcher/device): Changes/resources.
  • Utilities (wrapper/console): Metadata/styling.

See submodule READMEs for internals.

Contributing

  1. Fork/clone the repo.
  2. Install dev deps: pip install -e .[dev].
  3. Add tests in tests/.
  4. Run: pytest / black . / flake8.
  5. PR to main.

Guidelines: CONTRIBUTING.md.

License

MIT License. See LICENSE.

Metadata

Release files for filesystempro 3.0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for filesystempro 3.0.0.0
File Size Uploaded
filesystempro-3.0.0.0.tar.gz 61.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for filesystempro 3.0.0.0
File Interpreter ABI Platform
filesystempro-3.0.0.0-py2-none-any.whl Python 2 none any Details

Total release size: 136.4 kB

Release files / filesystempro-3.0.0.0.tar.gz

Download URL filesystempro-3.0.0.0.tar.gz
Size 61.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9ffc4cf0c6c5192280b8cd8cd1504a85fbb5c0fafd36faa7cfc9207e98b8da49
BLAKE2b-256 checksum
How to use checksums
a3beeedcff4f5c2f8f745c4dd0d2beb6564084cf7faab9eec5f1a5894196bb17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.0

Release files / filesystempro-3.0.0.0-py2-none-any.whl

Download URL filesystempro-3.0.0.0-py2-none-any.whl
Size 74.8 kB
Tags Python 2
SHA-256 checksum
How to use checksums
fd834ade303eadf73976758eb8fda37d487ad46bceb2e5750be4f93da7bf5bcf
BLAKE2b-256 checksum
How to use checksums
621fe7a37631116617848bbee4b1a2fbd552c845590877dc219dae2be796ba77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.0

Release history Release notifications | RSS feed

This release

3.0.0.0 This release

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