Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zackees/pyjpgclipboard
Cross platform clipboard for handling copy/paste jpg in python
https://github.com/zackees/pyjpgclipboard
Last synced: about 1 month ago
JSON representation
Cross platform clipboard for handling copy/paste jpg in python
- Host: GitHub
- URL: https://github.com/zackees/pyjpgclipboard
- Owner: zackees
- License: mit
- Created: 2022-04-27T18:05:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-01T18:12:31.000Z (about 1 year ago)
- Last Synced: 2024-08-08T22:34:58.459Z (5 months ago)
- Language: Python
- Size: 78.1 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pyjpgclipboard
## Platform Unit Tests
[![Actions Status](https://github.com/zackees/pyjpgclipboard/workflows/MacOS_Tests/badge.svg)](https://github.com/zackees/pyjpgclipboard/actions/workflows/test_macos.yml)
[![Actions Status](https://github.com/zackees/pyjpgclipboard/workflows/Win_Tests/badge.svg)](https://github.com/zackees/pyjpgclipboard/actions/workflows/test_win.yml)
[![Actions Status](https://github.com/zackees/pyjpgclipboard/workflows/Ubuntu_Tests/badge.svg)](https://github.com/zackees/pyjpgclipboard/actions/workflows/test_ubuntu.yml)## Brief
Cross platform clipboard for handling copy/paste jpg in python
This libray is meant to do only one thing and one thing well: copy jpg's to and from the
system clipboard.## Install
```
python -m pip install pyjpgclipboard
```### Ubuntu/Linux
The ubuntu lib uses `xclip`
```
sudo apt-get install xclip
```If you are running in a headless display you'll need a dummy x-server running to use xclip. Please install it using this:
```
export DISPLAY=:0
sudo Xvfb -ac :0 -screen 0 1280x1024x24 > /dev/null 2>&1 &
```## Api
```
from pyjpgclipboard import clipboard_dump_jpg, clipboard_load_jpgclipboard_load_jpg("myfile.jpg") # Clipboard now has jpg image
clipboard_dump_jpg("myfile2.jpg) # Clipboard image contents dumped to disk.
```## Testing
Make sure that `tox` is installed on your system and run it at the root directory of this project.
## Will pyjpgclipboard support more features?
Probably not. Unless it's *really* important.
We only support jpg images (and not any other formats or text) because manipulating the system
clipboard across different platforms is *hard*. As of the creation of this repo there really
isn't any library that allows users to copy / paste jpegs. There are a lot of libraries that
allow cross platform posting of text and binary data. So this library is intended to fill in that
gap. Libraries like `pyclip` should, in the future, use `pyjpgclipboard` to handle the missing jpg
clipboard manipulation.## What motivatated this library?
Selenium webdriver tests has a missing feature of taking an image and pasting it through it's
api.This is a problem if you are running a selenium test and you need to be able to test pasting
an image as part of your test suite (hence the motivation to create this library).## Footguns
There is only one system clipboard. So running this library in different threads/processes will
result in collisions. It's up to the application running this library to provide any necessary
locking mechanism.## Versions
* 1.0.3: Ubuntu implemented and tested to work on headless display
* 1.0.2: Now installs on linux. Before it would error. But not all codepaths that include this library will actually use it.
* 1.0.1: Bug fix
* 1.0.0: Release.