Phylm#

Actions Status Actions Status codecov PyPI version

Film data aggregation with async support.

Motivation#

When deciding which film to watch next, it can be helpful to have some key datapoints at your fingertips, for example, the genre, the cast, the Metacritic score and, perhaps most importantly, the runtime. This package provides a Phylm class to gather information from various sources for a given film.

Installation#

pip install phylm

Usage#

>>> from phylm import Phylm
>>> p = Phylm("The Matrix")
>>> await p.load_sources(["imdb", "mtc"])
>>> p.imdb.year
1999
>>> p.imdb.rating
8.7
>>> p.mtc.rating
73

phylm also provides some tools around movie search results and more:

>>> from phylm.tools import search_movies, get_streaming_providers
>>> search_movies("the matrix")
[{
  'title': 'The Matrix',
  'kind': 'movie',
  'year': 1999,
  'cover_photo': 'https://some-url.com',
  'imdb_id': '0133093',
}, {
  'title': 'The Matrix Reloaded',
  'kind': 'movie',
  'year': 2003,
  'cover_photo': 'https://some-url.com',
  'imdb_id': '0234215',
}, {
...
>>> get_streaming_providers("0234215", regions=["gb"])
{
  'gb': {
    'rent': [{
      'display_priority': 8,
      'logo_path': '/pZgeSWpfvD59x6sY6stT5c6uc2h.jpg',
      'provider_id': 130,
      'provider_name': 'Sky Store',
    }],
    'flatrate': [{
      'display_priority': 8,
      'logo_path': '/ik9djlxNlex6sY6Kjsundc2h.jpg',
      'provider_id': 87,
      'provider_name': 'Netflix',
    }]
  }, {
  ...
}

Help#

See the documentation for more details.

Licence#

MIT

Warning

This package uses web scraping for the Rotten Tomatoes and Metacritic results and is therefore at the mercy of changes made to those webpages. Use at your own risk.