![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
A robust, dependency-free way to use the system clipboard in Python.
copykitten
supports Python >= 3.8.
You can install copykitten
from PyPI using pip
or any other Python package manager.
pip install copykitten
To copy or paste text content, use copykitten.copy
and copykitten.paste
functions.
import copykitten
copykitten.copy("The kitten says meow")
import copykitten
text = copykitten.paste()
To copy or paste images, use copykitten.copy_image
and copykitten.paste_image
functions.
Working with images is a bit complex, so read further.
import copykitten
from PIL import Image
image = Image.open("image.png")
pixels = image.tobytes()
copykitten.copy_image(pixels, image.width, image.height)
import copykitten
from PIL import Image
pixels, width, height = copykitten.paste_image()
image = Image.frombytes(mode="RGBA", size=(width, height), data=pixels)
image.save("image.png")
To copy an image to the clipboard, you have to pass three arguments - pixel data, width, and height.
Pixel data must be a bytes
object containing the raw RGBA value for each pixel. You can easily get it using an imaging
library like Pillow.
If your image is not of RGBA type (like a typical JPEG, which is RGB), you first have to convert it to RGBA, otherwise
copy_image
will raise an exception.
When pasting an image from the clipboard you will receive a 3-tuple of (pixels, width, height). Pixels here are the same
RGBA bytes
object. Please note that it is not guaranteed that any image copied to the clipboard by another program
will be successfully pasted with copykitten
.
You can read more about the data format and the
implications of working with images in
the arboard
documentation.
To clear the clipboard, use copykitten.clear
function.
import copykitten
copykitten.clear()
At the time of writing, there are very few Python packages that handle the clipboard. Most of them are simply no longer maintained (including the most popular solution around the web, pyperclip).
They all depend on external command-line tools like xclip/pbcopy or libraries like PyQt/GTK. You have to make sure these dependencies are installed on the target machine, otherwise they won’t work.
There are some solutions using the Tkinter library, which comes with the standard Python suite. However, these solutions are fragile and may leave your app unresponsive.
Copykitten is a lightweight wrapper around the Rust arboard library. It comes with pre-built wheels for Linux (x64, ARM64), macOS (x64, ARM64), and Windows (x64), so you don't have to worry about anything.
You can’t even imagine, how many Python packages devoted to the clipboard management there are on PyPI! Most of them are abandoned for a decade, and all the neat obvious names (and even some rather creative ones) are already taken. So I had no choice, but to invent this tongue-in-cheek name. Also, my wife approved it.
FAQs
A robust, dependency-free way to use the system clipboard in Python.
We found that copykitten demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.