Metadata-Version: 2.4
Name: pyazo_cli
Version: 0.5.1
Author-email: Jelena Dokic <jrubics@hacke.rs>, TheEdgeOfRage <git@theedgeofrage.com>
License-Expression: BSD-3-Clause
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click~=8.4.1
Requires-Dist: pyclip~=0.7.0
Requires-Dist: requests~=2.34.2
Dynamic: license-file

# Pyazo

Pyazo is a self-hosted screenshot and image upload utility. It allows you to take a screenshot of a part of your screen and automatically upload it to your own server. You can also directly upload an image from your computer.

It is comprised of a cross-platform client written in Python which defers the actual taking of the screenshot to the built-in OS tools (macOS and Windows) or common utilities (Linux distributions). The server is written as a RESTful FastAPI app with support for basic user accounts and image sharing options.

## Compatibility

- Python >= 3.10 (check with `python --version`)

The following OSes have off-the-shelf compatibility. You can add more back ends for missing systems or configurations.

- Linux - `hyprshot`, `spectacle`, `maim`, `scrot`, `grimshot`, `import` (ImageMagick)
- macOS

## Requirements

- [Python 3](https://www.python.org/downloads/)
- [click](https://pypi.org/project/click/)
- [pyclip](https://pypi.org/project/pyclip/)
- [requests](https://pypi.org/project/requests/)

## Configuration

Create an external config file. Pyazo extends the default config with the provided values. The following table contain all options and the location of the user config file.

### Client

- Example Config: `config.ini.sample`
- Placement Path: `~/.config/pyazo/config.ini` (`~` refers to the user home directory)

| Key        | Default                                | Description                                                               |
| ---------- | -------------------------------------- | ------------------------------------------------------------------------- |
| url        | https://example.com                    | API endpoint to send the image file in a POST request                     |
| token      | ' '                                    | JWT token (https://github.com/pyazo-screenshot/api/blob/master/README.md) |
| util       | maim                                   | Built-in tool or common utility for taking a screenshot                   |
| output_dir | `$(xdg-user-dir PICTURES)`/screenshots | Place to store the image after taking a screenshot                        |
