Clipboard utilities for use with Python.
Project description
Description
Package for accessing the clipboard with Python.
Installation
pip install clip-util
Features
Windows Only
Allows you to set text, RTF, and HTML to the clipboard on Windows. Any other format can also be specified using the format type integer, specified by Windows.
Supported Clipboard Formats
- Text
- HTML
- RTF
Usage
Clipboard
Will open and close every time the values are set, or retrieved. It's better to use a context manager.
from clipboard import Clipboard
clipboard = Clipboard()
# Set Clipboard
clipboard["text"] = "Hello World!"
# OR
clipboard.set_clipboard("Hello World!")
# Get Clipboard
text = clipboard["text"]
# OR
text = clipboard.get_clipboard("text")
# Supports HTML
clipboard["html"] = "<h1>Hello World</h1>"
Context Manager
from clipboard import Clipboard
with Clipboard() as clipboard:
# Set Clipboard
clipboard["text"] = "Hello World!"
# OR
clipboard.set_clipboard("Hello World!")
# Get Clipboard
text = clipboard["text"]
# OR
text = clipboard.get_clipboard("text")
# HTML
clipboard["html"] = "<h1>Hello World</h1>"
Clipboard Formats
You can use clip-util
to access the clipboard formats directly.
ClipboardFormat
: Enum for clipboard formats.
ClipboardFormat.CF_HTML
: Represents HTML format.
ClipboardFormat.CF_RTF
: Represents RTF format.
from clipboard import Clipboard
from clipboard import ClipboardFormat
from clipboard import get_format_name
with Clipboard() as clipboard:
# Get All Available Formats
format_ids: list[int] = clipboard.available_formats()
# Get Specific Format by ID
# Use parentheses to access the format by ID
formats: list[ClipboardFormat] = []
format_id: int
for format_id in format_ids:
if format_id in ClipboardFormat:
format: ClipboardFormat = ClipboardFormat(format_id)
formats.append(format)
else:
# Format is not supported directly by this library
pass
# Get Specified Format by Name (directly)
format_names: list[str] = []
format_id: int
for format_id in format_ids:
name: str = get_format_name(format_id)
format_names.append(name)
# Get Specified Format by Name (using enum)
# Use bracket notation to access the format
#
# Note: this method is not as robust as using `get_format_name`
formats: list[ClipboardFormat] = []
format_names: list[str] = []
format_name: str
for format_name in [f.name for f in formats]:
if format_name in ClipboardFormat:
format: ClipboardFormat = ClipboardFormat[format_name]
name: str = format.name
formats.append(format)
format_names.append(name)
else:
# Format is not supported directly by this library
pass
Get All Supported Formats
You can even get the content of all available formats currently in the clipboard.
from clipboard import get_available_formats
from clipboard import get_format_name
from clipboard import get_clipboard
available: list[int] = get_available_formats()
print(f"{available=}")
for format_id in available:
name: str = get_format_name(format_id)
content: str = get_clipboard(format_id)
print(f"{format_id=}", f"{name=}, {content=}")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for clip_util-0.1.26-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b80b345e3bb909aea8d2a792881446051d95f80d74eef3a184c1cdefbe6d85f3 |
|
MD5 | 1cc1a50a8b9556df92c40c97d7715047 |
|
BLAKE2b-256 | aa2674a69a4a10697ffcc83367a465685734139f57dd1c6288135310a908c2ad |