/sceance

Sceance is an application for moviegoers. If you provide it with a list of your favorite cinemas and your movie watchlist, it suggests showtimes, which, if approved are automatically turned into google calendar events

Primary LanguagePythonMIT LicenseMIT

sceance logo

Sceance is an application for moviegoers. If you provide it with a list of your favorite cinemas and your movie watchlist, it suggests showtimes, letting you watch your favorite movies in theaters.

It was designed with Paris, a city full of small and independent cinemas, in mind.

Installation

To start running sceance, install the project and enable the Google calendar API.

Dependencies

Most dependencies are optional:

  • A Google Account: for sceance to create and suggest events to your calendar.

  • Firefox or Chrome: to run the selenium headless browser to find film showings.

  • A Letterboxd account: sceance currently provides a way of downloading your watchlist from letterboxd provided you store your letterboxd credentials in a .envrc file. This is done with the update_watchlist.py file. Otherwise you can manually create a watchlist as a list of newline seperated film titles. Some default watchlists are also available based on the criterion collection and the oscarn winning films.

Download the app

You can install sceance with pip.

pip install sceance

To run sceance, simply call:

sceance

To get information on parameters run:

sceance -h

At this point, sceance can suggest films, which, if approved are automatically added to your google calendar.

Customize theaters.txt

By default, the theaters file is based on a set of my favorite Parisian movie theaters. If you live somewhere else (or want to add your own set of favorite theaters), you can create your own theaters file in the data/theaters subfolder of the sceance package. Currently, the only options are Paris, San Francisco, and New York. If you create a good list of theaters for your city, feel free to make a pull request! You can use the -c --set-theater flag to change your default theaters file.

Customize watchlist.txt

By default, the watchlist.txt contains every film from the criterion collection. However, you can create a personal watchlist or pick from some of the defaults. You can set a watchilst using the -s --set-watchlist flag.

If you have a letterboxd account, sceance provides a way to automatically download your watchlist. To do this, use the update_watchlist.py file (you will need to store your letterboxd credentials in environment variables).

Make sure your watchlist is in English (which is currently the only language that sceance supports). If you want to run sceance without providing a watchlist, you can use the -a flag, but this might provide you with a lot of movies.

You can find the default watchlist files in the data/watchlists subfolder of the sceance package.

How sceance works

Sceance uses selenium to gather showtime information for every theater in your theater.txt file, from Google. These films are then intersected with your watchlist. Details on the resulting films and their showtimes are then filtered out based on 9am-5pm monday-friday work hours (both workdays and hours are customizable).

For all the films that remain, you are prompted with a list of showtimes and can select one showtime per film.

This showtime is then automatically added to your calendar using the google calendar api.

Contribution Guidelines

No contribution guidelines yet.