Skip to main content

Cross-platform screenshot tool with region select and annotation (arrows, shapes, brush).

Project description

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:

pip install python-cap

From source:

pip install -r requirements.txt

Run

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 and create an API token (scope: entire account or project-specific).

  2. Install build tools (one-time):

    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):

    rm -rf dist build *.egg-info
    python -m build
    
  5. Upload:

    twine upload dist/*
    

    When prompted:

    • Username: __token__
    • Password: your PyPI API token

    Or use env vars (no prompt):

    export TWINE_USERNAME=__token__
    export TWINE_PASSWORD=pypi-YourTokenHere
    twine upload dist/*
    
  6. Test install (optional):

    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.

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

python_cap-0.1.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

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

python_cap-0.1.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file python_cap-0.1.1.tar.gz.

File metadata

  • Download URL: python_cap-0.1.1.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for python_cap-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3fe86994f1c68b267f4b87fe8a4135f69422d49ad1011a5b9c7c376ed4441785
MD5 03ddb989c94a02e74b0d4b06ac322a2f
BLAKE2b-256 2641336eb3b8b6e378cf5b982aa88ba13a65affd773ccfff3bed4eed930fec15

See more details on using hashes here.

File details

Details for the file python_cap-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: python_cap-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for python_cap-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b7eed98888192a3bcca42655a41ef67b4b6a3c1302d2aa2f1728f14b55f11714
MD5 5256448cefd17eab9ee8ad6a81f2b12b
BLAKE2b-256 db4b7862757b3bd21efca31fc0a20111ec871787b42fdaba548c92649e2ccfe7

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