Metadata-Version: 2.4
Name: reocities-cli
Version: 2.0.0
Summary: Command line interface for managing your Reocities site
Home-page: https://github.com/reocities/cli
Author: Reocities
Author-email: Reocities <support@reocities.xyz>
License: MIT
Project-URL: Homepage, https://reocities.xyz
Project-URL: Repository, https://github.com/reocities/cli
Project-URL: Documentation, https://reocities.xyz/cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25.0
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Reocities CLI

Manage your [Reocities](https://reocities.xyz) site from the command line — push a
whole folder, upload or delete single files, pull your site back down, and more.

## Install

```bash
pip install reocities-cli
```

This installs a `reocities` command. Works on Linux, macOS, and Windows
(Python 3.6+).

## Getting started

Grab an API key from your site's configuration page, then:

```bash
reocities login YOUR_API_KEY
reocities push ./my-site
```

Instead of `login` you can pass credentials per-command or via the environment:

```bash
export REOCITIES_API_KEY=...
reocities --api-key YOUR_API_KEY list
```

## Commands

| Command | What it does |
|---------|--------------|
| `login <api-key>` | Save your API key to `~/.reocities/config` |
| `logout` | Forget the saved key |
| `push [dir]` | Upload a whole directory (honors `.gitignore` / `.reocitiesignore`) |
| `upload <files...> [--folder F]` | Upload individual files |
| `pull [dir] [--folder F]` | Download your site to a local folder |
| `list [--folder F] [--recursive]` | List files on your site |
| `cat <path>` | Print a remote file to stdout |
| `mkdir <name> [--parent P]` | Create a folder |
| `delete <paths...>` | Delete files or folders |
| `whoami` | Show the active site and storage use |
| `open` | Open your site in a browser |
| `version` | Print the version |

### Useful flags

- `push --dry-run` — show what would upload without sending anything.
- `push --no-overwrite` / `upload --no-overwrite` — skip files that already exist.
- `--base-url https://example.com` — point at a self-hosted instance.

## Ignoring files

`push` skips anything matched by `.gitignore` or `.reocitiesignore` in the
directory you're uploading, and always skips `.git/`.

## License

MIT
