Skip to main content

The Ultimate Command-Line File Tagging System - Transform chaos into order with intelligent file organization

Project description

๐Ÿท๏ธ TagManager

The Ultimate Command-Line File Tagging System

Transform chaos into order with intelligent file organization

Python License Platform

Features โ€ข Installation โ€ข Quick Start โ€ข Documentation โ€ข Examples


๐ŸŒŸ Why TagManager?

Ever lost a file in the digital maze of your computer? Tired of endless folder hierarchies that never quite fit your workflow? TagManager revolutionizes file organization with a powerful, flexible tagging system that adapts to how you actually work.

# Transform this chaos...
Documents/Projects/Work/Client_A/2024/Reports/Q1/final_v2_FINAL.pdf

# Into this simplicity...
tm add final_report.pdf --tags work client-a q1 2024 final
tm search --tags work q1  # Instantly find what you need!

โœจ Features

๐ŸŽฏ Core Operations

  • ๐Ÿท๏ธ Smart Tagging: Add multiple tags to any file with intelligent suggestions
  • ๐Ÿ” Powerful Search: Find files by tags, paths, or combinations with fuzzy matching
  • ๐Ÿ“Š Rich Analytics: Comprehensive statistics and insights about your tag usage
  • ๐Ÿ—‚๏ธ Bulk Operations: Mass tag operations with pattern matching and dry-run previews

๐ŸŽจ Beautiful Visualizations

  • ๐ŸŒณ Tree View: Gorgeous directory trees showing your tagged files
  • โ˜๏ธ Tag Clouds: Visual tag frequency representations
  • ๐Ÿ“ˆ ASCII Charts: Professional statistical charts right in your terminal

๐Ÿ”ง Smart Filtering

  • ๐Ÿ”„ Duplicate Detection: Find files with identical tag sets
  • ๐Ÿš๏ธ Orphan Finder: Locate untagged files that need attention
  • ๐Ÿ”— Similarity Analysis: Discover related files through intelligent tag matching
  • ๐ŸŽฏ Cluster Analysis: Identify tag usage patterns and file groupings

๐Ÿš€ Advanced Features

  • โšก Lightning Fast: Optimized for large file collections
  • ๐ŸŽญ Flexible Patterns: Support for glob patterns and regex matching
  • ๐Ÿ›ก๏ธ Safe Operations: Dry-run mode for all destructive operations
  • ๐ŸŽจ Rich Output: Beautiful, colorful terminal interface with emojis
  • ๐Ÿ”ง Configurable: Customizable display options and behavior

๐Ÿš€ Installation

๐Ÿ“ฆ Install from PyPI (Recommended)

pip install tagmanager-cli

That's it! TagManager is now available as tm or tagmanager command.

๐Ÿ“ Note: The package name is tagmanager-cli but the commands are tm and tagmanager.

๐Ÿ”ง Install from Source

git clone https://github.com/davidtbilisi/TagManager.git
cd TagManager
pip install .

๐Ÿ“‹ Requirements

  • Python 3.7+ (Python 3.8+ recommended)
  • UTF-8 compatible terminal (most modern terminals)
  • Dependencies: typer and rich (automatically installed)

โšก Quick Start

# Add tags to files
tm add document.pdf --tags work important project-x

# Search for files
tm search --tags work project-x

# View all files in a beautiful tree
tm ls --tree

# See your tag usage patterns
tm tags --cloud

# Get comprehensive statistics
tm stats --chart

# Find similar files
tm filter similar document.pdf

# Bulk operations with dry-run
tm bulk add "*.py" --tags python code --dry-run

๐Ÿ“– Documentation

Basic Commands

Command Description Example
tm add Add tags to a file tm add file.txt --tags work urgent
tm remove Remove files or clean up tm remove --path file.txt
tm search Find files by tags/path tm search --tags python --exact
tm ls List all tagged files tm ls --tree
tm tags Show all tags tm tags --cloud
tm stats Show statistics tm stats --chart

Advanced Operations

๐Ÿ” Smart Search

# Boolean search with multiple tags
tm search --tags python web --match-all    # Files with BOTH tags
tm search --tags python web               # Files with EITHER tag

# Combined tag and path search
tm search --tags python --path /projects/

# Exact vs fuzzy matching
tm search --tags "web-dev" --exact        # Exact match only
tm search --tags web                      # Fuzzy matching (finds "web-dev", "webapp", etc.)

๐ŸŽฏ Bulk Operations

# Mass tagging with patterns
tm bulk add "*.py" --tags python code
tm bulk add "**/*.md" --tags documentation

# Safe operations with dry-run
tm bulk retag --from old-tag --to new-tag --dry-run

# Bulk cleanup
tm bulk remove --tag deprecated

๐Ÿ”ง Smart Filtering

# Find duplicate tag sets
tm filter duplicates

# Locate untagged files
tm filter orphans

# Find similar files (30% similarity threshold)
tm filter similar important-doc.pdf

# Discover tag clusters
tm filter clusters --min-size 3

# Find isolated files
tm filter isolated --max-shared 1

โš™๏ธ Configuration Management

# View all configuration options
tagmanager config list --show-defaults

# Customize display settings
tagmanager config set display.emojis false
tagmanager config set display.max_items 200

# Configure search behavior
tagmanager config set search.fuzzy_threshold 0.8

# Export/import settings
tagmanager config export --file my_settings.json
tagmanager config import team_settings.json

# View settings by category
tagmanager config list --category performance

๐ŸŽจ Examples

Beautiful Tree View

๐ŸŒณ Tagged Files Tree View
==================================================

