Metadata-Version: 2.4
Name: zpace
Version: 0.1.0
Summary: A CLI tool to discover what's consuming your disk space
Author-email: Ąžuolas Krušna <azuolas.krusna@yahoo.com>
License: Apache-2.0
Keywords: analyze,cleanup,cli,disk,file,space,storage
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Requires-Dist: argparse>=1.4.0
Requires-Dist: tqdm>=4.67.1
Description-Content-Type: text/markdown

# Zpace

A CLI tool to discover what's hogging your disk space!

The tool shows the largest files in each category of files (videos, pictures, documents etc.) as well as the largest special directories as apps in MacOS, Python virtual environments, node_modules etc.

It's built to indentify the biggest chunks of that could potentially up the space for something else.

## Usage

### Basic Commands
```bash
# Scan your home directory (default)
zpace

# Scan a specific directory
zpace /path/to/directory

# Scan current directory
zpace .
```

### Options
```bash
# Show top 20 items per category (default: 10)
zpace -n 20

# Set minimum file size to 1MB (default: 100KB)
zpace -m 1024

# Combine options
zpace ~/Documents -n 15 -m 500
```

### Tips

```bash
# Find all node_modules directories
zpace ~ -n 50 | grep "node_modules"

# Check what's in a specific directory
zpace ~/.cache

# Find largest files system-wide (requires sudo)
sudo zpace / -n 20
```

## Development

### Setup

```bash
# Clone the repository
git clone https://github.com/azisk/zpace.git
cd zpace

# Install dependencies
uv sync

# Run locally
uv run python main.py
```

### Code Quality

The project uses Ruff for linting, formatting, and import sorting:

```bash
# Format code
uv run ruff format

# Lint code
uv run ruff check

# Fix auto-fixable issues
uv run ruff check --fix

# Run all pre-commit checks manually
uv run pre-commit run --all-files
```

### Testing

```bash
# Run tests
uv run pytest test_main.py -v

# Test across multiple Python versions (optional)
./testVersions.sh
```

### Project Structure
```
zpace/
├── main.py           # Main application code
├── pyproject.toml    # Project configuration
├── README.md         # This file
└── CHANGELOG.md      # Version history
```

### Contributing
Contributions are welcome! Please feel free to submit a Pull Request.

### License
Apacha 2.0 License

### Support

- 🐛 [Report a bug](https://github.com/AzisK/Zpace/issues)
- 💡 [Request a feature](https://github.com/AzisK/Zpace/issues)
- ⭐ Star the repo if you find it useful!

---

Made with love for people tired of full disks
