Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Simple pastebin on top of bottle.

Project Description


Pasttle is based upon, born out of the necessity to:

  • Have a lightweight pastebin software
  • Not depend on Google AE
  • Paste via CLI

Also, I wanted to play more with

Pasttle is split in server and client, it depends on what you are trying to use to run one or the other.

  • Server: Runs on python and needs a database (defaults to using SQLite) to store all the data. You want this if you are setting your own private pasttle instance
  • Client: Entirely written in bash. These are just thin wrappers around curl, you can use this to post to a pasttle server

Installing/Upgrading pasttle-server


If you are upgrading pasttle-server, you’d do well in reading CHANGELOG.rst first so you make sure the version you are upgrading has any additional steps.

Pasttle is part of PyPI, you can just:

pip install pasttle

… and it should pull all the necessary components. Whether you want to install it in a virtual environment (which I recommend) or system-wide is totally up to you.

If you instead want to try from source code (i.e. by cloning the git repo) then I suggest you execute:

python install

… and be done with it. Again, if you do this in a virtual environment or not is up to you.

In either case, if you want to add any other database drivers on top of the shipped SQLite driver, you need to install it separately depending on what method you used to install pasttle to begin with.

Running the server

Once you have it installed you need a database and (optionally) a different WSGI runner (bottle, which pasttle runs on top of, runs on wsgiref by default) but can run on Paste, tornado, CherryPy, and several others.

Also, since pasttle uses SQLAlchemy as the backend, you have your pick of any database that SQLAlchemy supports: SQLite (the default), MySQL and Postgres being the most famous.

Once you have your database all setup, you just need to create a pasttle.ini (like the one in the repo) and change the values to whatever matches your environment.

After that:

Should start the server. If you want to use a different config file, just set the environment variable PASTTLECONF to the file you want to read before starting the server, like this:

export PASTTLECONF=/etc/pasttle/mypasttle.ini
# optionally, specify a different config section, e.g. [development]
export PASTTLECONF=/etc/pasttle/mypasttle.ini:development

Alternatively, an uWSGI configuration is provided in the .ini file. Here is a script to run the server with virtualenv option:


if [ -n "$VIRTUAL_ENV" ]; then

exec uwsgi pasttle.ini --plugin python $OPT

Available configuration options

debug: <true/false> [default=true]
bind: <address> [default=localhost]
port: <port> [default=9669]
title: <title>
wsgi: <wsgi server to use> [default=wsgiref]
pool_recycle: <db connection age> [default=3600]
recent_items: <number to show on main page> [default=20]
pygments_style: <coloration theme> [default=tango]


See documentation of sqlalchemy.create_engine for details
WSGI server to use, look at bottle.server_names for the list
import bottle
['cgi', 'gunicorn', 'cherrypy', 'eventlet', 'tornado', 'geventSocketIO', 'rocket', 'diesel', 'twisted', 'wsgiref', 'fapws3', 'bjoern', 'gevent', 'meinheld', 'auto', 'flup', 'gae', 'paste', 'waitress']

Running the client

Running the client just requires 2 steps:

  • Source pasttle.bashrc
  • Run pasttle -h or gettle -h to check usage

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(14.3 kB) Copy SHA256 Hash SHA256
Source None Oct 24, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers