pathmagic
Provides ORM path classes (File and Dir), which automatically emit file system IO operations upon having their attributes modified. File objects allow for easy content manipulation of many forms of files.
Decision gist · record as of 2026-08-14
No. The project is abandoned (last commit April 2022, last release February 2021) and explicitly in alpha with a warning that the API will break. The 13 runtime dependencies—including unmaintained or slow-moving libraries like moviepy—add significant install weight and potential security risk. Unless you need its specific ORM-style abstraction and are willing to fork and maintain it yourself, use pathlib (standard library) or a more actively maintained alternative.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- No compiled dependencies, but requires Python 3.8 or later per the classifiers; exact minimum version unspecified.
- Low install friction with a pure-Python wheel, but maintenance is a significant concern: last release was 2021-02-01 and the last commit 2022-04-22, with the project marked abandoned.
- The 13 runtime dependencies include media libraries (moviepy, pydub) and document handlers (PyPDF2, python-docx) that may themselves have unaddressed issues.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and poses no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2021-02-01 (2020 days) · last repo commit 2022-04-22 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 608,153 downloads/mo, #5,783 on PyPI
Alternatives
Verify before relying
from pathmagic import File, Dir
# Create a Dir object and list files
my_dir = Dir('/path/to/directory')
for f in my_dir.files:
print(f.name)
# Read a file with automatic format detection
my_file = File('/path/to/file.json')
content = my_file.read()- Whether the 13 runtime dependencies (especially moviepy, pydub, PyPDF2) are actively maintained or have known security issues.
- Whether the API has stabilized since the last release or remains subject to breaking changes as the description warns.
- Compatibility with Python versions beyond 3.8 given the project's abandoned status.
What it is and what it does
Pathmagic wraps filesystem paths in ORM-like File and Dir classes that trigger I/O operations when their properties are modified—similar to how database ORMs work. Instead of calling functions like os.rename() or os.remove(), you set properties like Dir.name or File.path, and the filesystem changes automatically. The File class adds a FormatHandler factory that detects file type by extension and reads or writes using the appropriate library: PDF via PyPDF2, images via Pillow, audio via pydub, video via moviepy, Word docs via python-docx, spreadsheets via pysubtypes, and JSON, pickle, HTML, and XML via standard or custom handlers.
The package is in alpha and explicitly under development, with the maintainer warning that the API will likely break and documentation will fall out of sync. The project has been abandoned since early 2022, with no releases or commits since then. It carries 13 runtime dependencies, several of which are heavy media libraries, making it a substantial addition to any environment. Use it only if you need its specific abstraction style and are prepared to maintain a fork if issues arise.
Use it for
- Automate batch file operations (rename, move, delete) on mixed file types using property assignment instead of function calls.
- Read and write multiple document formats (PDF, Word, Excel, JSON, images) with a single unified File.read()/File.write() interface.
- Recursively search and filter directory trees by file extension, regex patterns, or content without manual os.walk() loops.
- Traverse filesystem hierarchies using attribute access (e.g., my_dir.f.subfolder.file_name) instead of path string manipulation.
- Compress directories into zip files or visualize directory trees as ASCII art for debugging or reporting.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The project is abandoned (last commit April 2022, last release February 2021) and explicitly in alpha with a warning that the API will break. The 13 runtime dependencies—including unmaintained or slow-moving libraries like moviepy—add significant install weight and potential security risk. Unless you need its specific ORM-style abstraction and are willing to fork and maintain it yourself, use pathlib (standard library) or a more actively maintained alternative.
Install
pathmagic on PyPI
Before you install
Low install friction with a pure-Python wheel, but maintenance is a significant concern: last release was 2021-02-01 and the last commit 2022-04-22, with the project marked abandoned. The 13 runtime dependencies include media libraries (moviepy, pydub) and document handlers (PyPDF2, python-docx) that may themselves have unaddressed issues.
No compiled dependencies, but requires Python 3.8 or later per the classifiers; exact minimum version unspecified.
License in practice
MIT license is permissive and poses no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
from pathmagic import File, Dir
# Create a Dir object and list files
my_dir = Dir('/path/to/directory')
for f in my_dir.files:
print(f.name)
# Read a file with automatic format detection
my_file = File('/path/to/file.json')
content = my_file.read()
Verify before relying
- Whether the 13 runtime dependencies (especially moviepy, pydub, PyPDF2) are actively maintained or have known security issues.
- Whether the API has stabilized since the last release or remains subject to breaking changes as the description warns.
- Compatibility with Python versions beyond 3.8 given the project's abandoned status.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 13 packagespandasPillowPyPDF2appdirsbs4dillpython-docxmaybe-elsemoviepypydubpysubtypesSend2Trashsimplejson |
| Maintenance | Abandoned 2,020 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 608,153 / month, #5,783 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersProgramming Language :: Python :: 3.8 |
Evidence: pathmagic-0.3.14-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “file system ORM abstraction”
- pathmagicProvides File and Dir classes that wrap filesystem operations as…
- SQLAlchemySQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM)…
- infi.clickhouse-ormAn ORM for ClickHouse that lets you define model classes, insert…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pathlib-abc · path.py · pathlib-mate · pymiscutils · zipp · scantree · path · pathable · memory-tempfile · xattr