โ””โ”€โ”€ ๐Ÿ“ Projects/
    โ”œโ”€โ”€ ๐Ÿ“ WebApp/
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ app.py ๐Ÿท๏ธ  [python, web, main]
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ config.py ๐Ÿท๏ธ  [python, config]
    โ”‚   โ””โ”€โ”€ ๐Ÿ“„ README.md ๐Ÿท๏ธ  [documentation, web]
    โ””โ”€โ”€ ๐Ÿ“ Scripts/
        โ””โ”€โ”€ ๐Ÿ“„ backup.sh ๐Ÿท๏ธ  [bash, automation, backup]

๐Ÿ“Š Total files: 4

Tag Cloud Visualization

โ˜๏ธ  Tag Cloud
==================================================
Legend: โ˜… Most frequent  โ—† Very frequent  โ— Frequent  โ€ข Less frequent  ยท Least frequent

โ˜… python(15)  โ—† web(8)  โ— documentation(5)  โ€ข config(3)  ยท backup(1)  ยท automation(1)

๐Ÿ“Š Total unique tags: 6
๐Ÿ“Š Total tag instances: 33

Statistical Charts

๐Ÿ“Š TagManager Statistics Charts
==================================================

๐Ÿ“ˆ Files by Tag Count
====================
3 tags โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 12 (60.0%)
2 tags โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 6 (30.0%)
1 tag  โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 2 (10.0%)

๐Ÿท๏ธ  Top 10 Most Used Tags
=========================
python        โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 15 (25.4%)
web           โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 8 (13.6%)
documentation โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 5 (8.5%)
config        โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 3 (5.1%)

๐Ÿ—๏ธ Architecture

TagManager follows a clean, modular architecture:

TagManager/
โ”œโ”€โ”€ tm.py                 # Main CLI interface
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ add/             # File tagging operations
โ”‚   โ”œโ”€โ”€ bulk/            # Bulk operations
โ”‚   โ”œโ”€โ”€ filter/          # Smart filtering & analysis
โ”‚   โ”œโ”€โ”€ search/          # Search functionality
โ”‚   โ”œโ”€โ”€ stats/           # Statistics & analytics
โ”‚   โ”œโ”€โ”€ visualization/   # Tree views, charts, clouds
โ”‚   โ””โ”€โ”€ helpers.py       # Core utilities
โ”œโ”€โ”€ tests/               # Comprehensive test suite
โ””โ”€โ”€ config.ini          # Configuration settings

๐Ÿค Contributing

We love contributions! Here's how you can help:

  1. ๐Ÿ› Report Bugs: Found an issue? Create an issue
  2. ๐Ÿ’ก Suggest Features: Have ideas? We'd love to hear them!
  3. ๐Ÿ”ง Submit PRs: Fork, code, test, and submit a pull request
  4. ๐Ÿ“– Improve Docs: Help make our documentation even better

Development Setup

git clone https://github.com/davidtbilisi/TagManager.git
cd TagManager
python -m unittest tests.py -v  # Run tests

๐Ÿ“Š Stats & Performance

  • โšก Lightning Fast: Handles 10,000+ files effortlessly
  • ๐Ÿ’พ Lightweight: Minimal memory footprint
  • ๐Ÿ”ง Efficient: Optimized algorithms for large datasets
  • ๐Ÿ›ก๏ธ Reliable: Comprehensive error handling and data validation

๐ŸŽฏ Use Cases

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

# Organize code projects
tm add src/main.py --tags python backend api core
tm search --tags python api  # Find all Python API files

๐Ÿ“š Researchers

# Manage research papers
tm add paper.pdf --tags machine-learning nlp 2024 important
tm filter similar paper.pdf  # Find related papers

๐ŸŽจ Content Creators

# Organize media files
tm add video.mp4 --tags tutorial python beginner
tm bulk add "*.jpg" --tags photography portfolio

๐Ÿข Project Managers

# Track project documents
tm add requirements.pdf --tags project-x requirements client-a
tm stats --chart  # Visualize project file distribution

๐ŸŒŸ What Users Say

"TagManager transformed how I organize my 10,000+ research papers. The similarity search is pure magic!"
โ€” Dr. Sarah Chen, Research Scientist

"Finally, a tagging system that actually works! The tree view and tag clouds make everything so visual."
โ€” Mike Rodriguez, Software Developer

"The bulk operations saved me hours of manual work. Dry-run mode gives me confidence to make big changes."
โ€” Lisa Park, Data Analyst

๐Ÿ“š Complete Documentation

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • David Chincharashvili - Original Creator - @DavidTbilisi
  • Built with โค๏ธ using Typer for the beautiful CLI interface
  • Inspired by the need for better file organization in the digital age

โญ Star this repo if TagManager helps you stay organized! โญ

Report Bug โ€ข Request Feature โ€ข Contribute

Made with ๐Ÿท๏ธ by developers, for developers

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

tagmanager_cli-1.1.0.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

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

tagmanager_cli-1.1.0-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

File details

Details for the file tagmanager_cli-1.1.0.tar.gz.

File metadata

  • Download URL: tagmanager_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for tagmanager_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1ce61059cb70622e48bfa66c7606a9559ab9d40b6b55f73588be0fddf82a0e0b
MD5 ee29db61eafd007522e9c7e1702816a6
BLAKE2b-256 bb2ff25adfad2699a0cd8107a6a9430fef8abfc9ae017c75c085037de7e445b8

See more details on using hashes here.

File details

Details for the file tagmanager_cli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: tagmanager_cli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 45.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for tagmanager_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0da6c251caba629b68dbabd72d4ca94e3756bec122e4f6a24a3e4161bc7151dc
MD5 43b1082d7aa4078477f02dc7315f7301
BLAKE2b-256 a64d093897345b80946d039fa2cb548f287bb76304402a9932604768d7e347c7

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