Skip to main content

Python 3 wrapper for the Letterboxd API

Project description

https://semaphoreci.com/api/v1/bobtiki/letterboxd/branches/master/badge.svg https://travis-ci.org/bobtiki/letterboxd.svg?branch=master https://readthedocs.org/projects/letterboxd/badge/?version=latest

Letterboxd

Python 3 implementation of the Letterboxd API v0.

Python ≥3.6 is required.

Warning

THIS PROJECT IS CURRENTLY IN ALPHA:

  • It may be broken.
  • What is working now may break between now and v1.0
  • Initial focus is on implementing endpoints related to retrieving watchlists and other lists for users.

Letterboxd API Access

Letterboxd has posted an example Ruby client, but as they say in the readme there:

Although the Letterboxd API isn’t public yet (as at 2017-06-12), we have seeded some developers with API keys.

If you need more information about API access, please see https://letterboxd.com/api-coming-soon/.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased]

[0.3.0] - 2018-07-22

ADDED

  • Issue and pull request templates
  • Code of Conduct
  • Coverage for Letterboxd API endpoints
    • /auth/forgotten-password-request
    • /auth/username-check
    • /list/{id}
    • /list/{id} [PATCH]
    • /list/{id} [DELETE]
    • /list/{id}/comments
    • /list/{id}/comments [POST]
    • /list/{id}/entries
    • /list/{id}/me
    • /list/{id}/me [PATCH]
    • /list/{id}/report [POST]
    • /list/{id}/statistics
    • /lists
    • /lists [POST]
    • /me [PATCH]
  • A TON more pytest unit tests, and made existing ones more comprehensive

CHANGED

  • Internally refactored API object definitions into their own file, for pytest
  • Internally changed some variable names to better reflect Letterboxd API nomenclature (I don’t think this affects any method arguments.)

FIXED

  • Removed mutable default arguments on several methods

[0.2.6] - 2018-07-04

CHANGED

  • Getting the Travis CI integration with PyPI to work properly.

[0.2.5] - 2018-07-04 [YANKED]

[0.2.4] - 2018-07-04

CHANGED

  • Getting bumpversion to work properly.

[0.2.3] - 2018-07-04 [YANKED]

[0.2.2] - 2018-07-04 [YANKED]

[0.2.1] - 2018-07-04 [YANKED]

[0.2.0] - 2018-07-04

Added

  • This CHANGELOG.rst
  • Converted README.md to .rst
  • Documentation written with reStructuredText and Sphinx, being built to Read the Docs
  • Added a number of defaults and tests as provided in cookiecutter-pypackage
  • Added an easy initializer with import letterboxd and then letterboxd.new()
  • User.refresh_token() to refresh the user authentication oAuth token
  • Coverage for Letterboxd API endpoints:
    • /film/{id}/members
    • /film/{id}/report
    • /film/{id}/statistics
    • /films
    • /films/film-services
    • /films/genres
    • /film-collection/{id}
    • /search

Changed

  • All api-calling methods now return the dictionary from the response JSON, instead of the entire requests.Response.

[0.1.0] - 2018-06-24

Added

  • First public version! Version 0.1.0a tagged on GitHub, and posted to PyPI.
  • letterboxd, api, user, auth, member, and film modules.
  • coverage for Letterboxd API endpoints:
    • film
    • /film/{id}
    • /film/{id}/availability — this data is first-party only
    • /film/{id}/me
    • /me
    • /member/{id}/watchlist

Changelog format

  • Each version should:
    • List its release date in ISO 8601 format (YYYY-MM-DD).
    • Group changes to describe their impact on the project, as follows:
      • Added for new features.
      • Changed for changes in existing functionality.
      • Deprecated for once-stable features removed in upcoming releases.
      • Removed for deprecated features removed in this release.
      • Fixed for any bug fixes.
      • Security to invite users to upgrade in case of vulnerabilities.
    • Take a look at this checklist for packaging a new version, and this one

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 letterboxd, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size letterboxd-0.3.0-py2.py3-none-any.whl (16.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size letterboxd-0.3.0.tar.gz (28.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page