Skip to main content

Python based URL shortening service

Project description

chr (coded under the name chru) is a Python based URL shortening service which uses Flask as a front end, and pysqlw as the SQL backend, to interface with sqlite3.

It can shrink billions of unique URLs with less than 6 characters, run in the background with no human interaction, and it can fly like a bird – or is that Super Man?


  • Can shorten several billion (yes!) unique urls to a less than 6 character slug.
  • Verifies the shrunk URLs are legitimate, to stop abuse.
  • Uses reCAPTCHA to stop spammers from using the service for evil, not good.
  • Slugs are the base62 representation of their ID, so they’ll work in all browsers.
  • A live chr instance is located at


To install all of these: pip -r requirements.txt install (if installing from source)


  • It’s highly recommended by the chr developers that if you’re putting this in a production environment (read: any computer with a public IP) that you look at the various Flask deployment options, such as putting it behind nginx, lighttpd, or something.
  • It’s also recommended that you get your server (nginx, lighttpd, or hell, even Apache) serve out the static folder, rather than letting Flask do it.
  • This will take a while to get fully featured, but we have a lot planned.
  • jqPlot comes bundled with chr, which is alright as it’s MIT licensed.


Visit the docs page, and click Usage for information on how to run chr.



Project details

Download files

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

Files for chr, version 2.1.1
Filename, size File type Python version Upload date Hashes
Filename, size chr-2.1.1.tar.gz (86.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page