A local-only URL shortener (˶˘ ³˘)♡
Project description
shortiepy 🌸
Your local URL shortener (˶˘ ³˘)♡
- 🔒 100% offline - no data leaves your machine
- 🌈 Cross-platform (Linux/macOS/Windows)
- 📋 Auto-copies short URLs to clipboard
- 🎀 Pastel colors & kaomojis everywhere!
Installation
- Using
pip
pip install shortiepy
Usage
- Add a URL
shortiepy add https://example.com
- Start server
shortiepy serve # will run in forground
# OR
shortiepy start # will run in background
- View docs
shortiepy docs
Shell Completion
Get tab-completion with one command:
shortiepy completion
Restart your shell or reload config (
source ~/.bashrcfor bash ORsource ~/.zshrcfor zsh). Fish users: no restart needed!
That's it! Works for bash, zsh, and fish.
Why
For some reason, when I’m working on things or trying to learn something new, my browser ends up filled with tons of tabs—which makes my laptop-chan angry ~ ₍^. ̫.^₎
I don’t want to close them or bookmark them. I tried manually copying URLs into a .txt file, but then I wished there was a simple way to turn long links into short ones I could use later.
I didn’t want to send anything online, and existing self-hosted URL shorteners felt like overkill for such a small need.
So I made this: a minimal, local-only URL shortener. It started as a single script file and isn’t perfect—but it just works! ~ ദ്ദി/ᐠ。‸。ᐟ\
For Developers
Want to tinker with shortiepy or contribute? Here's how to set it up locally:
- Clone the repository locally and change the directory into it:
git clone https://github.com/CheapNightbot/shortiepy.git && cd shortiepy
- Install
shortiepy:
# Create a virtual environment (keeps things clean!)
python -m venv .venv
# Activate it
source .venv/bin/activate # Linux/macOS
# OR
.venv\Scripts\activate # Windows
# Install in editable mode (changes reflect instantly!)
pip install -e .
Now you can run shortiepy from anywhere in your terminal!
Made a change? It’ll work immediately—no reinstall needed!
Updating Shell Completions
If you modify CLI commands or options, regenerate completions:
./scripts/generate-completions.sh
This updates the files in
shortiepy/completions/directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shortiepy-0.2.2.tar.gz.
File metadata
- Download URL: shortiepy-0.2.2.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2327e27949db041307495296eaf7792015b22f634229b6431ebff7aa896122e
|
|
| MD5 |
2094ea4bea38d7512c24d6f5dcb880e7
|
|
| BLAKE2b-256 |
ad17f43f10a0c2b9ba929432da33d663f5d169daf80b40c6fdd66634510f4b7e
|
Provenance
The following attestation bundles were made for shortiepy-0.2.2.tar.gz:
Publisher:
release.yml on CheapNightbot/shortiepy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shortiepy-0.2.2.tar.gz -
Subject digest:
b2327e27949db041307495296eaf7792015b22f634229b6431ebff7aa896122e - Sigstore transparency entry: 829847859
- Sigstore integration time:
-
Permalink:
CheapNightbot/shortiepy@66a0727440a38a193587ccfca143dea85ac24fd0 -
Branch / Tag:
refs/tags/0.2.2 - Owner: https://github.com/CheapNightbot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@66a0727440a38a193587ccfca143dea85ac24fd0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file shortiepy-0.2.2-py3-none-any.whl.
File metadata
- Download URL: shortiepy-0.2.2-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3a1897153653165be9efe2be08842849a5c418e692e98c29b394a5f39d8f8a4
|
|
| MD5 |
45c64efade7ba5b52ba66d5f517457ec
|
|
| BLAKE2b-256 |
ac769a4e0432466cbf446fee90b2ab3a653c23673b8bb8a49dc38069e67a4ef7
|
Provenance
The following attestation bundles were made for shortiepy-0.2.2-py3-none-any.whl:
Publisher:
release.yml on CheapNightbot/shortiepy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shortiepy-0.2.2-py3-none-any.whl -
Subject digest:
f3a1897153653165be9efe2be08842849a5c418e692e98c29b394a5f39d8f8a4 - Sigstore transparency entry: 829847871
- Sigstore integration time:
-
Permalink:
CheapNightbot/shortiepy@66a0727440a38a193587ccfca143dea85ac24fd0 -
Branch / Tag:
refs/tags/0.2.2 - Owner: https://github.com/CheapNightbot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@66a0727440a38a193587ccfca143dea85ac24fd0 -
Trigger Event:
push
-
Statement type: