Skip to main content

Cross-platform clipboard utilities supporting both binary and text data.

Project description

PyClip

Cross-platform clipboard utilities supporting both binary and text data.

Docs Build Coverage PyPI Version Python Versions Download Stats

Some key features include:

  • A cross-platform API (supports MacOS, Windows, Linux)
  • Can handle arbitrary binary data
  • On Windows, some additional clipboard formats are supported

Installation

Requires python 3.7+

pip install pyclip

Usage

pyclip can be used in Python code

import pyclip

pyclip.copy("hello clipboard") # copy data to the clipboard
cb_data = pyclip.paste() # retrieve clipboard contents 
print(cb_data)  # b'hello clipboard'
cb_text = pyclip.paste(text=True)  # paste as text
print(cb_text)  # 'hello clipboard'

pyclip.clear() # clears the clipboard contents
assert not pyclip.paste()

Or a CLI

# paste clipboard contents to stdout
python -m pyclip paste

# load contents to the clipboard from stdin
python -m pyclip copy < myfile.text
# same as above, but pipe from another command
some-program | python -m pyclip copy

Installing via pip also provides the console script pyclip:

pyclip copy < my_file.txt

This library implements functionality for several platforms and clipboard utilities.

  • MacOS
  • Windows
  • Linux on x11 (with xclip)
  • Linux on wayland (with wl-clipboard)

If there is a platform or utility not currently listed, please request it by creating an issue.

Platform specific notes/issues

Windows

  • On Windows, the pywin32 package is installed as a requirement.
  • On Windows, additional clipboard formats are supported, including copying from a file (like if you right-click copy from File Explorer)

MacOS

MacOS has support for multiple backends. By default, the pasteboard package is used.

pbcopy/pbpaste can also be used as a backend, but does not support arbitrary binary data, which may lead to data being lost on copy/paste. This backend may be removed in a future release.

Linux

Linux on X11 requires xclip to work. Install with your package manager, e.g. sudo apt install xclip Linux on Wayland requires wl-clipboard to work. Install with your package manager, e.g. sudo apt install wl-clipboard

Acknowledgements

Big thanks to Howard Mao for donating the PyClip project name on PyPI to this project.

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

pyclip-0.7.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

pyclip-0.7.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file pyclip-0.7.0.tar.gz.

File metadata

  • Download URL: pyclip-0.7.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for pyclip-0.7.0.tar.gz
Algorithm Hash digest
SHA256 57602047a4ceab709bdcd42f3dde6449a3349b95c16154cfdce27376a2072491
MD5 6f03fc99b9885686b8868798e027fd8e
BLAKE2b-256 658a98ed02d81dea4b2211a4746724d7a271264b701c991fed503c246de52864

See more details on using hashes here.

File details

Details for the file pyclip-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: pyclip-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for pyclip-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7b7ea2cfad2dd61e86a529af588d006070d3eb0bd32981afaee5215f4604fec
MD5 608a174777858ef9dd737b040745ccd1
BLAKE2b-256 7d4f4b02e2c232ddf694bca0baea3049b886eeb80ee3d89c415067f5191596c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page