Skip to main content

Generate a static HTML website from your twitter time line

Project description

What is it?

It’ a tool that makes sure your TL won’t be gone for ever if for some reason twitter decides to no longer play nice.

In a way, it also makes it possible to:

  • edit your tweets
  • have them longer than 140 characters

Show me!

Here’s an example of static_tl in action:

How to use it ?

  • Install Python3 and then install static_tl with pip

  • Create an app on

  • Edit ~/.config/static_tl.toml to have something like:

    api_key = "<Consumer Key>"
    api_secret = "<Consumer Secret>"
    token = "<Acces Token>"
    token_secret = "<Acess Token Secret>"
    with_replies = false
    with_replies = true
  • Then run:

    static-tl get

This will generate some files with your recent tweets in a json folder.

For instance, if your run it on 2016 October 10, you’ll get two files:

  • json/<user>/2016-09.json (all the tweets from September)

  • json/<user>/2016-10.json (all the tweets from October so far)

  • Next time you’ll run static-tl get, we will look at the most recent status ID in the most recent .json file and only fetch new tweets. This means you can edit or even delete the tweets that are older than that :)

  • Then, when you are ready you can generate a completely static copy of your TL with:

    static-tl gen

(By static, we mean that it’s possible to upload those html files wherever you want so it’s extremely easy to publish your new TL on the web)

Tweaking the output

Customization can be done by simply editing the Jinja templates in static_tl/templates.

From the template you have access to all the fields returned by the official twitter API.

Also, any file not ending with .html in the templates folder will be copied directly to the html folder: useful for images, css files and the like.

Perform backup only

If you do not want to generate HTML files for a given user, use:


publish = false


Since version 0.4, static_tl gen also generates a tweets.sqlite file containing one table per user.

We use the FTS4 extension.

A search application is available in the sources : static_tl/, using the flask framework.

This will only work if site_url is set, and if the flask server can be reached at <site_url>/search

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 static_tl, version 0.5.3
Filename, size File type Python version Upload date Hashes
Filename, size static_tl-0.5.3-py3-none-any.whl (19.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size static_tl-0.5.3.tar.gz (11.1 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