Metadata-Version: 2.1
Name: uclip
Version: 0.1.4
Summary: Command Line Utility to upload clipboard images to B2 buckets
Home-page: https://github.com/ionite34/uclip
License: MIT
Keywords: upload,image,b2,clipboard
Author: ionite34
Author-email: dev@ionite.io
Requires-Python: >=3.7.2,<3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Topic :: System :: Networking
Classifier: Topic :: Utilities
Requires-Dist: Pillow (>=9.1.1,<10.0.0)
Requires-Dist: b2sdk (>=1.18.0,<2.0.0)
Requires-Dist: backports.cached-property (>=1.0.2,<2.0.0); python_version < "3.8"
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: inquirerpy (>=0.3.4,<0.4.0)
Requires-Dist: keyring (>=23.9.3,<24.0.0)
Requires-Dist: pyperclip (>=1.8.2,<2.0.0)
Requires-Dist: rich (>=12.6.0,<13.0.0)
Requires-Dist: typing-extensions (>=4.4.0,<5.0.0)
Requires-Dist: yaspin (>=2.2.0,<3.0.0)
Project-URL: Repository, https://github.com/ionite34/uclip
Description-Content-Type: text/markdown

## UClip - Clipboard image uploader

[![Build](https://github.com/ionite34/uclip/actions/workflows/build.yml/badge.svg)](https://github.com/ionite34/uclip/actions/workflows/build.yml)
[![codecov](https://codecov.io/gh/ionite34/uclip/branch/main/graph/badge.svg?token=58XSRH3F26)](https://codecov.io/gh/ionite34/uclip)

![PyPI - Python Version](https://img.shields.io/pypi/pyversions/uclip)
[![PyPI version](https://badge.fury.io/py/uclip.svg)](https://pypi.org/project/uclip/)

### Upload clipboard images to [B2 buckets][4]

![](docs/demo.gif)

> After upload, the displayed URL is also copied to the clipboard.

### Install via pip or [pipx](https://github.com/pypa/pipx)
```shell
pipx install uclip
```

### Usage
#### 1. Upload clipboard image
```shell
> uclip
✅ https://img.example.org/screens/9felsH.jpg
```
#### 2. `-f` or `--file`: Upload file from path
```shell
> uclip -f /Documents/dog.webp
? Generate random file name? Otherwise use name from path. Yes
✅ https://cdn.ionite.io/img/ik8tZg.webp
```

#### 3. `-d` or `--delete`: Delete named file from bucket
```shell
> uclip -d 9felsH.jpg
🗑️ Deleted 9felsH.jpg
```

### Run `--config` to set up your B2 API Keys and URL
```shell
> uclip --config
? B2 Application ID: 0013770e41044120000000001
? B2 Application Key: **********************
? B2 Bucket Name: bucket-name
? B2 Upload Path in Bucket: /screenshots/
? Alternate URL: https://img.example.org/
? File Name Length: 6
```

### The OS Keychain Service is used for secure API credential storage
> The keychain can be set to always allow, or via biometric authentication by Touch ID or Windows Hello.

| Windows                | MacOS         | Ubuntu LTS 20.04    |
|------------------------|---------------|---------------------|
| [Credential locker][1] | [Keychain][2] | [Secret Service][3] |

[1]: https://docs.microsoft.com/en-us/windows/uwp/security/credential-locker
[2]: https://developer.apple.com/documentation/security/certificate_key_and_trust_services/keys/storing_keys_in_the_keychain
[3]: https://specifications.freedesktop.org/secret-service/latest/
[4]: https://www.backblaze.com/b2/cloud-storage.html

