letterboxd-stats


Nameletterboxd-stats JSON
Version 0.2.14 PyPI version JSON
download
home_pageNone
SummaryGet information about your Letterboxd activity.
upload_time2024-08-27 09:27:15
maintainerNone
docs_urlNone
authormBaratta96
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Letterboxd Stats

![](./example.gif)

Get information about your Letterboxd activity.

Search for actors/directors, analyze your diary/watchlist/rating, check which film you have seen for a particular person. All in your terminal.

## Requirements

-   Python >= 3.8
-   A [TMDb API key](https://www.themoviedb.org/documentation/api): to retrieve all the general information for movies/people
-   A Letterboxd account: to export your Letterboxd activity through web-scraping.

## Installation

Just run:

```shell
pip3 install letterboxd_stats
```

## Configuration

It is required to create a `config.toml`. You can create it in the default config folder (for example, `.config/letterboxd_stats` in Linux) or specify your custom folder with the `-c` command. For each platform, default config folder follows the structure of the [platformdirs](https://github.com/platformdirs/platformdirs) package.

```toml
# Where you want the .csv file of your Letterboxd activity to be saved.
root_folder = "~/Documents/letterboxd_stats/"

[CLI]
# The size of the ASCII art poster printed in your terminal when you check the details of a movie.
# Set to 0 to disable
poster_columns = 180
# Set ascending order for sorting of tables
ascending = false

[TMDB]
api_key = "YOUR_TMDB_API_KEY"
# When you get your lists (-L options), also get all the runtimes from TMDB
# and compute the mean of the ratings weigthed on the durations. This slows the process.
get_list_runtimes = false


[Letterboxd]
username = "your-username"
password = "your-password"
```

## Options

```shell
options:
  -h, --help            show this help message and exit
  -s SEARCH, --search SEARCH
                        Search for a director
  -S SEARCH_FILM, --search-film SEARCH_FILM
                        Search for a film.
  -d, --download        Download letterboxd data from your account
  -W, --watchlist       show watchlist
  -D, --diary           show diary
  -R, --ratings         show ratings
  -L, --lists           show lists
  -l LIMIT, --limit LIMIT
                        limit the number of items of your wishlist/diary
  -c CONFIG_FOLDER, --config_folder CONFIG_FOLDER
                        Specifiy the folder of your config.toml file

```

## To do

_Note: this is something I do during my free time. Therefore, I can't promise consistent support for this project._

-   [x] Use web-scraping to add film to diary/wishlist

-   [ ] Check followers' activity.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "letterboxd-stats",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "mBaratta96",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/4c/53/5ad4e97bc77a71ff2ca18121887b360f28059a771ba59d148a815ab73d53/letterboxd_stats-0.2.14.tar.gz",
    "platform": null,
    "description": "# Letterboxd Stats\n\n![](./example.gif)\n\nGet information about your Letterboxd activity.\n\nSearch for actors/directors, analyze your diary/watchlist/rating, check which film you have seen for a particular person. All in your terminal.\n\n## Requirements\n\n-   Python >= 3.8\n-   A [TMDb API key](https://www.themoviedb.org/documentation/api): to retrieve all the general information for movies/people\n-   A Letterboxd account: to export your Letterboxd activity through web-scraping.\n\n## Installation\n\nJust run:\n\n```shell\npip3 install letterboxd_stats\n```\n\n## Configuration\n\nIt is required to create a `config.toml`. You can create it in the default config folder (for example, `.config/letterboxd_stats` in Linux) or specify your custom folder with the `-c` command. For each platform, default config folder follows the structure of the [platformdirs](https://github.com/platformdirs/platformdirs) package.\n\n```toml\n# Where you want the .csv file of your Letterboxd activity to be saved.\nroot_folder = \"~/Documents/letterboxd_stats/\"\n\n[CLI]\n# The size of the ASCII art poster printed in your terminal when you check the details of a movie.\n# Set to 0 to disable\nposter_columns = 180\n# Set ascending order for sorting of tables\nascending = false\n\n[TMDB]\napi_key = \"YOUR_TMDB_API_KEY\"\n# When you get your lists (-L options), also get all the runtimes from TMDB\n# and compute the mean of the ratings weigthed on the durations. This slows the process.\nget_list_runtimes = false\n\n\n[Letterboxd]\nusername = \"your-username\"\npassword = \"your-password\"\n```\n\n## Options\n\n```shell\noptions:\n  -h, --help            show this help message and exit\n  -s SEARCH, --search SEARCH\n                        Search for a director\n  -S SEARCH_FILM, --search-film SEARCH_FILM\n                        Search for a film.\n  -d, --download        Download letterboxd data from your account\n  -W, --watchlist       show watchlist\n  -D, --diary           show diary\n  -R, --ratings         show ratings\n  -L, --lists           show lists\n  -l LIMIT, --limit LIMIT\n                        limit the number of items of your wishlist/diary\n  -c CONFIG_FOLDER, --config_folder CONFIG_FOLDER\n                        Specifiy the folder of your config.toml file\n\n```\n\n## To do\n\n_Note: this is something I do during my free time. Therefore, I can't promise consistent support for this project._\n\n-   [x] Use web-scraping to add film to diary/wishlist\n\n-   [ ] Check followers' activity.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Get information about your Letterboxd activity.",
    "version": "0.2.14",
    "project_urls": {
        "Bug Tracker": "https://github.com/mBaratta96/letterboxd_stats/issues",
        "Homepage": "https://github.com/mBaratta96/letterboxd_stats"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d18f10aecde86f5b704ed6674965d010e86ddeb33b022b65cf0e6155625c5c3",
                "md5": "fd7da40f46188ef25b237aa810396282",
                "sha256": "0d2283f69272e4532e30f0e9f3133db53413512e08b993880dce96ee14e7597f"
            },
            "downloads": -1,
            "filename": "letterboxd_stats-0.2.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fd7da40f46188ef25b237aa810396282",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 13932,
            "upload_time": "2024-08-27T09:27:12",
            "upload_time_iso_8601": "2024-08-27T09:27:12.866882Z",
            "url": "https://files.pythonhosted.org/packages/8d/18/f10aecde86f5b704ed6674965d010e86ddeb33b022b65cf0e6155625c5c3/letterboxd_stats-0.2.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c535ad4e97bc77a71ff2ca18121887b360f28059a771ba59d148a815ab73d53",
                "md5": "d9f9a2ccdc35331ee3a98977f6d317ca",
                "sha256": "7a0c6ab5d09236daccf35633d207a5a3168ef76f5c0b5b8e03b765edff29a542"
            },
            "downloads": -1,
            "filename": "letterboxd_stats-0.2.14.tar.gz",
            "has_sig": false,
            "md5_digest": "d9f9a2ccdc35331ee3a98977f6d317ca",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 12903,
            "upload_time": "2024-08-27T09:27:15",
            "upload_time_iso_8601": "2024-08-27T09:27:15.164459Z",
            "url": "https://files.pythonhosted.org/packages/4c/53/5ad4e97bc77a71ff2ca18121887b360f28059a771ba59d148a815ab73d53/letterboxd_stats-0.2.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-27 09:27:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mBaratta96",
    "github_project": "letterboxd_stats",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "letterboxd-stats"
}
        
Elapsed time: 0.60395s