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.0.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.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_cap-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 2068744dc4a7bf92e248f0948b6dd1bf684fe46e8c2b8bae9ce5c871e0fd9fa9
MD5 5618e86be170bdeb49db5a08c9618169
BLAKE2b-256 ca15f57d91680e4ffbc51d9a255411426f0d4e569c4608f783943d066aa117f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: python_cap-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44371d9d23f75a80ab7e120b2b0dd3b0740a70fe97dd18b918d735511cfe7d97
MD5 2ac3ba9d2854120964902e6c1576ff02
BLAKE2b-256 89358a86717378efa4aa8d2193584df8a52f776ec311a7f2f4bd1ab92b43356c

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