Skip to main content

📋 ClipStack

The ultimate cross-platform clipboard manager for developers 🚀

PyPI version Python 3.10+ License: MIT Code style: black Tests

ClipStack is a powerful, terminal-first clipboard manager that helps developers never lose their copied content again. Built with Python and designed for productivity, it provides instant access to your clipboard history with lightning-fast search and seamless cross-platform support.

✨ Features

  • 🔄 Real-time clipboard tracking - Never lose copied content
  • 🚀 Lightning-fast fuzzy search - Find anything in your history instantly
  • 💾 Smart storage - JSON-based storage with duplicate prevention
  • 🎨 Beautiful terminal UI - Rich, colorful output with timestamps
  • 🔧 Developer-friendly - Simple CLI with intuitive commands
  • 🌍 Cross-platform - Works on macOS, Linux, and Windows
  • 📱 TUI mode - Interactive terminal interface for power users
  • 📤 Import/Export - Backup and restore your clipboard history
  • 🧪 Fully tested - Comprehensive test coverage with pytest

🎯 Why ClipStack?

  • Fast: Built with performance in mind using optimized search algorithms
  • Reliable: Robust error handling and data persistence
  • Extensible: Modular architecture for easy customization
  • Beautiful: Rich terminal output that makes your terminal look professional
  • Cross-platform: Works seamlessly across all major operating systems

🚀 Quick Start

Installation

# Install from PyPI (recommended)
pip install clipstack

# Or install from source
git clone https://github.com/yourusername/clipstack.git
cd clipstack
pip install -e .

Basic Usage

# Save current clipboard content
clipstack add

# View your clipboard history
clipstack list

# Search for specific content
clipstack search "python code"

# Restore the last copied item
clipstack pop

# Restore a specific item by index
clipstack restore 5

# Clear your history
clipstack clear

📖 Full Command Reference

Command Description Example
add Save current clipboard content clipstack add
list Display clipboard history clipstack list
peek Show last copied item clipstack peek
pop Restore last item to clipboard clipstack pop
restore <index> Restore specific item clipstack restore 3
search <query> Fuzzy search history clipstack search "api key"
clear Clear entire history clipstack clear
export <file> Export to JSON/CSV clipstack export backup.json
import <file> Import from JSON/CSV clipstack import backup.json
tui Interactive terminal UI clipstack tui

🎨 Screenshots

Main Interface

📋 ClipStack - Your Clipboard History

┌─ Index ── Timestamp ──────────────── Preview ──────────────────────────────┐
│   0    │ 2024-01-15 14:30:22 │ import requests; response = requests.get(url) │
│   1    │ 2024-01-15 14:25:15 │ https://api.github.com/users/username      │
│   2    │ 2024-01-15 14:20:08 │ git commit -m "feat: add new feature"      │
│   3    │ 2024-01-15 14:15:42 │ docker run -it ubuntu:latest               │
└─────────────────────────────────────────────────────────────────────────────┘

Search Results

🔍 Search Results for "python"

┌─ Index ── Timestamp ──────────────── Preview ──────────────────────────────┐
│   0    │ 2024-01-15 14:30:22 │ import requests; response = requests.get(url) │
│   5    │ 2024-01-15 13:45:10 │ def hello_world(): print("Hello, Python!")   │
└─────────────────────────────────────────────────────────────────────────────┘

🛠️ Configuration

ClipStack stores its configuration and history in:

  • History: ~/.clipstack.json
  • Config: ~/.clipstack/config.toml

Customization Options

# ~/.clipstack/config.toml
[storage]
max_history = 200
storage_type = "json"  # or "sqlite" (future)

[display]
max_preview_length = 80
show_timestamps = true
color_scheme = "auto"

[clipboard]
auto_track = true
track_interval = 1.0

🧪 Development

Setting up the development environment

# Clone the repository
git clone https://github.com/yourusername/clipstack.git
cd clipstack

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Install in development mode
pip install -e .

# Run tests
pytest

# Run linting
black .
flake8 .

Project Structure

clipstack/
├── clipstack/           # Main package
│   ├── __init__.py
│   ├── cli.py          # CLI interface
│   ├── clipboard.py    # Clipboard operations
│   ├── storage.py      # Data persistence
│   ├── search.py       # Search functionality
│   └── tui.py          # Terminal UI
├── tests/              # Test suite
├── docs/               # Documentation
├── requirements.txt     # Production dependencies
├── requirements-dev.txt # Development dependencies
├── setup.py            # Package configuration
├── pyproject.toml      # Modern Python packaging
└── README.md           # This file

🤝 Contributing

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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guidelines
  • Write tests for new functionality
  • Update documentation as needed
  • Use conventional commit messages

Areas for Contribution

  • 🚀 Performance improvements
  • 🎨 UI/UX enhancements
  • 🔧 Additional storage backends
  • 📱 Mobile/desktop integrations
  • 🌍 Internationalization
  • 📊 Analytics and insights

📄 License

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

🙏 Acknowledgments

📊 Project Status

  • ✅ Core functionality - Complete
  • ✅ Cross-platform support - Complete
  • ✅ Testing - Complete
  • ✅ Documentation - Complete
  • 🔄 Performance optimization - Ongoing
  • 🔄 Additional features - In development

🌟 Star History

Star History Chart


Made with ❤️ by the ClipStack community

If you find this project useful, please consider giving it a ⭐️ star on GitHub!

Metadata

Release files for clipstack 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clipstack 0.1.0
File Size Uploaded
clipstack-0.1.0.tar.gz 26.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clipstack 0.1.0
File Interpreter ABI Platform
clipstack-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.2 kB

Release files / clipstack-0.1.0.tar.gz

Download URL clipstack-0.1.0.tar.gz
Size 26.0 kB
Tags Source
SHA-256 checksum
How to use checksums
111422436d4375278b01d6768b886d44bbf82efe1dc21084cb26a68a77145945
BLAKE2b-256 checksum
How to use checksums
264a97b515e2baeb4474ac89b496df37bfd56d1fd6b668eea968fc6a2bc39855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / clipstack-0.1.0-py3-none-any.whl

Download URL clipstack-0.1.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
074cc87288762db5ae42f96accbd0fe28a83f544b8b02ad292eb9324ce9ee1ed
BLAKE2b-256 checksum
How to use checksums
7c9f2d7a535395b619b3a448a9e1979105b13e35a0c243840aeaaf4830c1e669
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page