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.
To start running sceance, install the project and enable the Google calendar API.
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.
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.
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.
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.
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.
No contribution guidelines yet.