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.0.tar.gz (15.0 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.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file shortiepy-0.2.0.tar.gz.

File metadata

  • Download URL: shortiepy-0.2.0.tar.gz
  • Upload date:
  • Size: 15.0 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.0.tar.gz
Algorithm Hash digest
SHA256 be4848649da03079c7b2a57a2818e1e3b8c74610445297e65a632774cecfd1bf
MD5 32c183e5405d4a8037431e69aecf1ee9
BLAKE2b-256 dd15ab7544d8fe801ef3f094de35daa384324cfd21a942c90fa26ae10797da74

See more details on using hashes here.

Provenance

The following attestation bundles were made for shortiepy-0.2.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: shortiepy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c7d3659e3cfd9d45cd1df652b7a590f8fb6ae5399a11b42084bbc8110d1a47d8
MD5 0b2bb0ecba31613095b236625b448bfe
BLAKE2b-256 d8e036ed38a2b532e808ee05fca5a0e042bbb9df3d20bee6d1c6aa2f19894ef6

See more details on using hashes here.

Provenance

The following attestation bundles were made for shortiepy-0.2.0-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