Metadata-Version: 2.4
Name: python-cap
Version: 0.1.1
Summary: Cross-platform screenshot tool with region select and annotation (arrows, shapes, brush).
Author: Peter
License-Expression: Apache-2.0
Keywords: screenshot,screencap,annotation,cross-platform,tkinter
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: X11 Applications
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
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: Topic :: Multimedia :: Graphics :: Capture
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mss>=9.0.0
Requires-Dist: pynput>=1.7.6
Requires-Dist: Pillow>=10.0.0
Dynamic: license-file

# Screencap – Cross-platform screenshot + annotate

Capture the screen with **Ctrl+Cmd+3** (Mac) or **Ctrl+Alt+3** (Windows/Linux), then annotate with colors and shapes. **Ctrl+S** saves to Desktop; **Ctrl+C** exits.

## Requirements

- Python 3.7+
- macOS, Ubuntu (or most Linux), or Windows

## Install

From PyPI:

```bash
pip install python-cap
```

From source:

```bash
pip install -r requirements.txt
```

## Run

```bash
python_cap
```

Or from source: `python python_cap.py`

Leave the terminal open. Press **Ctrl+Cmd+3** (Mac) or **Ctrl+Alt+3** (Windows/Linux) to take a full-screen capture. The annotation window opens with:

- **6 colors** – red, blue, green, black, yellow, purple
- **Arrow** – draw an arrow (drag from start to end)
- **Rect** – rectangle
- **Circle** – circle/oval
- **Brush** – freehand drawing

- **Ctrl+S** (or **Cmd+S** on Mac) – save the annotated image to your Desktop as PNG.
- Click **Done** to close the annotation window. The app keeps running; use the hotkey again to capture another screen.
- **Ctrl+C** in the terminal stops the program.

## Permissions

- **macOS**: Allow the terminal (or Python) in **System Settings → Privacy & Security → Accessibility** so the global hotkey works.
- **Linux**: Some setups need accessibility or input-monitor permissions for global hotkeys.
- **Windows**: No extra steps usually needed.

## Publishing to PyPI

1. **Account & token**  
   Create an account at [pypi.org](https://pypi.org) and create an [API token](https://pypi.org/manage/account/token/) (scope: entire account or project-specific).

2. **Install build tools** (one-time):
   ```bash
   pip install build twine
   ```

3. **Bump version** (optional)  
   Edit `version` in `pyproject.toml` (e.g. `0.1.1`) before each release.

4. **Build** (from project root):
   ```bash
   rm -rf dist build *.egg-info
   python -m build
   ```

5. **Upload**:
   ```bash
   twine upload dist/*
   ```
   When prompted:
   - Username: `__token__`
   - Password: your PyPI API token  

   Or use env vars (no prompt):
   ```bash
   export TWINE_USERNAME=__token__
   export TWINE_PASSWORD=pypi-YourTokenHere
   twine upload dist/*
   ```

6. **Test install** (optional):
   ```bash
   pip install python-cap --force-reinstall
   python-cap
   ```

If the name `python-cap` is taken on PyPI, change `name` in `pyproject.toml` to a unique name, then rebuild and upload again.
