harvis
Deploy the current folder to harvis.dev with one command. No account, no config.
pip install harvis
harvis
or without installing (with uv):
uvx harvis
Output:
Uploading 3 files (12.4 KB)...
Live site: https://happy-panda-482.harvis.dev/
Claim link: https://harvis.dev/claim/xxxxxxxx-...
The claim link is private and single-use: open it and sign in to
manage the site. Run `harvis claim` to open it in your browser.
Commands
| Command | What it does |
|---|---|
harvis |
Deploy the current folder (updates the linked site, or creates one) |
harvis deploy [dir] |
Deploy a specific folder |
harvis link <subdomain> |
Link the current folder to an existing site |
harvis claim |
Open the last deploy's claim link in your browser |
harvis open |
Open the last deploy's live site in your browser |
Options
--name <name>— set the site name (defaults to the page<title>)--new— create a fresh site even if the folder is already linked to one--token <token>— deploy token forharvis link(or setHARVIS_DEPLOY_TOKEN)--claim— open the claim link in your browser right after deploying
Updating a site
The first deploy creates a site and saves its deploy token to .harvis.json. Every later deploy from the same folder sends that token and updates the same site — before and after you claim it. Claiming attaches the site to your account; the token keeps working, and you can view or regenerate it in the dashboard.
To deploy an existing site from another machine or CI, link the folder first:
harvis link happy-panda-482 --token <token-from-dashboard>
harvis
To start over with a fresh URL, run harvis --new.
Notes
- Uploads are zipped when the folder compresses well (HTML/CSS/JS shrink ~60-70%); folders that are mostly already-compressed media (images, video, fonts) upload as raw multipart instead. A progress bar is shown on interactive terminals.
- Limits: 500 files, 50 MB per site. Hidden files and folders (anything starting with
., like.envor.git),node_modules, and OS junk files are skipped automatically. - Unclaimed sites expire 24 hours after the last deploy. Claim a site to keep it online permanently. If a linked site has expired, the next deploy tells you and creates a new one.
.harvis.jsoncontains the deploy token and claim link — keep it private. The CLI adds it to.gitignoreautomatically when one exists.- The claim link is single-use and can't be recovered. If you want to keep the site, claim it before it expires.
Development
This package is managed with uv:
cd python
uv sync
uv run harvis --help
uv build
About
This CLI is the open-source companion to harvis.dev. Deploys are anonymous by default; opening the claim link and signing in attaches the site to your account so you can manage it from the dashboard.
License
MIT
Metadata
Release files for harvis 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| harvis-0.0.4.tar.gz | 7.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| harvis-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.7 kB
Release files / harvis-0.0.4.tar.gz
| Download URL | harvis-0.0.4.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2a7199f77845c73eeffbe94c8d745e190a9b8c8c1a99428c93210d242a7be31
|
|
BLAKE2b-256 checksum How to use checksums |
327568b47ceb35b925470bc6de50ba9cfca57d1d2b95f19b78a459a1cbe5eefd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / harvis-0.0.4-py3-none-any.whl
| Download URL | harvis-0.0.4-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9948b3bc8c3150bdcf8ab7bb9756d8d1134fd55b2286942309bfd1bd2ed9af9c
|
|
BLAKE2b-256 checksum How to use checksums |
e40ac683e135764ec6472896b92ef6c7abfa0eecebf5bacf7b88a7408f34519b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|