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 pipx [Recommended]

Follow instructions to install pipx here: pipx.pypa.io/stable/installation and after installing pipx in your system, install shortiepy:

pipx install shortiepy
  • 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.4.tar.gz (15.3 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.4-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shortiepy-0.2.4.tar.gz
  • Upload date:
  • Size: 15.3 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.4.tar.gz
Algorithm Hash digest
SHA256 93895ae0fbaac9b3650abb386c857e7174f40ae0566be08643ad270cd5f4de6e
MD5 71a015af0a4d980fd6aca88780e0f15c
BLAKE2b-256 55acddb2a1938886ac323dc96bf566e09ac3e47ffe3c5dea3eb35261d9467d3d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: shortiepy-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 12.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f654bc8d538e5d1fc89e25a1e4d6c6e6c05d031858f2a657612a9a6d0903c74f
MD5 d2f4d869601c90a62d315e459befa652
BLAKE2b-256 bc1e1255f14eb296f8745a3b33360fc5f56126291d3a915b26f3c752b2d56c1e

See more details on using hashes here.

Provenance

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