FileSystemPro
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
devicesubmodule. - 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:
psutilfordevicemodule (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
- Fork/clone the repo.
- Install dev deps:
pip install -e .[dev]. - Add tests in
tests/. - Run:
pytest/black ./flake8. - 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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| filesystempro-3.0.0.0.tar.gz | 61.6 kB | Without provenance | Details for filesystempro-3.0.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| filesystempro-3.0.0.0-py2-none-any.whl | Python 2 | none | any | Details for filesystempro-3.0.0.0-py2-none-any.whl |
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
|
Security for filesystempro 3.0.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.