Skip to main content

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 ~/.bashrc for bash OR source ~/.zshrc for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shortiepy-0.2.2.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shortiepy-0.2.2-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

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

Hashes for shortiepy-0.2.2.tar.gz
Algorithm Hash digest
SHA256 b2327e27949db041307495296eaf7792015b22f634229b6431ebff7aa896122e
MD5 2094ea4bea38d7512c24d6f5dcb880e7
BLAKE2b-256 ad17f43f10a0c2b9ba929432da33d663f5d169daf80b40c6fdd66634510f4b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shortiepy-0.2.2.tar.gz:

Publisher: release.yml on CheapNightbot/shortiepy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for shortiepy-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f3a1897153653165be9efe2be08842849a5c418e692e98c29b394a5f39d8f8a4
MD5 45c64efade7ba5b52ba66d5f517457ec
BLAKE2b-256 ac769a4e0432466cbf446fee90b2ab3a653c23673b8bb8a49dc38069e67a4ef7

See more details on using hashes here.

Provenance

The following attestation bundles were made for shortiepy-0.2.2-py3-none-any.whl:

Publisher: release.yml on CheapNightbot/shortiepy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page