Skip to main content

Dark-FS is a cross-platform CLI file manager with a colorful terminal interface and fast navigation.

Project description

๐ŸŒ‘ Dark FS

Dark FS is a lightweight and fast command-line file manager built with Python.

It provides useful file-system operations such as copying, moving, renaming, swapping files, finding duplicates, displaying directory trees, and viewing detailed information about files and folders.

Designed to be simple, powerful, and beginner-friendly while remaining useful for everyday terminal work.


โœจ Features

File Operations

  • Copy files
  • Move files
  • Create files
  • Rename files
  • Swap files

Analysis Tools

  • Find duplicate files using SHA-256 hashing
  • Display directory structure in tree format
  • Show detailed file information
  • Show detailed folder information
  • Detect empty files
  • Find the largest file in a folder
  • Calculate total folder size

Additional Features

  • Save information output to a text file
  • Command suggestions for mistyped commands
  • Colored terminal output
  • Fast and lightweight

๐Ÿš€ Installation

Install from PyPI:

pip install dark-fs

Upgrade to the latest version:

pip install --upgrade dark-fs

Verify installation:

dfs --version

๐Ÿ“ฆ Current Version

0.3.0

๐Ÿ›  Commands

Copy File

dfs cp source.txt destination.txt

Copies a file to another location.


Move File

dfs mv source.txt destination.txt

Moves a file to another location.


Create File

dfs cf myfile.txt

Creates a new file in the current directory.

Create inside another directory:

dfs cf myfile.txt folder

Rename File

dfs rn old.txt new.txt

Renames a file.


Swap Files

dfs swap file1.txt file2.txt

Swaps two files.


Find Duplicate Files

Search current folder:

dfs fd

Search a specific folder:

dfs fd myfolder

Duplicate files are detected using SHA-256 hashes.


Show Directory Structure

dfs ds folder

Example:

Project
โ”œโ”€โ”€ main.py
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ src
    โ””โ”€โ”€ helpers.py

Show File Information

dfs inf example.txt

Show Folder Information

dfs inf project

Save Information to a File

dfs inf project -s report.txt

๐Ÿ“ Folder Information

The inf command displays the following information for folders:

  • Folder Name
  • Folder Path
  • Total Files
  • Total Folders
  • Created Time
  • Last Modified File
  • Modified Time
  • Folder Size
  • Largest File
  • Empty Files

Example:

Folder Information
------------------------------
Folder Name        : Project
Folder Path        : /storage/emulated/0/Project
Files Inside       : 18
Folders Inside     : 4
Created Time       : 2026-06-15 12:30:20
Last Modified File : main.py
Modified Time      : 2026-06-15 14:10:55
Folder Size        : 12.8 MB
Largest File       : archive.zip (8.2 MB)
Empty Files        : notes.txt
------------------------------

๐Ÿ“„ File Information

The inf command displays the following information for files:

  • File Name
  • File Type
  • File Size
  • Created Time
  • Modified Time

Example:

File Information
------------------------------
File Name      : main.py
File Type      : Python Source File
File Size      : 8.4 KB
Created Time   : 2026-06-15 10:20:11
Modified Time  : 2026-06-15 14:15:45
------------------------------

๐Ÿ” Duplicate Detection

Dark FS uses SHA-256 hashing to detect duplicate files.

Process:

File โ†’ SHA-256 Hash
File โ†’ SHA-256 Hash

Same Hash = Duplicate File

This approach is much more reliable than comparing only file names or file sizes.


๐Ÿงฐ Technologies Used

Language

Python 3

Standard Library Modules

argparse
difflib
hashlib
os
pathlib
shutil
sys

External Libraries

colorama

๐Ÿ“‚ Project Structure

dark-fs/
โ”‚
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pyproject.toml
โ”‚
โ”œโ”€โ”€ darkfs/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ core.py
โ”‚   โ”œโ”€โ”€ main.py
โ”‚   โ”œโ”€โ”€ cli.py
โ”‚   โ””โ”€โ”€ helpers.py
โ”‚
โ””โ”€โ”€ .github/
    โ””โ”€โ”€ workflows/
        โ””โ”€โ”€ publish.yml

๐ŸŽฏ Roadmap

Planned Features

  • Delete file command
  • Delete folder command
  • Folder copy support
  • Folder move support
  • File search command
  • Export to JSON
  • Export to CSV
  • Progress bars
  • Better reporting
  • Interactive mode

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome.

Feel free to open an issue or submit a pull request if you find a bug or want to improve the project.


๐Ÿ‘จโ€๐Ÿ’ป Author

AK

Creator of Dark FS.


๐Ÿ“œ License

MIT License

โญ Why Dark FS?

  • Lightweight
  • Fast
  • Easy to use
  • Beginner-friendly
  • Useful daily file-management commands
  • Clean terminal output
  • Open Source

๐Ÿ’ก Example Workflow

# Create a file
dfs cf notes.txt

# Rename it
dfs rn notes.txt ideas.txt

# View information
dfs inf ideas.txt

# Find duplicates
dfs fd .

# Show project tree
dfs ds .

# Save folder report
dfs inf . -s report.txt

Dark FS
Fast โ€ข Simple โ€ข Lightweight

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

dark_fs-0.3.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

dark_fs-0.3.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file dark_fs-0.3.0.tar.gz.

File metadata

  • Download URL: dark_fs-0.3.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for dark_fs-0.3.0.tar.gz
Algorithm Hash digest
SHA256 670d0b3d37b8760b01a36225fec52f20607714cbcc0b825a02a8751051a6af1d
MD5 988c177fc6a83e4c2c70aa3eda71b26a
BLAKE2b-256 919ee9568034307e3c36cae457478cf237057f8fef1dd96faf7be10d6faaf744

See more details on using hashes here.

File details

Details for the file dark_fs-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: dark_fs-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for dark_fs-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa706bb5a483c837581b57565224ca441c0e250b7ea60701f78884c1c425da0b
MD5 3d33d478975732f2e95ae7af43fa4d71
BLAKE2b-256 5630914dec0a09df9c4db8684a14e163ed2ee9c3dbcf37cdc4f697f24e0265cc

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