diff --git a/config.yaml b/config.yaml index ac36d4b..fb37c8a 100644 --- a/config.yaml +++ b/config.yaml @@ -23,9 +23,15 @@ servers: # - name: Starlette + Graphql Core v3 # path: servers/starlette-graphql-core/ -# - name: Starlette Plain JSON +# - name: Starlette Plain JSON # path: servers/starlette-plain-json/ +- name: SQLAlchemy + Strawberry + path: servers/fastapi-sqlalchemy/ + +- name: SQLAlchemy + FastAPI REST + path: servers/fastapi-sqlalchemy/ + queries: - name: Top 250 rated movies runner: queries/top-movies.js @@ -34,3 +40,5 @@ queries: runner: queries/top-movies-rest.js - name: Django Plain JSON runner: queries/top-movies-rest.js + - name: SQLAlchemy + FastAPI REST + runner: queries/top-movies-rest.js diff --git a/servers/fastapi-sqlalchemy/Dockerfile b/servers/fastapi-sqlalchemy/Dockerfile new file mode 100644 index 0000000..5dc624a --- /dev/null +++ b/servers/fastapi-sqlalchemy/Dockerfile @@ -0,0 +1,18 @@ +FROM python:3.9 + +ENV POETRY_VERSION=1.1.8 \ + # make poetry install to this location + POETRY_HOME="/opt/poetry" \ + # make poetry create the virtual environment in the project's root + # it gets named `.venv` + POETRY_VIRTUALENVS_IN_PROJECT=true \ + # do not ask any interactive question + POETRY_NO_INTERACTION=1 + +RUN python -m pip install poetry + +COPY pyproject.toml poetry.lock ./ +RUN poetry install --no-dev +COPY ./ ./ + +CMD poetry run uvicorn app:app --host 0.0.0.0 --port 8000 --workers 1 diff --git a/servers/fastapi-sqlalchemy/alembic.ini b/servers/fastapi-sqlalchemy/alembic.ini new file mode 100644 index 0000000..2a07e6a --- /dev/null +++ b/servers/fastapi-sqlalchemy/alembic.ini @@ -0,0 +1,99 @@ +# A generic, single database configuration. + +[alembic] +# path to migration scripts +script_location = alembic + +# template used to generate migration files +# file_template = %%(rev)s_%%(slug)s + +# sys.path path, will be prepended to sys.path if present. +# defaults to the current working directory. +prepend_sys_path = . + +# timezone to use when rendering the date within the migration file +# as well as the filename. +# If specified, requires the python-dateutil library that can be +# installed by adding `alembic[tz]` to the pip requirements +# string value is passed to dateutil.tz.gettz() +# leave blank for localtime +# timezone = + +# max length of characters to apply to the +# "slug" field +# truncate_slug_length = 40 + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + +# set to 'true' to allow .pyc and .pyo files without +# a source .py file to be detected as revisions in the +# versions/ directory +# sourceless = false + +# version location specification; This defaults +# to alembic/versions. When using multiple version +# directories, initial revisions must be specified with --version-path. +# The path separator used here should be the separator specified by "version_path_separator" +# version_locations = %(here)s/bar:%(here)s/bat:alembic/versions + +# version path separator; As mentioned above, this is the character used to split +# version_locations. Valid values are: +# +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # default: use os.pathsep + +# the output encoding used when revision files +# are written from script.py.mako +# output_encoding = utf-8 + +sqlalchemy.url = sqlite+aiosqlite:///db.sqlite3 + +[post_write_hooks] +# post_write_hooks defines scripts or Python functions that are run +# on newly generated revision scripts. See the documentation for further +# detail and examples + +# format using "black" - use the console_scripts runner, against the "black" entrypoint +# hooks = black +# black.type = console_scripts +# black.entrypoint = black +# black.options = -l 79 REVISION_SCRIPT_FILENAME + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/servers/fastapi-sqlalchemy/alembic/README b/servers/fastapi-sqlalchemy/alembic/README new file mode 100644 index 0000000..e0d0858 --- /dev/null +++ b/servers/fastapi-sqlalchemy/alembic/README @@ -0,0 +1 @@ +Generic single-database configuration with an async dbapi. \ No newline at end of file diff --git a/servers/fastapi-sqlalchemy/alembic/env.py b/servers/fastapi-sqlalchemy/alembic/env.py new file mode 100644 index 0000000..5f414ff --- /dev/null +++ b/servers/fastapi-sqlalchemy/alembic/env.py @@ -0,0 +1,84 @@ +import asyncio +from logging.config import fileConfig + +from sqlalchemy import engine_from_config +from sqlalchemy import pool +from sqlalchemy.ext.asyncio import AsyncEngine + +from alembic import context + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. + +from db.base import Base + +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) + +import db.models +target_metadata = Base.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, + target_metadata=target_metadata, + literal_binds=True, + dialect_opts={"paramstyle": "named"}, + ) + + with context.begin_transaction(): + context.run_migrations() + + +def do_run_migrations(connection): + context.configure(connection=connection, target_metadata=target_metadata) + + with context.begin_transaction(): + context.run_migrations() + + +async def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + connectable = AsyncEngine( + engine_from_config( + config.get_section(config.config_ini_section), + prefix="sqlalchemy.", + poolclass=pool.NullPool, + future=True, + ) + ) + + async with connectable.connect() as connection: + await connection.run_sync(do_run_migrations) + + +if context.is_offline_mode(): + run_migrations_offline() +else: + asyncio.run(run_migrations_online()) diff --git a/servers/fastapi-sqlalchemy/alembic/script.py.mako b/servers/fastapi-sqlalchemy/alembic/script.py.mako new file mode 100644 index 0000000..2c01563 --- /dev/null +++ b/servers/fastapi-sqlalchemy/alembic/script.py.mako @@ -0,0 +1,24 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} +branch_labels = ${repr(branch_labels)} +depends_on = ${repr(depends_on)} + + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/servers/fastapi-sqlalchemy/alembic/versions/fc48e8664a90_.py b/servers/fastapi-sqlalchemy/alembic/versions/fc48e8664a90_.py new file mode 100644 index 0000000..5f6feb2 --- /dev/null +++ b/servers/fastapi-sqlalchemy/alembic/versions/fc48e8664a90_.py @@ -0,0 +1,45 @@ +"""empty message + +Revision ID: fc48e8664a90 +Revises: +Create Date: 2021-10-12 22:25:33.933017 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'fc48e8664a90' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('directors', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('name', sa.String(length=40), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('movies', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('imdb_id', sa.String(length=40), nullable=False), + sa.Column('title', sa.String(length=120), nullable=False), + sa.Column('year', sa.Integer(), nullable=False), + sa.Column('image_url', sa.String(length=255), nullable=False), + sa.Column('imdb_rating', sa.Float(), nullable=False), + sa.Column('imdb_rating_count', sa.String(length=40), nullable=False), + sa.Column('director_id', sa.Integer(), nullable=False), + sa.ForeignKeyConstraint(['director_id'], ['directors.id'], ), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('movies') + op.drop_table('directors') + # ### end Alembic commands ### diff --git a/servers/fastapi-sqlalchemy/app.py b/servers/fastapi-sqlalchemy/app.py new file mode 100644 index 0000000..7a36925 --- /dev/null +++ b/servers/fastapi-sqlalchemy/app.py @@ -0,0 +1,9 @@ +from fastapi import FastAPI + +from gql.app import graphql_app +from rest.router import api_router + +app = FastAPI() + +app.mount("/graphql", graphql_app) +app.include_router(api_router) diff --git a/servers/fastapi-sqlalchemy/db.sqlite3 b/servers/fastapi-sqlalchemy/db.sqlite3 new file mode 100644 index 0000000..0f7ef20 Binary files /dev/null and b/servers/fastapi-sqlalchemy/db.sqlite3 differ diff --git a/servers/fastapi-sqlalchemy/db/__init__.py b/servers/fastapi-sqlalchemy/db/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/servers/fastapi-sqlalchemy/db/base.py b/servers/fastapi-sqlalchemy/db/base.py new file mode 100644 index 0000000..8e138dc --- /dev/null +++ b/servers/fastapi-sqlalchemy/db/base.py @@ -0,0 +1,16 @@ +from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession +from sqlalchemy.orm import sessionmaker, declarative_base +from sqlalchemy.util.concurrency import asynccontextmanager + +engine = create_async_engine( + "sqlite+aiosqlite:///db.sqlite3", + future=True, +) +Base = declarative_base(bind=engine) +Session = sessionmaker(bind=engine, class_=AsyncSession) + + +@asynccontextmanager +async def get_session(): + async with Session() as session: + yield session diff --git a/servers/fastapi-sqlalchemy/db/models.py b/servers/fastapi-sqlalchemy/db/models.py new file mode 100644 index 0000000..2f65181 --- /dev/null +++ b/servers/fastapi-sqlalchemy/db/models.py @@ -0,0 +1,30 @@ +from sqlalchemy import Column, String, Integer, Float, ForeignKey +from sqlalchemy.orm import relationship + +from db.base import Base + + +class Director(Base): + __tablename__ = "directors" + id = Column(Integer(), primary_key=True) + + name = Column(String(40), nullable=False) + + +class Movie(Base): + __tablename__ = "movies" + id = Column(Integer(), primary_key=True) + + imdb_id = Column(String(40), nullable=False) + title = Column(String(120), nullable=False) + year = Column(Integer(), nullable=False) + image_url = Column(String(255), nullable=False) + imdb_rating = Column(Float(), nullable=False) + imdb_rating_count = Column(String(40), nullable=False) + + director_id = Column( + Integer(), + ForeignKey("directors.id"), + nullable=False, + ) + director = relationship(Director) diff --git a/servers/fastapi-sqlalchemy/db/queries.py b/servers/fastapi-sqlalchemy/db/queries.py new file mode 100644 index 0000000..b5d3b47 --- /dev/null +++ b/servers/fastapi-sqlalchemy/db/queries.py @@ -0,0 +1,11 @@ +from sqlalchemy import select +from db.models import Movie +from db.base import get_session +from sqlalchemy.orm import selectinload + + +async def get_all_movies(): + query = select(Movie).options(selectinload(Movie.director)) + async with get_session() as session: + movies = await session.scalars(query) + return movies.all() diff --git a/servers/fastapi-sqlalchemy/db/seed.py b/servers/fastapi-sqlalchemy/db/seed.py new file mode 100644 index 0000000..8563cf4 --- /dev/null +++ b/servers/fastapi-sqlalchemy/db/seed.py @@ -0,0 +1,32 @@ +import asyncio + +import json + +from db.base import get_session +from db.models import Director, Movie + + +async def main(): + with open("movies.json") as file: + data = json.load(file) + + directors = [] + for movie in data: + directors.append(Director(name=movie["director"]["name"])) + + async with get_session() as session: + for movie in data: + movie_model = Movie( + imdb_id=movie["imdb_id"], + imdb_rating=movie["imdb_rating"], + title=movie["title"], + year=movie["year"], + image_url=movie["image_url"], + imdb_rating_count=movie["imdb_rating_count"], + director=next(director for director in directors if director.name == movie["director"]["name"]) + ) + session.add(movie_model) + await session.commit() + +if __name__ == '__main__': + asyncio.run(main()) diff --git a/servers/fastapi-sqlalchemy/gql/__init__.py b/servers/fastapi-sqlalchemy/gql/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/servers/fastapi-sqlalchemy/gql/app.py b/servers/fastapi-sqlalchemy/gql/app.py new file mode 100644 index 0000000..b853ed0 --- /dev/null +++ b/servers/fastapi-sqlalchemy/gql/app.py @@ -0,0 +1,6 @@ +from strawberry import Schema +from strawberry.asgi import GraphQL + +from gql.schema import Root + +graphql_app = GraphQL(schema=Schema(Root)) diff --git a/servers/fastapi-sqlalchemy/gql/schema.py b/servers/fastapi-sqlalchemy/gql/schema.py new file mode 100644 index 0000000..55a08b2 --- /dev/null +++ b/servers/fastapi-sqlalchemy/gql/schema.py @@ -0,0 +1,35 @@ +from typing import List + +import strawberry +from sqlalchemy import select +from sqlalchemy.orm import selectinload, relationship + +from db import queries +from db.base import get_session +from db.models import Movie + + +@strawberry.type(name="Director") +class DirectorType: + id: int + name: str + + +@strawberry.type(name="Movie") +class MovieType: + id: int + imdb_id: str + title: str + year: int + image_url: str + imdb_rating: float + imdb_rating_count: str + + director: DirectorType + + +@strawberry.type +class Root: + @strawberry.field + async def top_250(self) -> List[MovieType]: + return await queries.get_all_movies() diff --git a/servers/fastapi-sqlalchemy/main.py b/servers/fastapi-sqlalchemy/main.py new file mode 100644 index 0000000..b7acd9a --- /dev/null +++ b/servers/fastapi-sqlalchemy/main.py @@ -0,0 +1,4 @@ +import uvicorn + +if __name__ == '__main__': + uvicorn.run("app:app", reload=True, workers=1) diff --git a/servers/fastapi-sqlalchemy/movies.json b/servers/fastapi-sqlalchemy/movies.json new file mode 100644 index 0000000..8432d22 --- /dev/null +++ b/servers/fastapi-sqlalchemy/movies.json @@ -0,0 +1,2752 @@ +[ + { + "imdb_id": "tt0111161", + "title": "The Shawshank Redemption", + "year": 1994, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDFkYTc0MGEtZmNhMC00ZDIzLWFmNTEtODM1ZmRlYWMwMWFmXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 9.2, + "imdb_rating_count": "2448418", + "director": { + "name": "Frank Darabont" + } + }, + { + "imdb_id": "tt0068646", + "title": "The Godfather", + "year": 1972, + "image_url": "https://m.media-amazon.com/images/M/MV5BM2MyNjYxNmUtYTAwNi00MTYxLWJmNWYtYzZlODY3ZTk3OTFlXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 9.1, + "imdb_rating_count": "1694881", + "director": { + "name": "Francis Ford Coppola" + } + }, + { + "imdb_id": "tt0071562", + "title": "The Godfather: Part II", + "year": 1974, + "image_url": "https://m.media-amazon.com/images/M/MV5BMWMwMGQzZTItY2JlNC00OWZiLWIyMDctNDk2ZDQ2YjRjMWQ0XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 9.0, + "imdb_rating_count": "1177303", + "director": { + "name": "Francis Ford Coppola" + } + }, + { + "imdb_id": "tt0468569", + "title": "The Dark Knight", + "year": 2008, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTMxNTMwODM0NF5BMl5BanBnXkFtZTcwODAyMTk2Mw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 9.0, + "imdb_rating_count": "2404138", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0050083", + "title": "12 Angry Men", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BMWU4N2FjNzYtNTVkNC00NzQ0LTg0MjAtYTJlMjFhNGUxZDFmXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.9, + "imdb_rating_count": "724663", + "director": { + "name": "Sidney Lumet" + } + }, + { + "imdb_id": "tt0108052", + "title": "Schindler's List", + "year": 1993, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDE4OTMxMTctNmRhYy00NWE2LTg3YzItYTk3M2UwOTU5Njg4XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.9, + "imdb_rating_count": "1259762", + "director": { + "name": "Steven Spielberg" + } + }, + { + "imdb_id": "tt0167260", + "title": "The Lord of the Rings: The Return of the King", + "year": 2003, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzA5ZDNlZWMtM2NhNS00NDJjLTk4NDItYTRmY2EwMWZlMTY3XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.9, + "imdb_rating_count": "1701229", + "director": { + "name": "Peter Jackson" + } + }, + { + "imdb_id": "tt0110912", + "title": "Pulp Fiction", + "year": 1994, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGNhMDIzZTUtNTBlZi00MTRlLWFjM2ItYzViMjE3YzI5MjljXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.8, + "imdb_rating_count": "1898056", + "director": { + "name": "Quentin Tarantino" + } + }, + { + "imdb_id": "tt0060196", + "title": "The Good, the Bad and the Ugly", + "year": 1966, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTQ5NDI3MTI4MF5BMl5BanBnXkFtZTgwNDQ4ODE5MDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.8, + "imdb_rating_count": "714151", + "director": { + "name": "Sergio Leone" + } + }, + { + "imdb_id": "tt0120737", + "title": "The Lord of the Rings: The Fellowship of the Ring", + "year": 2001, + "image_url": "https://m.media-amazon.com/images/M/MV5BN2EyZjM3NzUtNWUzMi00MTgxLWI0NTctMzY4M2VlOTdjZWRiXkEyXkFqcGdeQXVyNDUzOTQ5MjY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.8, + "imdb_rating_count": "1722390", + "director": { + "name": "Peter Jackson" + } + }, + { + "imdb_id": "tt0137523", + "title": "Fight Club", + "year": 1999, + "image_url": "https://m.media-amazon.com/images/M/MV5BMmEzNTkxYjQtZTc0MC00YTVjLTg5ZTEtZWMwOWVlYzY0NWIwXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.8, + "imdb_rating_count": "1929279", + "director": { + "name": "David Fincher" + } + }, + { + "imdb_id": "tt0109830", + "title": "Forrest Gump", + "year": 1994, + "image_url": "https://m.media-amazon.com/images/M/MV5BNWIwODRlZTUtY2U3ZS00Yzg1LWJhNzYtMmZiYmEyNmU1NjMzXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.7, + "imdb_rating_count": "1892567", + "director": { + "name": "Robert Zemeckis" + } + }, + { + "imdb_id": "tt1375666", + "title": "Inception", + "year": 2010, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjAxMzY3NjcxNF5BMl5BanBnXkFtZTcwNTI5OTM0Mw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.7, + "imdb_rating_count": "2156641", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0167261", + "title": "The Lord of the Rings: The Two Towers", + "year": 2002, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGMxZTdjZmYtMmE2Ni00ZTdkLWI5NTgtNjlmMjBiNzU2MmI5XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.7, + "imdb_rating_count": "1538076", + "director": { + "name": "Peter Jackson" + } + }, + { + "imdb_id": "tt0080684", + "title": "Star Wars: Episode V - The Empire Strikes Back", + "year": 1980, + "image_url": "https://m.media-amazon.com/images/M/MV5BYmU1NDRjNDgtMzhiMi00NjZmLTg5NGItZDNiZjU5NTU4OTE0XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.7, + "imdb_rating_count": "1199456", + "director": { + "name": "Irvin Kershner" + } + }, + { + "imdb_id": "tt0133093", + "title": "The Matrix", + "year": 1999, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzQzOTk3OTAtNDQ0Zi00ZTVkLWI0MTEtMDllZjNkYzNjNTc4L2ltYWdlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "1742748", + "director": { + "name": "Lana Wachowski" + } + }, + { + "imdb_id": "tt0099685", + "title": "Goodfellas", + "year": 1990, + "image_url": "https://m.media-amazon.com/images/M/MV5BY2NkZjEzMDgtN2RjYy00YzM1LWI4ZmQtMjIwYjFjNmI3ZGEwXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "1063456", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt0073486", + "title": "One Flew Over the Cuckoo's Nest", + "year": 1975, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjA0OWVhOTAtYWQxNi00YzNhLWI4ZjYtNjFjZTEyYjJlNDVlL2ltYWdlL2ltYWdlXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "949675", + "director": { + "name": "Milos Forman" + } + }, + { + "imdb_id": "tt0047478", + "title": "Seven Samurai", + "year": 1954, + "image_url": "https://m.media-amazon.com/images/M/MV5BOWE4ZDdhNmMtNzE5ZC00NzExLTlhNGMtY2ZhYjYzODEzODA1XkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "327307", + "director": { + "name": "Akira Kurosawa" + } + }, + { + "imdb_id": "tt0114369", + "title": "Se7en", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTUwODM5MTctZjczMi00OTk4LTg3NWUtNmVhMTAzNTNjYjcyXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "1507068", + "director": { + "name": "David Fincher" + } + }, + { + "imdb_id": "tt0102926", + "title": "The Silence of the Lambs", + "year": 1991, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjNhZTk0ZmEtNjJhMi00YzFlLWE1MmEtYzM1M2ZmMGMwMTU4XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "1324098", + "director": { + "name": "Jonathan Demme" + } + }, + { + "imdb_id": "tt0317248", + "title": "City of God", + "year": 2002, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTMwYjc5ZmItYTFjZC00ZGQ3LTlkNTMtMjZiNTZlMWQzNzI5XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "718875", + "director": { + "name": "Fernando Meirelles" + } + }, + { + "imdb_id": "tt0118799", + "title": "Life Is Beautiful", + "year": 1997, + "image_url": "https://m.media-amazon.com/images/M/MV5BYmJmM2Q4NmMtYThmNC00ZjRlLWEyZmItZTIwOTBlZDQ3NTQ1XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "648437", + "director": { + "name": "Roberto Benigni" + } + }, + { + "imdb_id": "tt0038650", + "title": "It's a Wonderful Life", + "year": 1946, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjc4NDZhZWMtNGEzYS00ZWU2LThlM2ItNTA0YzQ0OTExMTE2XkEyXkFqcGdeQXVyNjUwMzI2NzU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "420442", + "director": { + "name": "Frank Capra" + } + }, + { + "imdb_id": "tt0076759", + "title": "Star Wars: Episode IV - A New Hope", + "year": 1977, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzVlY2MwMjktM2E4OS00Y2Y3LWE3ZjctYzhkZGM3YzA1ZWM2XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.6, + "imdb_rating_count": "1271468", + "director": { + "name": "George Lucas" + } + }, + { + "imdb_id": "tt0120815", + "title": "Saving Private Ryan", + "year": 1998, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjhkMDM4MWItZTVjOC00ZDRhLThmYTAtM2I5NzBmNmNlMzI1XkEyXkFqcGdeQXVyNDYyMDk5MTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1285096", + "director": { + "name": "Steven Spielberg" + } + }, + { + "imdb_id": "tt0245429", + "title": "Spirited Away", + "year": 2001, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjlmZmI5MDctNDE2YS00YWE0LWE5ZWItZDBhYWQ0NTcxNWRhXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "688078", + "director": { + "name": "Hayao Miyazaki" + } + }, + { + "imdb_id": "tt0816692", + "title": "Interstellar", + "year": 2014, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjdkOTU3MDktN2IxOS00OGEyLWFmMjktY2FiMmZkNWIyODZiXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1601117", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0120689", + "title": "The Green Mile", + "year": 1999, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTUxMzQyNjA5MF5BMl5BanBnXkFtZTYwOTU2NTY3._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1196542", + "director": { + "name": "Frank Darabont" + } + }, + { + "imdb_id": "tt6751668", + "title": "Parasite", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BYWZjMjk3ZTItODQ2ZC00NTY5LWE0ZDYtZTI3MjcwN2Q5NTVkXkEyXkFqcGdeQXVyODk4OTc3MTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "648181", + "director": { + "name": "Bong Joon Ho" + } + }, + { + "imdb_id": "tt0110413", + "title": "L\u00e9on: The Professional", + "year": 1994, + "image_url": "https://m.media-amazon.com/images/M/MV5BODllNWE0MmEtYjUwZi00ZjY3LThmNmQtZjZlMjI2YTZjYmQ0XkEyXkFqcGdeQXVyNTc1NTQxODI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1075626", + "director": { + "name": "Luc Besson" + } + }, + { + "imdb_id": "tt0056058", + "title": "Hara-Kiri", + "year": 1962, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjBmYTQ1NjItZWU5MS00YjI0LTg2OTYtYmFkN2JkMmNiNWVkXkEyXkFqcGdeQXVyMTMxMTY0OTQ@._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "48131", + "director": { + "name": "Masaki Kobayashi" + } + }, + { + "imdb_id": "tt0253474", + "title": "The Pianist", + "year": 2002, + "image_url": "https://m.media-amazon.com/images/M/MV5BOWRiZDIxZjktMTA1NC00MDQ2LWEzMjUtMTliZmY3NjQ3ODJiXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "765419", + "director": { + "name": "Roman Polanski" + } + }, + { + "imdb_id": "tt0114814", + "title": "The Usual Suspects", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BYTViNjMyNmUtNDFkNC00ZDRlLThmMDUtZDU2YWE4NGI2ZjVmXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1024084", + "director": { + "name": "Bryan Singer" + } + }, + { + "imdb_id": "tt0103064", + "title": "Terminator 2: Judgment Day", + "year": 1991, + "image_url": "https://m.media-amazon.com/images/M/MV5BMGU2NzRmZjUtOGUxYS00ZjdjLWEwZWItY2NlM2JhNjkxNTFmXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1028992", + "director": { + "name": "James Cameron" + } + }, + { + "imdb_id": "tt0088763", + "title": "Back to the Future", + "year": 1985, + "image_url": "https://m.media-amazon.com/images/M/MV5BZmU0M2Y1OGUtZjIxNi00ZjBkLTg1MjgtOWIyNThiZWIwYjRiXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1106086", + "director": { + "name": "Robert Zemeckis" + } + }, + { + "imdb_id": "tt0054215", + "title": "Psycho", + "year": 1960, + "image_url": "https://m.media-amazon.com/images/M/MV5BNTQwNDM1YzItNDAxZC00NWY2LTk0M2UtNDIwNWI5OGUyNWUxXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "626989", + "director": { + "name": "Alfred Hitchcock" + } + }, + { + "imdb_id": "tt0027977", + "title": "Modern Times", + "year": 1936, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjJiZjMzYzktNjU0NS00OTkxLWEwYzItYzdhYWJjN2QzMTRlL2ltYWdlL2ltYWdlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "227302", + "director": { + "name": "Charles Chaplin" + } + }, + { + "imdb_id": "tt0110357", + "title": "The Lion King", + "year": 1994, + "image_url": "https://m.media-amazon.com/images/M/MV5BYTYxNGMyZTYtMjE3MS00MzNjLWFjNmYtMDk3N2FmM2JiM2M1XkEyXkFqcGdeQXVyNjY5NDU4NzI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "978400", + "director": { + "name": "Roger Allers" + } + }, + { + "imdb_id": "tt0120586", + "title": "American History X", + "year": 1998, + "image_url": "https://m.media-amazon.com/images/M/MV5BZTJhN2FkYWEtMGI0My00YWM4LWI2MjAtM2UwNjY4MTI2ZTQyXkEyXkFqcGdeQXVyNjc3MjQzNTI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1063058", + "director": { + "name": "Tony Kaye" + } + }, + { + "imdb_id": "tt0021749", + "title": "City Lights", + "year": 1931, + "image_url": "https://m.media-amazon.com/images/M/MV5BY2I4MmM1N2EtM2YzOS00OWUzLTkzYzctNDc5NDg2N2IyODJmXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "174933", + "director": { + "name": "Charles Chaplin" + } + }, + { + "imdb_id": "tt0095327", + "title": "Grave of the Fireflies", + "year": 1988, + "image_url": "https://m.media-amazon.com/images/M/MV5BZmY2NjUzNDQtNTgxNC00M2Q4LTljOWQtMjNjNDBjNWUxNmJlXkEyXkFqcGdeQXVyNTA4NzY1MzY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "250424", + "director": { + "name": "Isao Takahata" + } + }, + { + "imdb_id": "tt0172495", + "title": "Gladiator", + "year": 2000, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDliMmNhNDEtODUyOS00MjNlLTgxODEtN2U3NzIxMGVkZTA1L2ltYWdlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1391414", + "director": { + "name": "Ridley Scott" + } + }, + { + "imdb_id": "tt2582802", + "title": "Whiplash", + "year": 2014, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTA5NDZlZGUtMjAxOS00YTRkLTkwYmMtYWQ0NWEwZDZiNjEzXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "757252", + "director": { + "name": "Damien Chazelle" + } + }, + { + "imdb_id": "tt0407887", + "title": "The Departed", + "year": 2006, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTI1MTY2OTIxNV5BMl5BanBnXkFtZTYwNjQ4NjY3._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1234071", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt1675434", + "title": "The Intouchables", + "year": 2011, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTYxNDA3MDQwNl5BMl5BanBnXkFtZTcwNTU4Mzc1Nw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "792031", + "director": { + "name": "Olivier Nakache" + } + }, + { + "imdb_id": "tt0482571", + "title": "The Prestige", + "year": 2006, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjA4NDI0MTIxNF5BMl5BanBnXkFtZTYwNTM0MzY2._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.5, + "imdb_rating_count": "1237761", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0034583", + "title": "Casablanca", + "year": 1942, + "image_url": "https://m.media-amazon.com/images/M/MV5BY2IzZGY2YmEtYzljNS00NTM5LTgwMzUtMzM1NjQ4NGI0OTk0XkEyXkFqcGdeQXVyNDYyMDk5MTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "540363", + "director": { + "name": "Michael Curtiz" + } + }, + { + "imdb_id": "tt0064116", + "title": "Once Upon a Time in the West", + "year": 1968, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGI5MjBmYzYtMzJhZi00NGI1LTk3MzItYjBjMzcxM2U3MDdiXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "312900", + "director": { + "name": "Sergio Leone" + } + }, + { + "imdb_id": "tt0047396", + "title": "Rear Window", + "year": 1954, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGUxYWM3M2MtMGM3Mi00ZmRiLWE0NGQtZjE5ODI2OTJhNTU0XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "462426", + "director": { + "name": "Alfred Hitchcock" + } + }, + { + "imdb_id": "tt0095765", + "title": "Cinema Paradiso", + "year": 1988, + "image_url": "https://m.media-amazon.com/images/M/MV5BM2FhYjEyYmYtMDI1Yy00YTdlLWI2NWQtYmEzNzAxOGY1NjY2XkEyXkFqcGdeQXVyNTA3NTIyNDg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "243499", + "director": { + "name": "Giuseppe Tornatore" + } + }, + { + "imdb_id": "tt0078748", + "title": "Alien", + "year": 1979, + "image_url": "https://m.media-amazon.com/images/M/MV5BMmQ2MmU3NzktZjAxOC00ZDZhLTk4YzEtMDMyMzcxY2IwMDAyXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "818717", + "director": { + "name": "Ridley Scott" + } + }, + { + "imdb_id": "tt0078788", + "title": "Apocalypse Now", + "year": 1979, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDdhODg0MjYtYzBiOS00ZmI5LWEwZGYtZDEyNDU4MmQyNzFkXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "626958", + "director": { + "name": "Francis Ford Coppola" + } + }, + { + "imdb_id": "tt0209144", + "title": "Memento", + "year": 2000, + "image_url": "https://m.media-amazon.com/images/M/MV5BZTcyNjk1MjgtOWI3Mi00YzQwLWI5MTktMzY4ZmI2NDAyNzYzXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "1163723", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0082971", + "title": "Indiana Jones and the Raiders of the Lost Ark", + "year": 1981, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjA0ODEzMTc1Nl5BMl5BanBnXkFtZTcwODM2MjAxNA@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "913121", + "director": { + "name": "Steven Spielberg" + } + }, + { + "imdb_id": "tt0032553", + "title": "The Great Dictator", + "year": 1940, + "image_url": "https://m.media-amazon.com/images/M/MV5BMmExYWJjNTktNGUyZS00ODhmLTkxYzAtNWIzOGEyMGNiMmUwXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "212151", + "director": { + "name": "Charles Chaplin" + } + }, + { + "imdb_id": "tt0405094", + "title": "The Lives of Others", + "year": 2006, + "image_url": "https://m.media-amazon.com/images/M/MV5BOThkM2EzYmMtNDE3NS00NjlhLTg4YzktYTdhNzgyOWY3ZDYzXkEyXkFqcGdeQXVyNzQzNzQxNzI@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "370943", + "director": { + "name": "Florian Henckel von Donnersmarck" + } + }, + { + "imdb_id": "tt1853728", + "title": "Django Unchained", + "year": 2012, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjIyNTQ5NjQ1OV5BMl5BanBnXkFtZTcwODg1MDU4OA@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "1417339", + "director": { + "name": "Quentin Tarantino" + } + }, + { + "imdb_id": "tt0050825", + "title": "Paths of Glory", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjViMmRkOTEtM2ViOS00ODg0LWJhYWEtNTBlOGQxNDczOGY3XkEyXkFqcGdeQXVyMDI2NDg0NQ@@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "186054", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt0043014", + "title": "Sunset Blvd.", + "year": 1950, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTU0NTkyNzYwMF5BMl5BanBnXkFtZTgwMDU0NDk5MTI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "209784", + "director": { + "name": "Billy Wilder" + } + }, + { + "imdb_id": "tt0910970", + "title": "WALL\u00b7E", + "year": 2008, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjExMTg5OTU0NF5BMl5BanBnXkFtZTcwMjMxMzMzMw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "1037218", + "director": { + "name": "Andrew Stanton" + } + }, + { + "imdb_id": "tt0081505", + "title": "The Shining", + "year": 1980, + "image_url": "https://m.media-amazon.com/images/M/MV5BZWFlYmY2MGEtZjVkYS00YzU4LTg0YjQtYzY1ZGE3NTA5NGQxXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "936456", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt4154756", + "title": "Avengers: Infinity War", + "year": 2018, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjMxNjY2MDU1OV5BMl5BanBnXkFtZTgwNzY1MTUwNTM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "913314", + "director": { + "name": "Anthony Russo" + } + }, + { + "imdb_id": "tt0051201", + "title": "Witness for the Prosecution", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDQwODU5OWYtNDcyNi00MDQ1LThiOGMtZDkwNWJiM2Y3MDg0XkEyXkFqcGdeQXVyMDI2NDg0NQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "115159", + "director": { + "name": "Billy Wilder" + } + }, + { + "imdb_id": "tt0057012", + "title": "Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb", + "year": 1964, + "image_url": "https://m.media-amazon.com/images/M/MV5BZWI3ZTMxNjctMjdlNS00NmUwLWFiM2YtZDUyY2I3N2MxYTE0XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "465736", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt4633694", + "title": "Spider-Man: Into the Spider-Verse", + "year": 2018, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjMwNDkxMTgzOF5BMl5BanBnXkFtZTgwNTkwNTQ3NjM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "420264", + "director": { + "name": "Bob Persichetti" + } + }, + { + "imdb_id": "tt7286456", + "title": "Joker", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGVjNWI4ZGUtNzE0MS00YTJmLWE0ZDctN2ZiYTk2YmI3NTYyXkEyXkFqcGdeQXVyMTkxNjUyNQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.4, + "imdb_rating_count": "1051336", + "director": { + "name": "Todd Phillips" + } + }, + { + "imdb_id": "tt0119698", + "title": "Princess Mononoke", + "year": 1997, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGIzY2IzODQtNThmMi00ZDE4LWI5YzAtNzNlZTM1ZjYyYjUyXkEyXkFqcGdeQXVyODEzNjM5OTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "362179", + "director": { + "name": "Hayao Miyazaki" + } + }, + { + "imdb_id": "tt0364569", + "title": "Oldboy", + "year": 2003, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTI3NTQyMzU5M15BMl5BanBnXkFtZTcwMTM2MjgyMQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "537504", + "director": { + "name": "Park Chan-Wook" + } + }, + { + "imdb_id": "tt5311514", + "title": "Your Name.", + "year": 2016, + "image_url": "https://m.media-amazon.com/images/M/MV5BODRmZDVmNzUtZDA4ZC00NjhkLWI2M2UtN2M0ZDIzNDcxYThjL2ltYWdlXkEyXkFqcGdeQXVyNTk0MzMzODA@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "220858", + "director": { + "name": "Makoto Shinkai" + } + }, + { + "imdb_id": "tt0087843", + "title": "Once Upon a Time in America", + "year": 1984, + "image_url": "https://m.media-amazon.com/images/M/MV5BMGFkNWI4MTMtNGQ0OC00MWVmLTk3MTktOGYxN2Y2YWVkZWE2XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "325785", + "director": { + "name": "Sergio Leone" + } + }, + { + "imdb_id": "tt1345836", + "title": "The Dark Knight Rises", + "year": 2012, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTk4ODQzNDY3Ml5BMl5BanBnXkFtZTcwODA0NTM4Nw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "1569989", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0090605", + "title": "Aliens", + "year": 1986, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGU2OGY5ZTYtMWNhYy00NjZiLWI0NjUtZmNhY2JhNDRmODU3XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "675342", + "director": { + "name": "James Cameron" + } + }, + { + "imdb_id": "tt2380307", + "title": "Coco", + "year": 2017, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjQ5NjM0Y2YtNjZkNC00ZDhkLWJjMWItN2QyNzFkMDE3ZjAxXkEyXkFqcGdeQXVyODIxMzk5NjA@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "426150", + "director": { + "name": "Lee Unkrich" + } + }, + { + "imdb_id": "tt8503618", + "title": "Hamilton", + "year": 2020, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjViNWRjYWEtZTI0NC00N2E3LTk0NGQtMjY4NTM3OGNkZjY0XkEyXkFqcGdeQXVyMjUxMTY3ODM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "71710", + "director": { + "name": "Thomas Kail" + } + }, + { + "imdb_id": "tt8267604", + "title": "Capernaum", + "year": 2018, + "image_url": "https://m.media-amazon.com/images/M/MV5BMmExNzU2ZWMtYzUwYi00YmM2LTkxZTQtNmVhNjY0NTMyMWI2XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "73425", + "director": { + "name": "Nadine Labaki" + } + }, + { + "imdb_id": "tt0082096", + "title": "Das Boot", + "year": 1981, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGZhZDIzNWMtNjkxMS00MDQ1LThkMTYtZWQzYWU3MWMxMGU5XkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "239441", + "director": { + "name": "Wolfgang Petersen" + } + }, + { + "imdb_id": "tt4154796", + "title": "Avengers: Endgame", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTc5MDE2ODcwNV5BMl5BanBnXkFtZTgwMzI2NzQ2NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "925329", + "director": { + "name": "Anthony Russo" + } + }, + { + "imdb_id": "tt0057565", + "title": "High and Low", + "year": 1963, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTI4NTNhZDMtMWNkZi00MTRmLWJmZDQtMmJkMGVmZTEzODlhXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "38909", + "director": { + "name": "Akira Kurosawa" + } + }, + { + "imdb_id": "tt0169547", + "title": "American Beauty", + "year": 1999, + "image_url": "https://m.media-amazon.com/images/M/MV5BNTBmZWJkNjctNDhiNC00MGE2LWEwOTctZTk5OGVhMWMyNmVhXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "1100313", + "director": { + "name": "Sam Mendes" + } + }, + { + "imdb_id": "tt0114709", + "title": "Toy Story", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDU2ZWJlMjktMTRhMy00ZTA5LWEzNDgtYmNmZTEwZTViZWJkXkEyXkFqcGdeQXVyNDQ2OTk4MzI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "922279", + "director": { + "name": "John Lasseter" + } + }, + { + "imdb_id": "tt1187043", + "title": "3 Idiots", + "year": 2009, + "image_url": "https://m.media-amazon.com/images/M/MV5BNTkyOGVjMGEtNmQzZi00NzFlLTlhOWQtODYyMDc2ZGJmYzFhXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "365063", + "director": { + "name": "Rajkumar Hirani" + } + }, + { + "imdb_id": "tt0086879", + "title": "Amadeus", + "year": 1984, + "image_url": "https://m.media-amazon.com/images/M/MV5BNWJlNzUzNGMtYTAwMS00ZjI2LWFmNWQtODcxNWUxODA5YmU1XkEyXkFqcGdeQXVyNTIzOTk5ODM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "380621", + "director": { + "name": "Milos Forman" + } + }, + { + "imdb_id": "tt0112573", + "title": "Braveheart", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BMzkzMmU0YTYtOWM3My00YzBmLWI0YzctOGYyNTkwMWE5MTJkXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "985031", + "director": { + "name": "Mel Gibson" + } + }, + { + "imdb_id": "tt0361748", + "title": "Inglourious Basterds", + "year": 2009, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTJiNDEzOWYtMTVjOC00ZjlmLWE0NGMtZmE1OWVmZDQ2OWJhXkEyXkFqcGdeQXVyNTIzOTk5ODM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "1324318", + "director": { + "name": "Quentin Tarantino" + } + }, + { + "imdb_id": "tt0119217", + "title": "Good Will Hunting", + "year": 1997, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTI0MzcxMTYtZDVkMy00NjY1LTgyMTYtZmUxN2M3NmQ2NWJhXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "895508", + "director": { + "name": "Gus Van Sant" + } + }, + { + "imdb_id": "tt0086190", + "title": "Star Wars: Episode VI - Return of the Jedi", + "year": 1983, + "image_url": "https://m.media-amazon.com/images/M/MV5BOWZlMjFiYzgtMTUzNC00Y2IzLTk1NTMtZmNhMTczNTk0ODk1XkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "982026", + "director": { + "name": "Richard Marquand" + } + }, + { + "imdb_id": "tt0062622", + "title": "2001: A Space Odyssey", + "year": 1968, + "image_url": "https://m.media-amazon.com/images/M/MV5BMmNlYzRiNDctZWNhMi00MzI4LThkZTctMTUzMmZkMmFmNThmXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "626463", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt0105236", + "title": "Reservoir Dogs", + "year": 1992, + "image_url": "https://m.media-amazon.com/images/M/MV5BZmExNmEwYWItYmQzOS00YjA5LTk2MjktZjEyZDE1Y2QxNjA1XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "953132", + "director": { + "name": "Quentin Tarantino" + } + }, + { + "imdb_id": "tt0986264", + "title": "Like Stars on Earth", + "year": 2007, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDhjZWViN2MtNzgxOS00NmI4LThiZDQtZDI3MzM4MDE4NTc0XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "179407", + "director": { + "name": "Aamir Khan" + } + }, + { + "imdb_id": "tt0022100", + "title": "M", + "year": 1931, + "image_url": "https://m.media-amazon.com/images/M/MV5BODA4ODk3OTEzMF5BMl5BanBnXkFtZTgwMTQ2ODMwMzE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "149663", + "director": { + "name": "Fritz Lang" + } + }, + { + "imdb_id": "tt0048473", + "title": "Pather Panchali", + "year": 1955, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDE5YmMxYjEtZjNjNC00NjM2LWE2ZjctOTkyNGMxODRiMGNiXkEyXkFqcGdeQXVyNTgyNTA4MjM@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "27743", + "director": { + "name": "Satyajit Ray" + } + }, + { + "imdb_id": "tt0052357", + "title": "Vertigo", + "year": 1958, + "image_url": "https://m.media-amazon.com/images/M/MV5BYTE4ODEwZDUtNDFjOC00NjAxLWEzYTQtYTI1NGVmZmFlNjdiL2ltYWdlL2ltYWdlXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "379897", + "director": { + "name": "Alfred Hitchcock" + } + }, + { + "imdb_id": "tt0033467", + "title": "Citizen Kane", + "year": 1941, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjBiOTYxZWItMzdiZi00NjlkLWIzZTYtYmFhZjhiMTljOTdkXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "420442", + "director": { + "name": "Orson Welles" + } + }, + { + "imdb_id": "tt0091251", + "title": "Come and See", + "year": 1985, + "image_url": "https://m.media-amazon.com/images/M/MV5BODM4Njg0NTAtYjI5Ny00ZjAxLTkwNmItZTMxMWU5M2U3M2RjXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "66793", + "director": { + "name": "Elem Klimov" + } + }, + { + "imdb_id": "tt2106476", + "title": "The Hunt", + "year": 2012, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTg2NDg3ODg4NF5BMl5BanBnXkFtZTcwNzk3NTc3Nw@@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "300617", + "director": { + "name": "Thomas Vinterberg" + } + }, + { + "imdb_id": "tt0180093", + "title": "Requiem for a Dream", + "year": 2000, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTdiNzJlOWUtNWMwNS00NmFlLWI0YTEtZmI3YjIzZWUyY2Y3XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "791983", + "director": { + "name": "Darren Aronofsky" + } + }, + { + "imdb_id": "tt0045152", + "title": "Singin' in the Rain", + "year": 1952, + "image_url": "https://m.media-amazon.com/images/M/MV5BZDRjNGViMjQtOThlMi00MTA3LThkYzQtNzJkYjBkMGE0YzE1XkEyXkFqcGdeQXVyNDYyMDk5MTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "227438", + "director": { + "name": "Stanley Donen" + } + }, + { + "imdb_id": "tt0053125", + "title": "North by Northwest", + "year": 1959, + "image_url": "https://m.media-amazon.com/images/M/MV5BZDA3NDExMTUtMDlhOC00MmQ5LWExZGUtYmI1NGVlZWI4OWNiXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "310652", + "director": { + "name": "Alfred Hitchcock" + } + }, + { + "imdb_id": "tt0338013", + "title": "Eternal Sunshine of the Spotless Mind", + "year": 2004, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTY4NzcwODg3Nl5BMl5BanBnXkFtZTcwNTEwOTMyMw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "943746", + "director": { + "name": "Michel Gondry" + } + }, + { + "imdb_id": "tt0044741", + "title": "Ikiru", + "year": 1952, + "image_url": "https://m.media-amazon.com/images/M/MV5BZmM0NGY3Y2MtMTA1YS00YmQzLTk2YTctYWFhMDkzMDRjZWQzXkEyXkFqcGdeQXVyNTA4NzY1MzY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "72988", + "director": { + "name": "Akira Kurosawa" + } + }, + { + "imdb_id": "tt0040522", + "title": "Bicycle Thieves", + "year": 1948, + "image_url": "https://m.media-amazon.com/images/M/MV5BNmI1ODdjODctMDlmMC00ZWViLWI5MzYtYzRhNDdjYmM3MzFjXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.3, + "imdb_rating_count": "154706", + "director": { + "name": "Vittorio De Sica" + } + }, + { + "imdb_id": "tt0056172", + "title": "Lawrence of Arabia", + "year": 1962, + "image_url": "https://m.media-amazon.com/images/M/MV5BYWY5ZjhjNGYtZmI2Ny00ODM0LWFkNzgtZmI1YzA2N2MxMzA0XkEyXkFqcGdeQXVyNjUwNzk3NDc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "278220", + "director": { + "name": "David Lean" + } + }, + { + "imdb_id": "tt0012349", + "title": "The Kid", + "year": 1921, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjhhMThhNDItNTY2MC00MmU1LTliNDEtNDdhZjdlNTY5ZDQ1XkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "119284", + "director": { + "name": "Charles Chaplin" + } + }, + { + "imdb_id": "tt0093058", + "title": "Full Metal Jacket", + "year": 1987, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzkxODk0NjEtYjc4Mi00ZDI0LTgyYjEtYzc1NDkxY2YzYTgyXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "698279", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt5074352", + "title": "Dangal", + "year": 2016, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTQ4MzQzMzM2Nl5BMl5BanBnXkFtZTgwMTQ1NzU3MDI@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "169576", + "director": { + "name": "Nitesh Tiwari" + } + }, + { + "imdb_id": "tt10272386", + "title": "The Father", + "year": 2020, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGJhNWRiOWQtMjI4OS00ZjcxLTgwMTAtMzQ2ODkxY2JkOTVlXkEyXkFqcGdeQXVyMTkxNjUyNQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "87453", + "director": { + "name": "Florian Zeller" + } + }, + { + "imdb_id": "tt0066921", + "title": "A Clockwork Orange", + "year": 1971, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTY3MjM1Mzc4N15BMl5BanBnXkFtZTgwODM0NzAxMDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "782393", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt0017136", + "title": "Metropolis", + "year": 1927, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTg5YWIyMWUtZDY5My00Zjc1LTljOTctYmI0MWRmY2M2NmRkXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "165917", + "director": { + "name": "Fritz Lang" + } + }, + { + "imdb_id": "tt0075314", + "title": "Taxi Driver", + "year": 1976, + "image_url": "https://m.media-amazon.com/images/M/MV5BM2M1MmVhNDgtNmI0YS00ZDNmLTkyNjctNTJiYTQ2N2NmYzc2XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "757144", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt0053604", + "title": "The Apartment", + "year": 1960, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzkwODFjNzItMmMwNi00MTU5LWE2MzktM2M4ZDczZGM1MmViXkEyXkFqcGdeQXVyNDY2MTk1ODk@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "171072", + "director": { + "name": "Billy Wilder" + } + }, + { + "imdb_id": "tt0036775", + "title": "Double Indemnity", + "year": 1944, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTdlNjgyZGUtOTczYi00MDdhLTljZmMtYTEwZmRiOWFkYjRhXkEyXkFqcGdeQXVyNDY2MTk1ODk@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "149127", + "director": { + "name": "Billy Wilder" + } + }, + { + "imdb_id": "tt1255953", + "title": "Incendies", + "year": 2010, + "image_url": "https://m.media-amazon.com/images/M/MV5BMWE3MGYzZjktY2Q5Mi00Y2NiLWIyYWUtMmIyNzA3YmZlMGFhXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "160245", + "director": { + "name": "Denis Villeneuve" + } + }, + { + "imdb_id": "tt0070735", + "title": "The Sting", + "year": 1973, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGU3NjQ4YTMtZGJjOS00YTQ3LThmNmItMTI5MDE2ODI3NzY3XkEyXkFqcGdeQXVyMjUzOTY1NTc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "249545", + "director": { + "name": "George Roy Hill" + } + }, + { + "imdb_id": "tt8579674", + "title": "1917", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTdmNTFjNDEtNzg0My00ZjkxLTg1ZDAtZTdkMDc2ZmFiNWQ1XkEyXkFqcGdeQXVyNTAzNzgwNTg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "483644", + "director": { + "name": "Sam Mendes" + } + }, + { + "imdb_id": "tt1832382", + "title": "A Separation", + "year": 2011, + "image_url": "https://m.media-amazon.com/images/M/MV5BN2JmMjViMjMtZTM5Mi00ZGZkLTk5YzctZDg5MjFjZDE4NjNkXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "230559", + "director": { + "name": "Asghar Farhadi" + } + }, + { + "imdb_id": "tt0086250", + "title": "Scarface", + "year": 1983, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjdjNGQ4NDEtNTEwYS00MTgxLTliYzQtYzE2ZDRiZjFhZmNlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "773881", + "director": { + "name": "Brian De Palma" + } + }, + { + "imdb_id": "tt0211915", + "title": "Am\u00e9lie", + "year": 2001, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDg4NjM1YjMtYmNhZC00MjM0LWFiZmYtNGY1YjA3MzZmODc5XkEyXkFqcGdeQXVyNDk3NzU2MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "722198", + "director": { + "name": "Jean-Pierre Jeunet" + } + }, + { + "imdb_id": "tt0208092", + "title": "Snatch", + "year": 2000, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTA2NDYxOGYtYjU1Mi00Y2QzLTgxMTQtMWI1MGI0ZGQ5MmU4XkEyXkFqcGdeQXVyNDk3NzU2MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "807853", + "director": { + "name": "Guy Ritchie" + } + }, + { + "imdb_id": "tt0435761", + "title": "Toy Story 3", + "year": 2010, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTgxOTY4Mjc0MF5BMl5BanBnXkFtZTcwNTA4MDQyMw@@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "782630", + "director": { + "name": "Lee Unkrich" + } + }, + { + "imdb_id": "tt0056592", + "title": "To Kill a Mockingbird", + "year": 1962, + "image_url": "https://m.media-amazon.com/images/M/MV5BNmVmYzcwNzMtMWM1NS00MWIyLThlMDEtYzUwZDgzODE1NmE2XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "303069", + "director": { + "name": "Robert Mulligan" + } + }, + { + "imdb_id": "tt0059578", + "title": "For a Few Dollars More", + "year": 1965, + "image_url": "https://m.media-amazon.com/images/M/MV5BNWM1NmYyM2ItMTFhNy00NDU0LThlYWUtYjQyYTJmOTY0ZmM0XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "241895", + "director": { + "name": "Sergio Leone" + } + }, + { + "imdb_id": "tt1049413", + "title": "Up", + "year": 2009, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTk3NDE2NzI4NF5BMl5BanBnXkFtZTgwNzE1MzEyMTE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "970337", + "director": { + "name": "Pete Docter" + } + }, + { + "imdb_id": "tt0097576", + "title": "Indiana Jones and the Last Crusade", + "year": 1989, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjNkMzc2N2QtNjVlNS00ZTk5LTg0MTgtODY2MDAwNTMwZjBjXkEyXkFqcGdeQXVyNDk3NzU2MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "714272", + "director": { + "name": "Steven Spielberg" + } + }, + { + "imdb_id": "tt0119488", + "title": "L.A. Confidential", + "year": 1997, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDQ2YzEyZGItYWRhOS00MjBmLTkzMDUtMTdjYzkyMmQxZTJlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "549545", + "director": { + "name": "Curtis Hanson" + } + }, + { + "imdb_id": "tt0113277", + "title": "Heat", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGMwNzUwNjYtZWM5NS00YzMyLWI4NjAtNjM0ZDBiMzE1YWExXkEyXkFqcGdeQXVyNDk3NzU2MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "602747", + "director": { + "name": "Michael Mann" + } + }, + { + "imdb_id": "tt0042876", + "title": "Rashomon", + "year": 1950, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjEzMzA4NDE2OF5BMl5BanBnXkFtZTcwNTc5MDI2NQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "159055", + "director": { + "name": "Akira Kurosawa" + } + }, + { + "imdb_id": "tt0055630", + "title": "Yojimbo", + "year": 1961, + "image_url": "https://m.media-amazon.com/images/M/MV5BZThiZjAzZjgtNDU3MC00YThhLThjYWUtZGRkYjc2ZWZlOTVjXkEyXkFqcGdeQXVyNTA4NzY1MzY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "116440", + "director": { + "name": "Akira Kurosawa" + } + }, + { + "imdb_id": "tt0089881", + "title": "Ran", + "year": 1985, + "image_url": "https://m.media-amazon.com/images/M/MV5BNTEyNjg0MDM4OF5BMl5BanBnXkFtZTgwODI0NjUxODE@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "118525", + "director": { + "name": "Akira Kurosawa" + } + }, + { + "imdb_id": "tt0095016", + "title": "Die Hard", + "year": 1988, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjRlNDUxZjAtOGQ4OC00OTNlLTgxNmQtYTBmMDgwZmNmNjkxXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "817381", + "director": { + "name": "John McTiernan" + } + }, + { + "imdb_id": "tt6966692", + "title": "Green Book", + "year": 2018, + "image_url": "https://m.media-amazon.com/images/M/MV5BYzIzYmJlYTYtNGNiYy00N2EwLTk4ZjItMGYyZTJiOTVkM2RlXkEyXkFqcGdeQXVyODY1NDk1NjE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "421012", + "director": { + "name": "Peter Farrelly" + } + }, + { + "imdb_id": "tt0071853", + "title": "Monty Python and the Holy Grail", + "year": 1975, + "image_url": "https://m.media-amazon.com/images/M/MV5BN2IyNTE4YzUtZWU0Mi00MGIwLTgyMmQtMzQ4YzQxYWNlYWE2XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "515607", + "director": { + "name": "Terry Gilliam" + } + }, + { + "imdb_id": "tt0363163", + "title": "Downfall", + "year": 2004, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTU0NTU5NTAyMl5BMl5BanBnXkFtZTYwNzYwMDg2._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "340596", + "director": { + "name": "Oliver Hirschbiegel" + } + }, + { + "imdb_id": "tt0042192", + "title": "All About Eve", + "year": 1950, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTY2MTAzODI5NV5BMl5BanBnXkFtZTgwMjM4NzQ0MjE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "125231", + "director": { + "name": "Joseph L. Mankiewicz" + } + }, + { + "imdb_id": "tt0053291", + "title": "Some Like It Hot", + "year": 1959, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzAyOGIxYjAtMGY2NC00ZTgyLWIwMWEtYzY0OWQ4NDFjOTc5XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "253397", + "director": { + "name": "Billy Wilder" + } + }, + { + "imdb_id": "tt0372784", + "title": "Batman Begins", + "year": 2005, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTY4YjI2N2MtYmFlMC00ZjcyLTg3YjEtMDQyM2ZjYzQ5YWFkXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "1353583", + "director": { + "name": "Christopher Nolan" + } + }, + { + "imdb_id": "tt0105695", + "title": "Unforgiven", + "year": 1992, + "image_url": "https://m.media-amazon.com/images/M/MV5BODM3YWY4NmQtN2Y3Ni00OTg0LWFhZGQtZWE3ZWY4MTJlOWU4XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "389809", + "director": { + "name": "Clint Eastwood" + } + }, + { + "imdb_id": "tt0118849", + "title": "Children of Heaven", + "year": 1997, + "image_url": "https://m.media-amazon.com/images/M/MV5BZTYwZWQ4ZTQtZWU0MS00N2YwLWEzMDItZWFkZWY0MWVjODVhXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "69590", + "director": { + "name": "Majid Majidi" + } + }, + { + "imdb_id": "tt0347149", + "title": "Howl's Moving Castle", + "year": 2004, + "image_url": "https://m.media-amazon.com/images/M/MV5BNmM4YTFmMmItMGE3Yy00MmRkLTlmZGEtMzZlOTQzYjk3MzA2XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "354419", + "director": { + "name": "Hayao Miyazaki" + } + }, + { + "imdb_id": "tt0993846", + "title": "The Wolf of Wall Street", + "year": 2013, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjIxMjgxNTk0MF5BMl5BanBnXkFtZTgwNjIyOTg2MDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "1254006", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt0057115", + "title": "The Great Escape", + "year": 1963, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzA2NmYxMWUtNzBlMC00MWM2LTkwNmQtYTFlZjQwODNhOWE0XkEyXkFqcGdeQXVyNTIzOTk5ODM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "232743", + "director": { + "name": "John Sturges" + } + }, + { + "imdb_id": "tt0055031", + "title": "Judgment at Nuremberg", + "year": 1961, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDc2ODQ5NTE2MV5BMl5BanBnXkFtZTcwODExMjUyNA@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "73225", + "director": { + "name": "Stanley Kramer" + } + }, + { + "imdb_id": "tt0112641", + "title": "Casino", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTcxOWYzNDYtYmM4YS00N2NkLTk0NTAtNjg1ODgwZjAxYzI3XkEyXkFqcGdeQXVyNTA4NzY1MzY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "485197", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt0040897", + "title": "The Treasure of the Sierra Madre", + "year": 1948, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTJlZWMxYzEtMjlkMS00ODE0LThlM2ItMDI3NGQ2YjhmMzkxXkEyXkFqcGdeQXVyMDI2NDg0NQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "118894", + "director": { + "name": "John Huston" + } + }, + { + "imdb_id": "tt0469494", + "title": "There Will Be Blood", + "year": 2007, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjAxODQ4MDU5NV5BMl5BanBnXkFtZTcwMDU4MjU1MQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "541312", + "director": { + "name": "Paul Thomas Anderson" + } + }, + { + "imdb_id": "tt0457430", + "title": "Pan's Labyrinth", + "year": 2006, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTU3ODg2NjQ5NF5BMl5BanBnXkFtZTcwMDEwODgzMQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.2, + "imdb_rating_count": "636115", + "director": { + "name": "Guillermo del Toro" + } + }, + { + "imdb_id": "tt0268978", + "title": "A Beautiful Mind", + "year": 2001, + "image_url": "https://m.media-amazon.com/images/M/MV5BMzcwYWFkYzktZjAzNC00OGY1LWI4YTgtNzc5MzVjMDVmNjY0XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "877421", + "director": { + "name": "Ron Howard" + } + }, + { + "imdb_id": "tt1305806", + "title": "The Secret in Their Eyes", + "year": 2009, + "image_url": "https://m.media-amazon.com/images/M/MV5BY2FhZGI5M2QtZWFiZS00NjkwLWE4NWQtMzg3ZDZjNjdkYTJiXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "200142", + "director": { + "name": "Juan Jos\u00e9 Campanella" + } + }, + { + "imdb_id": "tt0081398", + "title": "Raging Bull", + "year": 1980, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjRmODkzNDItMTNhNi00YjJlLTg0ZjAtODlhZTM0YzgzYThlXkEyXkFqcGdeQXVyNzQ1ODk3MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "334088", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt0096283", + "title": "My Neighbor Totoro", + "year": 1988, + "image_url": "https://m.media-amazon.com/images/M/MV5BYzJjMTYyMjQtZDI0My00ZjE2LTkyNGYtOTllNGQxNDMyZjE0XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "308358", + "director": { + "name": "Hayao Miyazaki" + } + }, + { + "imdb_id": "tt0071315", + "title": "Chinatown", + "year": 1974, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGMwYmY5ZmEtMzY1Yi00OWJiLTk1Y2MtMzI2MjBhYmZkNTQ0XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "307783", + "director": { + "name": "Roman Polanski" + } + }, + { + "imdb_id": "tt0120735", + "title": "Lock, Stock and Two Smoking Barrels", + "year": 1998, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTAyN2JmZmEtNjAyMy00NzYwLThmY2MtYWQ3OGNhNjExMmM4XkEyXkFqcGdeQXVyNDk3NzU2MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "552864", + "director": { + "name": "Guy Ritchie" + } + }, + { + "imdb_id": "tt0015864", + "title": "The Gold Rush", + "year": 1925, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjEyOTE4MzMtNmMzMy00Mzc3LWJlOTQtOGJiNDE0ZmJiOTU4L2ltYWdlXkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "105797", + "director": { + "name": "Charles Chaplin" + } + }, + { + "imdb_id": "tt1130884", + "title": "Shutter Island", + "year": 2010, + "image_url": "https://m.media-amazon.com/images/M/MV5BYzhiNDkyNzktNTZmYS00ZTBkLTk2MDAtM2U0YjU1MzgxZjgzXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "1187290", + "director": { + "name": "Martin Scorsese" + } + }, + { + "imdb_id": "tt0477348", + "title": "No Country for Old Men", + "year": 2007, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjA5Njk3MjM4OV5BMl5BanBnXkFtZTcwMTc5MTE1MQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "895052", + "director": { + "name": "Ethan Coen" + } + }, + { + "imdb_id": "tt0046912", + "title": "Dial M for Murder", + "year": 1954, + "image_url": "https://m.media-amazon.com/images/M/MV5BOWIwODIxYWItZDI4MS00YzhhLWE3MmYtMzlhZDIwOTMzZmE5L2ltYWdlXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "165619", + "director": { + "name": "Alfred Hitchcock" + } + }, + { + "imdb_id": "tt5027774", + "title": "Three Billboards Outside Ebbing, Missouri", + "year": 2017, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjI0ODcxNzM1N15BMl5BanBnXkFtZTgwMzIwMTEwNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "462268", + "director": { + "name": "Martin McDonagh" + } + }, + { + "imdb_id": "tt0050976", + "title": "The Seventh Seal", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BM2I1ZWU4YjMtYzU0My00YmMzLWFmNTAtZDJhZGYwMmI3YWQ5XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "174237", + "director": { + "name": "Ingmar Bergman" + } + }, + { + "imdb_id": "tt0080678", + "title": "The Elephant Man", + "year": 1980, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDVjNjIwOGItNDE3Ny00OThjLWE0NzQtZTU3YjMzZTZjMzhkXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "229365", + "director": { + "name": "David Lynch" + } + }, + { + "imdb_id": "tt0084787", + "title": "The Thing", + "year": 1982, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGViZWZmM2EtNGYzZi00ZDAyLTk3ODMtNzIyZTBjN2Y1NmM1XkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "388327", + "director": { + "name": "John Carpenter" + } + }, + { + "imdb_id": "tt0167404", + "title": "The Sixth Sense", + "year": 1999, + "image_url": "https://m.media-amazon.com/images/M/MV5BMWM4NTFhYjctNzUyNi00NGMwLTk3NTYtMDIyNTZmMzRlYmQyXkEyXkFqcGdeQXVyMTAwMzUyOTc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "938684", + "director": { + "name": "M. Night Shyamalan" + } + }, + { + "imdb_id": "tt4729430", + "title": "Klaus", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BMWYwOThjM2ItZGYxNy00NTQwLWFlZWEtM2MzM2Q5MmY3NDU5XkEyXkFqcGdeQXVyMTkxNjUyNQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "118037", + "director": { + "name": "Sergio Pablos" + } + }, + { + "imdb_id": "tt0041959", + "title": "The Third Man", + "year": 1949, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjE2OTdhMWUtOGJlMy00ZDViLWIzZjgtYjZkZGZmMDZjYmEyXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "164401", + "director": { + "name": "Carol Reed" + } + }, + { + "imdb_id": "tt0434409", + "title": "V for Vendetta", + "year": 2005, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTI5ODc3NzExNV5BMl5BanBnXkFtZTcwNzYxNzQzMw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "1062157", + "director": { + "name": "James McTeigue" + } + }, + { + "imdb_id": "tt2096673", + "title": "Inside Out", + "year": 2015, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTgxMDQwMDk0OF5BMl5BanBnXkFtZTgwNjU5OTg2NDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "649187", + "director": { + "name": "Pete Docter" + } + }, + { + "imdb_id": "tt0050986", + "title": "Wild Strawberries", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjJhNTBmNTgtMDViOC00NDY2LWE4N2ItMDJiM2ZiYmQzYzliXkEyXkFqcGdeQXVyMzg1ODEwNQ@@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "101364", + "director": { + "name": "Ingmar Bergman" + } + }, + { + "imdb_id": "tt0107290", + "title": "Jurassic Park", + "year": 1993, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjM2MDgxMDg0Nl5BMl5BanBnXkFtZTgwNTM2OTM5NDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "903256", + "director": { + "name": "Steven Spielberg" + } + }, + { + "imdb_id": "tt0120382", + "title": "The Truman Show", + "year": 1998, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDIzODcyY2EtMmY2MC00ZWVlLTgwMzAtMjQwOWUyNmJjNTYyXkEyXkFqcGdeQXVyNDk3NzU2MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "982722", + "director": { + "name": "Peter Weir" + } + }, + { + "imdb_id": "tt0353969", + "title": "Memories of Murder", + "year": 2003, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGViNTg4YTktYTQ2Ni00MTU0LTk2NWUtMTI4OTc1YTM0NzQ2XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "155808", + "director": { + "name": "Bong Joon Ho" + } + }, + { + "imdb_id": "tt0083658", + "title": "Blade Runner", + "year": 1982, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzQzMzJhZTEtOWM4NS00MTdhLTg0YjgtMjM4MDRkZjUwZDBlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "717910", + "director": { + "name": "Ridley Scott" + } + }, + { + "imdb_id": "tt0117951", + "title": "Trainspotting", + "year": 1996, + "image_url": "https://m.media-amazon.com/images/M/MV5BMzA5Zjc3ZTMtMmU5YS00YTMwLWI4MWUtYTU0YTVmNjVmODZhXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "653476", + "director": { + "name": "Danny Boyle" + } + }, + { + "imdb_id": "tt0050212", + "title": "The Bridge on the River Kwai", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGY5NmNlMmQtYzRlYy00NGQ5LWFkYjYtNzExZmQyMTg0ZDA0XkEyXkFqcGdeQXVyNDIzMzcwNjc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "210285", + "director": { + "name": "David Lean" + } + }, + { + "imdb_id": "tt1291584", + "title": "Warrior", + "year": 2011, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTk4ODk5MTMyNV5BMl5BanBnXkFtZTcwMDMyNTg0Ng@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "448072", + "director": { + "name": "Gavin O'Connor" + } + }, + { + "imdb_id": "tt0116282", + "title": "Fargo", + "year": 1996, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDJiZDgyZjctYmRjMS00ZjdkLTkwMTEtNGU1NDg3NDQ0Yzk1XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "640558", + "director": { + "name": "Joel Coen" + } + }, + { + "imdb_id": "tt0266543", + "title": "Finding Nemo", + "year": 2003, + "image_url": "https://m.media-amazon.com/images/M/MV5BZTAzNWZlNmUtZDEzYi00ZjA5LWIwYjEtZGM1NWE1MjE4YWRhXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "979798", + "director": { + "name": "Andrew Stanton" + } + }, + { + "imdb_id": "tt0031381", + "title": "Gone with the Wind", + "year": 1939, + "image_url": "https://m.media-amazon.com/images/M/MV5BYjUyZWZkM2UtMzYxYy00ZmQ3LWFmZTQtOGE2YjBkNjA3YWZlXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "300250", + "director": { + "name": "Victor Fleming" + } + }, + { + "imdb_id": "tt0476735", + "title": "My Father and My Son", + "year": 2005, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjAzMzEwYzctNjc1MC00Nzg5LWFmMGItMTgzYmMyNTY2OTQ4XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "82595", + "director": { + "name": "Cagan Irmak" + } + }, + { + "imdb_id": "tt0266697", + "title": "Kill Bill: Vol. 1", + "year": 2003, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzM3NDFhYTAtYmU5Mi00NGRmLTljYjgtMDkyODQ4MjNkMGY2XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "1040392", + "director": { + "name": "Quentin Tarantino" + } + }, + { + "imdb_id": "tt0046438", + "title": "Tokyo Story", + "year": 1953, + "image_url": "https://m.media-amazon.com/images/M/MV5BYWQ4ZTRiODktNjAzZC00Nzg1LTk1YWQtNDFmNDI0NmZiNGIwXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "56975", + "director": { + "name": "Yasujir\u00f4 Ozu" + } + }, + { + "imdb_id": "tt0047296", + "title": "On the Waterfront", + "year": 1954, + "image_url": "https://m.media-amazon.com/images/M/MV5BY2I0MWFiZDMtNWQyYy00Njk5LTk3MDktZjZjNTNmZmVkYjkxXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "147652", + "director": { + "name": "Elia Kazan" + } + }, + { + "imdb_id": "tt0079944", + "title": "Stalker", + "year": 1979, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDgwODNmMGItMDcwYi00OWZjLTgyZjAtMGYwMmI4N2Q0NmJmXkEyXkFqcGdeQXVyNzY1MTU0Njk@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "125080", + "director": { + "name": "Andrei Tarkovsky" + } + }, + { + "imdb_id": "tt3011894", + "title": "Wild Tales", + "year": 2014, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGQzY2Y0MTgtMDA4OC00NjM3LWI0ZGQtNTJlM2UxZDQxZjI0XkEyXkFqcGdeQXVyNDUzOTQ5MjY@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "185685", + "director": { + "name": "Dami\u00e1n Szifron" + } + }, + { + "imdb_id": "tt0017925", + "title": "The General", + "year": 1926, + "image_url": "https://m.media-amazon.com/images/M/MV5BYmRiMDFlYjYtOTMwYy00OGY2LWE0Y2QtYzQxOGNhZmUwNTIxXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "86210", + "director": { + "name": "Clyde Bruckman" + } + }, + { + "imdb_id": "tt0015324", + "title": "Sherlock Jr.", + "year": 1924, + "image_url": "https://m.media-amazon.com/images/M/MV5BZWFhOGU5NDctY2Q3YS00Y2VlLWI1NzEtZmIwY2ZiZjY4OTA2XkEyXkFqcGdeQXVyMDI2NDg0NQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "45371", + "director": { + "name": "Buster Keaton" + } + }, + { + "imdb_id": "tt0077416", + "title": "The Deer Hunter", + "year": 1978, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDhmNTA0ZDMtYjhkNS00NzEzLWIzYTItOGNkMTVmYjE2YmI3XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "323122", + "director": { + "name": "Michael Cimino" + } + }, + { + "imdb_id": "tt1205489", + "title": "Gran Torino", + "year": 2008, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTc5NTk2OTU1Nl5BMl5BanBnXkFtZTcwMDc3NjAwMg@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "738780", + "director": { + "name": "Clint Eastwood" + } + }, + { + "imdb_id": "tt0060827", + "title": "Persona", + "year": 1966, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTM0YzExY2EtMjUyZi00ZmIwLWFkYTktNjY5NmVkYTdkMjI5XkEyXkFqcGdeQXVyNzQxNDExNTU@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "109674", + "director": { + "name": "Ingmar Bergman" + } + }, + { + "imdb_id": "tt2278388", + "title": "The Grand Budapest Hotel", + "year": 2014, + "image_url": "https://m.media-amazon.com/images/M/MV5BMzM5NjUxOTEyMl5BMl5BanBnXkFtZTgwNjEyMDM0MDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "740753", + "director": { + "name": "Wes Anderson" + } + }, + { + "imdb_id": "tt0112471", + "title": "Before Sunrise", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BZDdiZTAwYzAtMDI3Ni00OTRjLTkzN2UtMGE3MDMyZmU4NTU4XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "284975", + "director": { + "name": "Richard Linklater" + } + }, + { + "imdb_id": "tt0978762", + "title": "Mary and Max", + "year": 2009, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDgzYjQwMDMtNGUzYi00MTRmLWIyMGMtNjE1OGZkNzY2YWIzL2ltYWdlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "169706", + "director": { + "name": "Adam Elliot" + } + }, + { + "imdb_id": "tt1392214", + "title": "Prisoners", + "year": 2013, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTg0NTIzMjQ1NV5BMl5BanBnXkFtZTcwNDc3MzM5OQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "632027", + "director": { + "name": "Denis Villeneuve" + } + }, + { + "imdb_id": "tt3170832", + "title": "Room", + "year": 2015, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjE4NzgzNzEwMl5BMl5BanBnXkFtZTgwMTMzMDE0NjE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "390515", + "director": { + "name": "Lenny Abrahamson" + } + }, + { + "imdb_id": "tt0031679", + "title": "Mr. Smith Goes to Washington", + "year": 1939, + "image_url": "https://m.media-amazon.com/images/M/MV5BZTYwYjYxYzgtMDE1Ni00NzU4LWJlMTEtODQ5YmJmMGJhZjI5L2ltYWdlXkEyXkFqcGdeQXVyMDI2NDg0NQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "110836", + "director": { + "name": "Frank Capra" + } + }, + { + "imdb_id": "tt0107207", + "title": "In the Name of the Father", + "year": 1993, + "image_url": "https://m.media-amazon.com/images/M/MV5BMmYyOTgwYWItYmU3Ny00M2E2LTk0NWMtMDVlNmQ0MWZiMTMxXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "164872", + "director": { + "name": "Jim Sheridan" + } + }, + { + "imdb_id": "tt0264464", + "title": "Catch Me If You Can", + "year": 2002, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTY5MzYzNjc5NV5BMl5BanBnXkFtZTYwNTUyNTc2._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "878046", + "director": { + "name": "Steven Spielberg" + } + }, + { + "imdb_id": "tt2267998", + "title": "Gone Girl", + "year": 2014, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTk0MDQ3MzAzOV5BMl5BanBnXkFtZTgwNzU1NzE3MjE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "901195", + "director": { + "name": "David Fincher" + } + }, + { + "imdb_id": "tt2119532", + "title": "Hacksaw Ridge", + "year": 2016, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjQ1NjM3MTUxNV5BMl5BanBnXkFtZTgwMDc5MTY5OTE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "463347", + "director": { + "name": "Mel Gibson" + } + }, + { + "imdb_id": "tt0035446", + "title": "To Be or Not to Be", + "year": 1942, + "image_url": "https://m.media-amazon.com/images/M/MV5BYTIwNDcyMjktMTczMy00NDM5LTlhNDEtMmE3NGVjOTM2YjQ3XkEyXkFqcGdeQXVyNjc0MzMzNjA@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "33195", + "director": { + "name": "Ernst Lubitsch" + } + }, + { + "imdb_id": "tt0072684", + "title": "Barry Lyndon", + "year": 1975, + "image_url": "https://m.media-amazon.com/images/M/MV5BNmY0MWY2NDctZDdmMi00MjA1LTk0ZTQtZDMyZTQ1NTNlYzVjXkEyXkFqcGdeQXVyMjUzOTY1NTc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "157118", + "director": { + "name": "Stanley Kubrick" + } + }, + { + "imdb_id": "tt8108198", + "title": "Andhadhun", + "year": 2018, + "image_url": "https://m.media-amazon.com/images/M/MV5BZWZhMjhhZmYtOTIzOC00MGYzLWI1OGYtM2ZkN2IxNTI4ZWI3XkEyXkFqcGdeQXVyNDAzNDk0MTQ@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "81365", + "director": { + "name": "Sriram Raghavan" + } + }, + { + "imdb_id": "tt0019254", + "title": "The Passion of Joan of Arc", + "year": 1928, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjBjNDJiYTUtOWY0OS00OGVmLTg2YzctMTE0NzVhODM1ZWJmXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "50872", + "director": { + "name": "Carl Theodor Dreyer" + } + }, + { + "imdb_id": "tt1950186", + "title": "Ford v Ferrari", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BM2UwMDVmMDItM2I2Yi00NGZmLTk4ZTUtY2JjNTQ3OGQ5ZjM2XkEyXkFqcGdeQXVyMTA1OTYzOTUx._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "330201", + "director": { + "name": "James Mangold" + } + }, + { + "imdb_id": "tt0118715", + "title": "The Big Lebowski", + "year": 1998, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTQ0NjUzMDMyOF5BMl5BanBnXkFtZTgwODA1OTU0MDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "761926", + "director": { + "name": "Joel Coen" + } + }, + { + "imdb_id": "tt2024544", + "title": "12 Years a Slave", + "year": 2013, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjExMTEzODkyN15BMl5BanBnXkFtZTcwNTU4NTc4OQ@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "661987", + "director": { + "name": "Steve McQueen" + } + }, + { + "imdb_id": "tt0892769", + "title": "How to Train Your Dragon", + "year": 2010, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjA5NDQyMjc2NF5BMl5BanBnXkFtZTcwMjg5ODcyMw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "690438", + "director": { + "name": "Dean DeBlois" + } + }, + { + "imdb_id": "tt1392190", + "title": "Mad Max: Fury Road", + "year": 2015, + "image_url": "https://m.media-amazon.com/images/M/MV5BN2EwM2I5OWMtMGQyMi00Zjg1LWJkNTctZTdjYTA4OGUwZjMyXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "921319", + "director": { + "name": "George Miller" + } + }, + { + "imdb_id": "tt0097165", + "title": "Dead Poets Society", + "year": 1989, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGYwYWNjMzgtNGU4ZC00NWQ2LWEwZjUtMzE1Zjc3NjY3YTU1XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "446055", + "director": { + "name": "Peter Weir" + } + }, + { + "imdb_id": "tt0052618", + "title": "Ben-Hur", + "year": 1959, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjgxY2JiZDYtZmMwOC00ZmJjLWJmODUtMTNmNWNmYWI5ODkwL2ltYWdlL2ltYWdlXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "227624", + "director": { + "name": "William Wyler" + } + }, + { + "imdb_id": "tt0405159", + "title": "Million Dollar Baby", + "year": 2004, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTkxNzA1NDQxOV5BMl5BanBnXkFtZTcwNTkyMTIzMw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "654975", + "director": { + "name": "Clint Eastwood" + } + }, + { + "imdb_id": "tt0046268", + "title": "The Wages of Fear", + "year": 1953, + "image_url": "https://m.media-amazon.com/images/M/MV5BZDdkNzMwZmUtY2Q5MS00ZmM2LWJhYjItYTBjMWY0MGM4MDRjXkEyXkFqcGdeQXVyNTA4NzY1MzY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "57726", + "director": { + "name": "Henri-Georges Clouzot" + } + }, + { + "imdb_id": "tt1201607", + "title": "Harry Potter and the Deathly Hallows: Part 2", + "year": 2011, + "image_url": "https://m.media-amazon.com/images/M/MV5BMGVmMWNiMDktYjQ0Mi00MWIxLTk0N2UtN2ZlYTdkN2IzNDNlXkEyXkFqcGdeQXVyODE5NzE3OTE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "797811", + "director": { + "name": "David Yates" + } + }, + { + "imdb_id": "tt0077711", + "title": "Autumn Sonata", + "year": 1978, + "image_url": "https://m.media-amazon.com/images/M/MV5BNGIyMWRlYTctMWNlMi00ZGIzLThjOTgtZjQzZjRjNmRhMDdlXkEyXkFqcGdeQXVyMTAwMzUyOTc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "30552", + "director": { + "name": "Ingmar Bergman" + } + }, + { + "imdb_id": "tt0074958", + "title": "Network", + "year": 1976, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGNjYjM2MzItZGQzZi00NmY3LTgxOGUtMTQ2MWQxNWQ2MmMwXkEyXkFqcGdeQXVyNzM0MTUwNTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "151571", + "director": { + "name": "Sidney Lumet" + } + }, + { + "imdb_id": "tt0092005", + "title": "Stand by Me", + "year": 1986, + "image_url": "https://m.media-amazon.com/images/M/MV5BODJmY2Y2OGQtMDg2My00N2Q3LWJmZTUtYTc2ODBjZDVlNDlhXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "378398", + "director": { + "name": "Rob Reiner" + } + }, + { + "imdb_id": "tt4016934", + "title": "The Handmaiden", + "year": 2016, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDJhYTk2MTctZmVmOS00OTViLTgxNjQtMzQxOTRiMDdmNGRjXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "126114", + "director": { + "name": "Park Chan-Wook" + } + }, + { + "imdb_id": "tt0061512", + "title": "Cool Hand Luke", + "year": 1967, + "image_url": "https://m.media-amazon.com/images/M/MV5BOWFlNzZhYmYtYTI5YS00MDQyLWIyNTUtNTRjMWUwNTEzNjA0XkEyXkFqcGdeQXVyNjUwNzk3NDc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "169220", + "director": { + "name": "Stuart Rosenberg" + } + }, + { + "imdb_id": "tt0053198", + "title": "The 400 Blows", + "year": 1959, + "image_url": "https://m.media-amazon.com/images/M/MV5BYTQ4MjA4NmYtYjRhNi00MTEwLTg0NjgtNjk3ODJlZGU4NjRkL2ltYWdlL2ltYWdlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "110653", + "director": { + "name": "Fran\u00e7ois Truffaut" + } + }, + { + "imdb_id": "tt3315342", + "title": "Logan", + "year": 2017, + "image_url": "https://m.media-amazon.com/images/M/MV5BYzc5MTU4N2EtYTkyMi00NjdhLTg3NWEtMTY4OTEyMzJhZTAzXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.1, + "imdb_rating_count": "682433", + "director": { + "name": "James Mangold" + } + }, + { + "imdb_id": "tt1028532", + "title": "Hachi: A Dog's Tale", + "year": 2009, + "image_url": "https://m.media-amazon.com/images/M/MV5BNzE4NDg5OWMtMzg3NC00ZDRjLTllMDMtZTRjNWZmNjBmMGZlXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "265011", + "director": { + "name": "Lasse Hallstr\u00f6m" + } + }, + { + "imdb_id": "tt0113247", + "title": "La Haine", + "year": 1995, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDNiOTA5YjktY2Q0Ni00ODgzLWE5MWItNGExOWRlYjY2MjBlXkEyXkFqcGdeQXVyNjQ2MjQ5NzM@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "158838", + "director": { + "name": "Mathieu Kassovitz" + } + }, + { + "imdb_id": "tt0116231", + "title": "The Bandit", + "year": 1996, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGQ4ZjFmYjktOGNkNS00OWYyLWIyZjgtMGJjM2U1ZTA0ZTlhXkEyXkFqcGdeQXVyNTA4NzY1MzY@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "67258", + "director": { + "name": "Yavuz Turgul" + } + }, + { + "imdb_id": "tt0091763", + "title": "Platoon", + "year": 1986, + "image_url": "https://m.media-amazon.com/images/M/MV5BMzRjZjdlMjQtODVkYS00N2YzLWJlYWYtMGVlN2E5MWEwMWQzXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "393713", + "director": { + "name": "Oliver Stone" + } + }, + { + "imdb_id": "tt1895587", + "title": "Spotlight", + "year": 2015, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjIyOTM5OTIzNV5BMl5BanBnXkFtZTgwMDkzODE2NjE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "439657", + "director": { + "name": "Tom McCarthy" + } + }, + { + "imdb_id": "tt1954470", + "title": "Gangs of Wasseypur", + "year": 2012, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTc5NjY4MjUwNF5BMl5BanBnXkFtZTgwODM3NzM5MzE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "88884", + "director": { + "name": "Anurag Kashyap" + } + }, + { + "imdb_id": "tt0079470", + "title": "Monty Python's Life of Brian", + "year": 1979, + "image_url": "https://m.media-amazon.com/images/M/MV5BMzAwNjU1OTktYjY3Mi00NDY5LWFlZWUtZjhjNGE0OTkwZDkwXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "379956", + "director": { + "name": "Terry Jones" + } + }, + { + "imdb_id": "tt0395169", + "title": "Hotel Rwanda", + "year": 2004, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGJjYmIzZmQtNWE4Yy00ZGVmLWJkZGEtMzUzNmQ4ZWFlMjRhXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "342448", + "director": { + "name": "Terry George" + } + }, + { + "imdb_id": "tt0198781", + "title": "Monsters, Inc.", + "year": 2001, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTY1NTI0ODUyOF5BMl5BanBnXkFtZTgwNTEyNjQ0MDE@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "846708", + "director": { + "name": "Pete Docter" + } + }, + { + "imdb_id": "tt0032976", + "title": "Rebecca", + "year": 1940, + "image_url": "https://m.media-amazon.com/images/M/MV5BYTcxYWExOTMtMWFmYy00ZjgzLWI0YjktNWEzYzJkZTg0NDdmL2ltYWdlXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "130370", + "director": { + "name": "Alfred Hitchcock" + } + }, + { + "imdb_id": "tt5323662", + "title": "A Silent Voice: The Movie", + "year": 2016, + "image_url": "https://m.media-amazon.com/images/M/MV5BZGRkOGMxYTUtZTBhYS00NzI3LWEzMDQtOWRhMmNjNjJjMzM4XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "61005", + "director": { + "name": "Naoko Yamada" + } + }, + { + "imdb_id": "tt1979320", + "title": "Rush", + "year": 2013, + "image_url": "https://m.media-amazon.com/images/M/MV5BOWEwODJmZDItYTNmZC00OGM4LThlNDktOTQzZjIzMGQxODA4XkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "450169", + "director": { + "name": "Ron Howard" + } + }, + { + "imdb_id": "tt0060107", + "title": "Andrei Rublev", + "year": 1966, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjM2MjMwNzUzN15BMl5BanBnXkFtZTgwMjEzMzE5MTE@._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "50351", + "director": { + "name": "Andrei Tarkovsky" + } + }, + { + "imdb_id": "tt0758758", + "title": "Into the Wild", + "year": 2007, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTAwNDEyODU1MjheQTJeQWpwZ15BbWU2MDc3NDQwNw@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "591707", + "director": { + "name": "Sean Penn" + } + }, + { + "imdb_id": "tt0245712", + "title": "Love's a Bitch", + "year": 2000, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjQxMWJhMzMtMzllZi00NzMwLTllYjktNTcwZmU4ZmU3NTA0XkEyXkFqcGdeQXVyMTAzMDM4MjM0._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "231296", + "director": { + "name": "Alejandro G. I\u00f1\u00e1rritu" + } + }, + { + "imdb_id": "tt0118694", + "title": "In the Mood for Love", + "year": 2000, + "image_url": "https://m.media-amazon.com/images/M/MV5BMDJkYjRiMTgtYjBhNi00ZjQwLWI3MWItNTZkY2MzNjcxNzM5XkEyXkFqcGdeQXVyNzI1NzMxNzM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "134904", + "director": { + "name": "Kar-Wai Wong" + } + }, + { + "imdb_id": "tt0075148", + "title": "Rocky", + "year": 1976, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTY5MDMzODUyOF5BMl5BanBnXkFtZTcwMTQ3NTMyNA@@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "537112", + "director": { + "name": "John G. Avildsen" + } + }, + { + "imdb_id": "tt0025316", + "title": "It Happened One Night", + "year": 1934, + "image_url": "https://m.media-amazon.com/images/M/MV5BYzJmMWE5NjAtNWMyZS00NmFiLWIwMDgtZDE2NzczYWFhNzIzXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "98242", + "director": { + "name": "Frank Capra" + } + }, + { + "imdb_id": "tt0087544", + "title": "Nausica\u00e4 of the Valley of the Wind", + "year": 1984, + "image_url": "https://m.media-amazon.com/images/M/MV5BZTI3NmJmYTQtNDg4NS00M2VlLTgzZDAtZWIwZDcyOWY5YzIzXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "158800", + "director": { + "name": "Hayao Miyazaki" + } + }, + { + "imdb_id": "tt0169858", + "title": "Neon Genesis Evangelion: The End of Evangelion", + "year": 1997, + "image_url": "https://m.media-amazon.com/images/M/MV5BZjJhMThkNTQtNjkxNy00MDdjLTg4MWQtMTI2MmQ3MDVmODUzXkEyXkFqcGdeQXVyMTAwOTA3NzY3._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "45065", + "director": { + "name": "Hideaki Anno" + } + }, + { + "imdb_id": "tt0058946", + "title": "The Battle of Algiers", + "year": 1966, + "image_url": "https://m.media-amazon.com/images/M/MV5BZWEzMGY4OTQtYTdmMy00M2QwLTliYTQtYWUzYzc3OTA5YzIwXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "56346", + "director": { + "name": "Gillo Pontecorvo" + } + }, + { + "imdb_id": "tt0381681", + "title": "Before Sunset", + "year": 2004, + "image_url": "https://m.media-amazon.com/images/M/MV5BMTQ1MjAwNTM5Ml5BMl5BanBnXkFtZTYwNDM0MTc3._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "246546", + "director": { + "name": "Richard Linklater" + } + }, + { + "imdb_id": "tt0083922", + "title": "Fanny and Alexander", + "year": 1982, + "image_url": "https://m.media-amazon.com/images/M/MV5BZmQzMDE5ZWQtOTU3ZS00ZjdhLWI0OTctZDNkODk4YThmOTRhL2ltYWdlXkEyXkFqcGdeQXVyNjc1NTYyMjg@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "60272", + "director": { + "name": "Ingmar Bergman" + } + }, + { + "imdb_id": "tt0111495", + "title": "Three Colors: Red", + "year": 1994, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjQ5MjQwZWMtMjcwNC00ZTM1LWIxNWQtZWQ2MTEzM2E2ZWU4XkEyXkFqcGdeQXVyNjUwNzk3NDc@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "97011", + "director": { + "name": "Krzysztof Kieslowski" + } + }, + { + "imdb_id": "tt0093779", + "title": "The Princess Bride", + "year": 1987, + "image_url": "https://m.media-amazon.com/images/M/MV5BMGM4M2Q5N2MtNThkZS00NTc1LTk1NTItNWEyZjJjNDRmNDk5XkEyXkFqcGdeQXVyMjA0MDQ0Mjc@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "406227", + "director": { + "name": "Rob Reiner" + } + }, + { + "imdb_id": "tt0048021", + "title": "Rififi", + "year": 1955, + "image_url": "https://m.media-amazon.com/images/M/MV5BNjZmZGRiMDgtNDkwNi00OTZhLWFhZmMtYTdkYjgyNThhOWY3XkEyXkFqcGdeQXVyMTA1NTM1NDI2._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "32112", + "director": { + "name": "Jules Dassin" + } + }, + { + "imdb_id": "tt0087884", + "title": "Paris, Texas", + "year": 1984, + "image_url": "https://m.media-amazon.com/images/M/MV5BM2RjMmU3ZWItYzBlMy00ZmJkLWE5YzgtNTVkODdhOWM3NGZhXkEyXkFqcGdeQXVyNDA5Mjg5MjA@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "98082", + "director": { + "name": "Wim Wenders" + } + }, + { + "imdb_id": "tt11032374", + "title": "Demon Slayer: Mugen Train", + "year": 2020, + "image_url": "https://m.media-amazon.com/images/M/MV5BODI2NjdlYWItMTE1ZC00YzI2LTlhZGQtNzE3NzA4MWM0ODYzXkEyXkFqcGdeQXVyNjU1OTg4OTM@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "32591", + "director": { + "name": "Haruo Sotozaki" + } + }, + { + "imdb_id": "tt0018455", + "title": "Sunrise", + "year": 1927, + "image_url": "https://m.media-amazon.com/images/M/MV5BNDVkYmYwM2ItNzRiMy00NWQ4LTlhMjMtNDI1ZDYyOGVmMzJjXkEyXkFqcGdeQXVyNTgzMzU5MDI@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "49154", + "director": { + "name": "F.W. Murnau" + } + }, + { + "imdb_id": "tt0050783", + "title": "Nights of Cabiria", + "year": 1957, + "image_url": "https://m.media-amazon.com/images/M/MV5BOTdhNmUxZmQtNmMwNC00MzE3LWE1MTUtZDgxZTYwYjEzZjcwXkEyXkFqcGdeQXVyNTA1NjYyMDk@._V1_UX128_CR0,3,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "45478", + "director": { + "name": "Federico Fellini" + } + }, + { + "imdb_id": "tt7060344", + "title": "Raatchasan", + "year": 2018, + "image_url": "https://m.media-amazon.com/images/M/MV5BMjU2NzIzMjYtMGE2ZS00YzgzLWE5MzgtZTFiYTlmOWNlYmJkXkEyXkFqcGdeQXVyODIwMDI1NjM@._V1_UY176_CR0,0,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "33886", + "director": { + "name": "Ram Kumar" + } + }, + { + "imdb_id": "tt10431500", + "title": "Miracle in Cell No. 7", + "year": 2019, + "image_url": "https://m.media-amazon.com/images/M/MV5BOGE3N2QxN2YtM2ZlNS00MWIyLWE1NDAtYWFlN2FiYjY1MjczXkEyXkFqcGdeQXVyOTUwNzc0ODc@._V1_UX128_CR0,1,128,176_AL_.jpg", + "imdb_rating": 8.0, + "imdb_rating_count": "41795", + "director": { + "name": "Mehmet Ada \u00d6ztekin" + } + } +] diff --git a/servers/fastapi-sqlalchemy/poetry.lock b/servers/fastapi-sqlalchemy/poetry.lock new file mode 100644 index 0000000..414808f --- /dev/null +++ b/servers/fastapi-sqlalchemy/poetry.lock @@ -0,0 +1,1023 @@ +[[package]] +name = "aiosqlite" +version = "0.17.0" +description = "asyncio bridge to the standard sqlite3 module" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing_extensions = ">=3.7.2" + +[[package]] +name = "alembic" +version = "1.7.4" +description = "A database migration tool for SQLAlchemy." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +Mako = "*" +SQLAlchemy = ">=1.3.0" + +[package.extras] +tz = ["python-dateutil"] + +[[package]] +name = "anyio" +version = "3.3.3" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +idna = ">=2.8" +sniffio = ">=1.1" + +[package.extras] +doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"] +test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=6.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"] +trio = ["trio (>=0.16)"] + +[[package]] +name = "asgiref" +version = "3.4.1" +description = "ASGI specs, helper code, and adapters" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"] + +[[package]] +name = "asyncpg" +version = "0.24.0" +description = "An asyncio PostgreSQL driver" +category = "main" +optional = false +python-versions = ">=3.6.0" + +[package.extras] +dev = ["Cython (>=0.29.24,<0.30.0)", "pytest (>=6.0)", "Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "pycodestyle (>=2.7.0,<2.8.0)", "flake8 (>=3.9.2,<3.10.0)", "uvloop (>=0.15.3)"] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)"] +test = ["pycodestyle (>=2.7.0,<2.8.0)", "flake8 (>=3.9.2,<3.10.0)", "uvloop (>=0.15.3)"] + +[[package]] +name = "cached-property" +version = "1.5.2" +description = "A decorator for caching properties in classes." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "certifi" +version = "2021.10.8" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "charset-normalizer" +version = "2.0.7" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" +optional = false +python-versions = ">=3.5.0" + +[package.extras] +unicode_backport = ["unicodedata2"] + +[[package]] +name = "click" +version = "8.0.3" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "dnspython" +version = "2.1.0" +description = "DNS toolkit" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +dnssec = ["cryptography (>=2.6)"] +doh = ["requests", "requests-toolbelt"] +idna = ["idna (>=2.1)"] +curio = ["curio (>=1.2)", "sniffio (>=1.1)"] +trio = ["trio (>=0.14.0)", "sniffio (>=1.1)"] + +[[package]] +name = "email-validator" +version = "1.1.3" +description = "A robust email syntax and deliverability validation library for Python 2.x/3.x." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +dnspython = ">=1.15.0" +idna = ">=2.0.0" + +[[package]] +name = "fastapi" +version = "0.70.0" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +category = "main" +optional = false +python-versions = ">=3.6.1" + +[package.dependencies] +email_validator = {version = ">=1.1.1,<2.0.0", optional = true, markers = "extra == \"all\""} +itsdangerous = {version = ">=1.1.0,<3.0.0", optional = true, markers = "extra == \"all\""} +jinja2 = {version = ">=2.11.2,<4.0.0", optional = true, markers = "extra == \"all\""} +orjson = {version = ">=3.2.1,<4.0.0", optional = true, markers = "extra == \"all\""} +pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0" +python-multipart = {version = ">=0.0.5,<0.0.6", optional = true, markers = "extra == \"all\""} +pyyaml = {version = ">=5.3.1,<6.0.0", optional = true, markers = "extra == \"all\""} +requests = {version = ">=2.24.0,<3.0.0", optional = true, markers = "extra == \"all\""} +starlette = "0.16.0" +ujson = {version = ">=4.0.1,<5.0.0", optional = true, markers = "extra == \"all\""} +uvicorn = {version = ">=0.12.0,<0.16.0", extras = ["standard"], optional = true, markers = "extra == \"all\""} + +[package.extras] +all = ["requests (>=2.24.0,<3.0.0)", "jinja2 (>=2.11.2,<4.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "itsdangerous (>=1.1.0,<3.0.0)", "pyyaml (>=5.3.1,<6.0.0)", "ujson (>=4.0.1,<5.0.0)", "orjson (>=3.2.1,<4.0.0)", "email_validator (>=1.1.1,<2.0.0)", "uvicorn[standard] (>=0.12.0,<0.16.0)"] +dev = ["python-jose[cryptography] (>=3.3.0,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "autoflake (>=1.4.0,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "uvicorn[standard] (>=0.12.0,<0.16.0)"] +doc = ["mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=7.1.9,<8.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "typer-cli (>=0.0.12,<0.0.13)", "pyyaml (>=5.3.1,<6.0.0)"] +test = ["pytest (>=6.2.4,<7.0.0)", "pytest-cov (>=2.12.0,<4.0.0)", "mypy (==0.910)", "flake8 (>=3.8.3,<4.0.0)", "black (==21.9b0)", "isort (>=5.0.6,<6.0.0)", "requests (>=2.24.0,<3.0.0)", "httpx (>=0.14.0,<0.19.0)", "email_validator (>=1.1.1,<2.0.0)", "sqlalchemy (>=1.3.18,<1.5.0)", "peewee (>=3.13.3,<4.0.0)", "databases[sqlite] (>=0.3.2,<0.6.0)", "orjson (>=3.2.1,<4.0.0)", "ujson (>=4.0.1,<5.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "flask (>=1.1.2,<3.0.0)", "anyio[trio] (>=3.2.1,<4.0.0)", "types-ujson (==0.1.1)", "types-orjson (==3.6.0)", "types-dataclasses (==0.1.7)"] + +[[package]] +name = "graphql-core" +version = "3.1.6" +description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL." +category = "main" +optional = false +python-versions = ">=3.6,<4" + +[[package]] +name = "greenlet" +version = "1.1.2" +description = "Lightweight in-process concurrent programming" +category = "main" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" + +[package.extras] +docs = ["sphinx"] + +[[package]] +name = "gunicorn" +version = "20.1.0" +description = "WSGI HTTP Server for UNIX" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +eventlet = ["eventlet (>=0.24.1)"] +gevent = ["gevent (>=1.4.0)"] +setproctitle = ["setproctitle"] +tornado = ["tornado (>=0.2)"] + +[[package]] +name = "h11" +version = "0.12.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "httptools" +version = "0.2.0" +description = "A collection of framework independent HTTP protocol utils." +category = "main" +optional = false +python-versions = "*" + +[package.extras] +test = ["Cython (==0.29.22)"] + +[[package]] +name = "idna" +version = "3.2" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "itsdangerous" +version = "2.0.1" +description = "Safely pass data to untrusted environments and back." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "jinja2" +version = "3.0.2" +description = "A very fast and expressive template engine." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "mako" +version = "1.1.5" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["babel"] +lingua = ["lingua"] + +[[package]] +name = "markupsafe" +version = "2.0.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "orjson" +version = "3.6.4" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "pydantic" +version = "1.8.2" +description = "Data validation and settings management using python 3.6 type hinting" +category = "main" +optional = false +python-versions = ">=3.6.1" + +[package.dependencies] +typing-extensions = ">=3.7.4.3" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pygments" +version = "2.10.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "0.19.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "python-multipart" +version = "0.0.5" +description = "A streaming multipart parser for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = ">=1.4.0" + +[[package]] +name = "pyyaml" +version = "5.4.1" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[[package]] +name = "requests" +version = "2.26.0" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} +idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] +use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] + +[[package]] +name = "sentinel" +version = "0.3.0" +description = "Create sentinel objects, akin to None, NotImplemented, Ellipsis" +category = "main" +optional = false +python-versions = ">=3.6,<4.0" + +[package.extras] +varname = ["varname (>=0.1)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "sniffio" +version = "1.2.0" +description = "Sniff out which async library your code is running under" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "sqlalchemy" +version = "1.4.25" +description = "Database Abstraction Library" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} + +[package.extras] +aiomysql = ["greenlet (!=0.4.17)", "aiomysql"] +aiosqlite = ["typing_extensions (!=3.10.0.1)", "greenlet (!=0.4.17)", "aiosqlite"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["greenlet (!=0.4.17)", "asyncmy (>=0.2.0)"] +mariadb_connector = ["mariadb (>=1.0.1)"] +mssql = ["pyodbc"] +mssql_pymssql = ["pymssql"] +mssql_pyodbc = ["pyodbc"] +mypy = ["sqlalchemy2-stubs", "mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0,<2)", "mysqlclient (>=1.4.0)"] +mysql_connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=7,<8)", "cx_oracle (>=7)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql_asyncpg = ["greenlet (!=0.4.17)", "asyncpg"] +postgresql_pg8000 = ["pg8000 (>=1.16.6)"] +postgresql_psycopg2binary = ["psycopg2-binary"] +postgresql_psycopg2cffi = ["psycopg2cffi"] +pymysql = ["pymysql (<1)", "pymysql"] +sqlcipher = ["sqlcipher3-binary"] + +[[package]] +name = "starlette" +version = "0.16.0" +description = "The little ASGI library that shines." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +anyio = ">=3.0.0,<4" + +[package.extras] +full = ["itsdangerous", "jinja2", "python-multipart", "pyyaml", "requests", "graphene"] + +[[package]] +name = "strawberry-graphql" +version = "0.83.0" +description = "A library for creating GraphQL APIs" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" + +[package.dependencies] +cached-property = ">=1.5.2,<2.0.0" +click = ">=7.0,<9.0" +graphql-core = ">=3.1.0,<3.2.0" +pygments = ">=2.3,<3.0" +python-dateutil = ">=2.7.0,<3.0.0" +python-multipart = ">=0.0.5,<0.0.6" +sentinel = ">=0.3.0,<0.4.0" +typing_extensions = ">=3.7.4,<4.0.0" + +[package.extras] +asgi = ["starlette (>=0.13.6,<0.17.0)"] +debug-server = ["starlette (>=0.13.6,<0.17.0)", "uvicorn (>=0.11.6,<0.16.0)"] +django = ["django (>=2,<4)", "asgiref (>=3.2,<4.0)"] +flask = ["flask (>=1.1,<2.0)"] +opentelemetry = ["opentelemetry-api (<2)", "opentelemetry-sdk (<2)"] +pydantic = ["pydantic (<2)"] +sanic = ["sanic (>=20.12.2,<22.0.0)"] +aiohttp = ["aiohttp (>=3.7.4.post0,<4.0.0)"] + +[[package]] +name = "typing-extensions" +version = "3.10.0.2" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "ujson" +version = "4.2.0" +description = "Ultra fast JSON encoder and decoder for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "urllib3" +version = "1.26.7" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +brotli = ["brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "uvicorn" +version = "0.15.0" +description = "The lightning-fast ASGI server." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +asgiref = ">=3.4.0" +click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} +h11 = ">=0.8" +httptools = {version = ">=0.2.0,<0.3.0", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +PyYAML = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchgod = {version = ">=0.6", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=9.1", optional = true, markers = "extra == \"standard\""} + +[package.extras] +standard = ["websockets (>=9.1)", "httptools (>=0.2.0,<0.3.0)", "watchgod (>=0.6)", "python-dotenv (>=0.13)", "PyYAML (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "colorama (>=0.4)"] + +[[package]] +name = "uvloop" +version = "0.16.0" +description = "Fast implementation of asyncio event loop on top of libuv" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +dev = ["Cython (>=0.29.24,<0.30.0)", "pytest (>=3.6.0)", "Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "psutil", "pycodestyle (>=2.7.0,<2.8.0)", "pyOpenSSL (>=19.0.0,<19.1.0)", "mypy (>=0.800)"] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)"] +test = ["aiohttp", "flake8 (>=3.9.2,<3.10.0)", "psutil", "pycodestyle (>=2.7.0,<2.8.0)", "pyOpenSSL (>=19.0.0,<19.1.0)", "mypy (>=0.800)"] + +[[package]] +name = "watchgod" +version = "0.7" +description = "Simple, modern file watching and code reload in python." +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "websockets" +version = "10.0" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +category = "main" +optional = false +python-versions = ">=3.7" + +[metadata] +lock-version = "1.1" +python-versions = "^3.9" +content-hash = "19122d3874c3c47345477bbe191f31c775c4e768fc61d6cab95342c135798e78" + +[metadata.files] +aiosqlite = [ + {file = "aiosqlite-0.17.0-py3-none-any.whl", hash = "sha256:6c49dc6d3405929b1d08eeccc72306d3677503cc5e5e43771efc1e00232e8231"}, + {file = "aiosqlite-0.17.0.tar.gz", hash = "sha256:f0e6acc24bc4864149267ac82fb46dfb3be4455f99fe21df82609cc6e6baee51"}, +] +alembic = [ + {file = "alembic-1.7.4-py3-none-any.whl", hash = "sha256:e3cab9e59778b3b6726bb2da9ced451c6622d558199fd3ef914f3b1e8f4ef704"}, + {file = "alembic-1.7.4.tar.gz", hash = "sha256:9d33f3ff1488c4bfab1e1a6dfebbf085e8a8e1a3e047a43ad29ad1f67f012a1d"}, +] +anyio = [ + {file = "anyio-3.3.3-py3-none-any.whl", hash = "sha256:56ceaeed2877723578b1341f4f68c29081db189cfb40a97d1922b9513f6d7db6"}, + {file = "anyio-3.3.3.tar.gz", hash = "sha256:8eccec339cb4a856c94a75d50fc1d451faf32a05ef406be462e2efc59c9838b0"}, +] +asgiref = [ + {file = "asgiref-3.4.1-py3-none-any.whl", hash = "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214"}, + {file = "asgiref-3.4.1.tar.gz", hash = "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9"}, +] +asyncpg = [ + {file = "asyncpg-0.24.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c4fc0205fe4ddd5aeb3dfdc0f7bafd43411181e1f5650189608e5971cceacff1"}, + {file = "asyncpg-0.24.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a7095890c96ba36f9f668eb552bb020dddb44f8e73e932f8573efc613ee83843"}, + {file = "asyncpg-0.24.0-cp310-cp310-win_amd64.whl", hash = "sha256:8ff5073d4b654e34bd5eaadc01dc4d68b8a9609084d835acd364cd934190a08d"}, + {file = "asyncpg-0.24.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e36c6806883786b19551bb70a4882561f31135dc8105a59662e0376cf5b2cbc5"}, + {file = "asyncpg-0.24.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ddffcb85227bf39cd1bedd4603e0082b243cf3b14ced64dce506a15b05232b83"}, + {file = "asyncpg-0.24.0-cp37-cp37m-win_amd64.whl", hash = "sha256:41704c561d354bef01353835a7846e5606faabbeb846214dfcf666cf53319f18"}, + {file = "asyncpg-0.24.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:29ef6ae0a617fc13cc2ac5dc8e9b367bb83cba220614b437af9b67766f4b6b20"}, + {file = "asyncpg-0.24.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eed43abc6ccf1dc02e0d0efc06ce46a411362f3358847c6b0ec9a43426f91ece"}, + {file = "asyncpg-0.24.0-cp38-cp38-win_amd64.whl", hash = "sha256:129d501f3d30616afd51eb8d3142ef51ba05374256bd5834cec3ef4956a9b317"}, + {file = "asyncpg-0.24.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a458fc69051fbb67d995fdda46d75a012b5d6200f91e17d23d4751482640ed4c"}, + {file = "asyncpg-0.24.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:556b0e92e2b75dc028b3c4bc9bd5162ddf0053b856437cf1f04c97f9c6837d03"}, + {file = "asyncpg-0.24.0-cp39-cp39-win_amd64.whl", hash = "sha256:a738f4807c853623d3f93f0fea11f61be6b0e5ca16ea8aeb42c2c7ee742aa853"}, + {file = "asyncpg-0.24.0.tar.gz", hash = "sha256:dd2fa063c3344823487d9ddccb40802f02622ddf8bf8a6cc53885ee7a2c1c0c6"}, +] +cached-property = [ + {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"}, + {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"}, +] +certifi = [ + {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, + {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, +] +charset-normalizer = [ + {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"}, + {file = "charset_normalizer-2.0.7-py3-none-any.whl", hash = "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b"}, +] +click = [ + {file = "click-8.0.3-py3-none-any.whl", hash = "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3"}, + {file = "click-8.0.3.tar.gz", hash = "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +dnspython = [ + {file = "dnspython-2.1.0-py3-none-any.whl", hash = "sha256:95d12f6ef0317118d2a1a6fc49aac65ffec7eb8087474158f42f26a639135216"}, + {file = "dnspython-2.1.0.zip", hash = "sha256:e4a87f0b573201a0f3727fa18a516b055fd1107e0e5477cded4a2de497df1dd4"}, +] +email-validator = [ + {file = "email_validator-1.1.3-py2.py3-none-any.whl", hash = "sha256:5675c8ceb7106a37e40e2698a57c056756bf3f272cfa8682a4f87ebd95d8440b"}, + {file = "email_validator-1.1.3.tar.gz", hash = "sha256:aa237a65f6f4da067119b7df3f13e89c25c051327b2b5b66dc075f33d62480d7"}, +] +fastapi = [ + {file = "fastapi-0.70.0-py3-none-any.whl", hash = "sha256:a36d5f2fad931aa3575c07a3472c784e81f3e664e3bb5c8b9c88d0ec1104f59c"}, + {file = "fastapi-0.70.0.tar.gz", hash = "sha256:66da43cfe5185ea1df99552acffd201f1832c6b364e0f4136c0a99f933466ced"}, +] +graphql-core = [ + {file = "graphql-core-3.1.6.tar.gz", hash = "sha256:e65975b6a13878f9113a1fa5320760585b522d139944e005936b1b8358d0651a"}, + {file = "graphql_core-3.1.6-py3-none-any.whl", hash = "sha256:c78d09596d347e1cffd266c5384abfedf43ed1eae08729773bebb3d527fe5a14"}, +] +greenlet = [ + {file = "greenlet-1.1.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:58df5c2a0e293bf665a51f8a100d3e9956febfbf1d9aaf8c0677cf70218910c6"}, + {file = "greenlet-1.1.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:aec52725173bd3a7b56fe91bc56eccb26fbdff1386ef123abb63c84c5b43b63a"}, + {file = "greenlet-1.1.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:833e1551925ed51e6b44c800e71e77dacd7e49181fdc9ac9a0bf3714d515785d"}, + {file = "greenlet-1.1.2-cp27-cp27m-win32.whl", hash = "sha256:aa5b467f15e78b82257319aebc78dd2915e4c1436c3c0d1ad6f53e47ba6e2713"}, + {file = "greenlet-1.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:40b951f601af999a8bf2ce8c71e8aaa4e8c6f78ff8afae7b808aae2dc50d4c40"}, + {file = "greenlet-1.1.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:95e69877983ea39b7303570fa6760f81a3eec23d0e3ab2021b7144b94d06202d"}, + {file = "greenlet-1.1.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:356b3576ad078c89a6107caa9c50cc14e98e3a6c4874a37c3e0273e4baf33de8"}, + {file = "greenlet-1.1.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:8639cadfda96737427330a094476d4c7a56ac03de7265622fcf4cfe57c8ae18d"}, + {file = "greenlet-1.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97e5306482182170ade15c4b0d8386ded995a07d7cc2ca8f27958d34d6736497"}, + {file = "greenlet-1.1.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6a36bb9474218c7a5b27ae476035497a6990e21d04c279884eb10d9b290f1b1"}, + {file = "greenlet-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abb7a75ed8b968f3061327c433a0fbd17b729947b400747c334a9c29a9af6c58"}, + {file = "greenlet-1.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:14d4f3cd4e8b524ae9b8aa567858beed70c392fdec26dbdb0a8a418392e71708"}, + {file = "greenlet-1.1.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:17ff94e7a83aa8671a25bf5b59326ec26da379ace2ebc4411d690d80a7fbcf23"}, + {file = "greenlet-1.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9f3cba480d3deb69f6ee2c1825060177a22c7826431458c697df88e6aeb3caee"}, + {file = "greenlet-1.1.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:fa877ca7f6b48054f847b61d6fa7bed5cebb663ebc55e018fda12db09dcc664c"}, + {file = "greenlet-1.1.2-cp35-cp35m-win32.whl", hash = "sha256:7cbd7574ce8e138bda9df4efc6bf2ab8572c9aff640d8ecfece1b006b68da963"}, + {file = "greenlet-1.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:903bbd302a2378f984aef528f76d4c9b1748f318fe1294961c072bdc7f2ffa3e"}, + {file = "greenlet-1.1.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:049fe7579230e44daef03a259faa24511d10ebfa44f69411d99e6a184fe68073"}, + {file = "greenlet-1.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:dd0b1e9e891f69e7675ba5c92e28b90eaa045f6ab134ffe70b52e948aa175b3c"}, + {file = "greenlet-1.1.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:7418b6bfc7fe3331541b84bb2141c9baf1ec7132a7ecd9f375912eca810e714e"}, + {file = "greenlet-1.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9d29ca8a77117315101425ec7ec2a47a22ccf59f5593378fc4077ac5b754fce"}, + {file = "greenlet-1.1.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21915eb821a6b3d9d8eefdaf57d6c345b970ad722f856cd71739493ce003ad08"}, + {file = "greenlet-1.1.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eff9d20417ff9dcb0d25e2defc2574d10b491bf2e693b4e491914738b7908168"}, + {file = "greenlet-1.1.2-cp36-cp36m-win32.whl", hash = "sha256:32ca72bbc673adbcfecb935bb3fb1b74e663d10a4b241aaa2f5a75fe1d1f90aa"}, + {file = "greenlet-1.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f0214eb2a23b85528310dad848ad2ac58e735612929c8072f6093f3585fd342d"}, + {file = "greenlet-1.1.2-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:b92e29e58bef6d9cfd340c72b04d74c4b4e9f70c9fa7c78b674d1fec18896dc4"}, + {file = "greenlet-1.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fdcec0b8399108577ec290f55551d926d9a1fa6cad45882093a7a07ac5ec147b"}, + {file = "greenlet-1.1.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:93f81b134a165cc17123626ab8da2e30c0455441d4ab5576eed73a64c025b25c"}, + {file = "greenlet-1.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e12bdc622676ce47ae9abbf455c189e442afdde8818d9da983085df6312e7a1"}, + {file = "greenlet-1.1.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c790abda465726cfb8bb08bd4ca9a5d0a7bd77c7ac1ca1b839ad823b948ea28"}, + {file = "greenlet-1.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f276df9830dba7a333544bd41070e8175762a7ac20350786b322b714b0e654f5"}, + {file = "greenlet-1.1.2-cp37-cp37m-win32.whl", hash = "sha256:64e6175c2e53195278d7388c454e0b30997573f3f4bd63697f88d855f7a6a1fc"}, + {file = "greenlet-1.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b11548073a2213d950c3f671aa88e6f83cda6e2fb97a8b6317b1b5b33d850e06"}, + {file = "greenlet-1.1.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:9633b3034d3d901f0a46b7939f8c4d64427dfba6bbc5a36b1a67364cf148a1b0"}, + {file = "greenlet-1.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:eb6ea6da4c787111adf40f697b4e58732ee0942b5d3bd8f435277643329ba627"}, + {file = "greenlet-1.1.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:f3acda1924472472ddd60c29e5b9db0cec629fbe3c5c5accb74d6d6d14773478"}, + {file = "greenlet-1.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e859fcb4cbe93504ea18008d1df98dee4f7766db66c435e4882ab35cf70cac43"}, + {file = "greenlet-1.1.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00e44c8afdbe5467e4f7b5851be223be68adb4272f44696ee71fe46b7036a711"}, + {file = "greenlet-1.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec8c433b3ab0419100bd45b47c9c8551248a5aee30ca5e9d399a0b57ac04651b"}, + {file = "greenlet-1.1.2-cp38-cp38-win32.whl", hash = "sha256:288c6a76705dc54fba69fbcb59904ae4ad768b4c768839b8ca5fdadec6dd8cfd"}, + {file = "greenlet-1.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:8d2f1fb53a421b410751887eb4ff21386d119ef9cde3797bf5e7ed49fb51a3b3"}, + {file = "greenlet-1.1.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:166eac03e48784a6a6e0e5f041cfebb1ab400b394db188c48b3a84737f505b67"}, + {file = "greenlet-1.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:572e1787d1460da79590bf44304abbc0a2da944ea64ec549188fa84d89bba7ab"}, + {file = "greenlet-1.1.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:be5f425ff1f5f4b3c1e33ad64ab994eed12fc284a6ea71c5243fd564502ecbe5"}, + {file = "greenlet-1.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1692f7d6bc45e3200844be0dba153612103db241691088626a33ff1f24a0d88"}, + {file = "greenlet-1.1.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7227b47e73dedaa513cdebb98469705ef0d66eb5a1250144468e9c3097d6b59b"}, + {file = "greenlet-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ff61ff178250f9bb3cd89752df0f1dd0e27316a8bd1465351652b1b4a4cdfd3"}, + {file = "greenlet-1.1.2-cp39-cp39-win32.whl", hash = "sha256:f70a9e237bb792c7cc7e44c531fd48f5897961701cdaa06cf22fc14965c496cf"}, + {file = "greenlet-1.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:013d61294b6cd8fe3242932c1c5e36e5d1db2c8afb58606c5a67efce62c1f5fd"}, + {file = "greenlet-1.1.2.tar.gz", hash = "sha256:e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a"}, +] +gunicorn = [ + {file = "gunicorn-20.1.0-py3-none-any.whl", hash = "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e"}, + {file = "gunicorn-20.1.0.tar.gz", hash = "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"}, +] +h11 = [ + {file = "h11-0.12.0-py3-none-any.whl", hash = "sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6"}, + {file = "h11-0.12.0.tar.gz", hash = "sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042"}, +] +httptools = [ + {file = "httptools-0.2.0-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:79dbc21f3612a78b28384e989b21872e2e3cf3968532601544696e4ed0007ce5"}, + {file = "httptools-0.2.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:78d03dd39b09c99ec917d50189e6743adbfd18c15d5944392d2eabda688bf149"}, + {file = "httptools-0.2.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a23166e5ae2775709cf4f7ad4c2048755ebfb272767d244e1a96d55ac775cca7"}, + {file = "httptools-0.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:3ab1f390d8867f74b3b5ee2a7ecc9b8d7f53750bd45714bf1cb72a953d7dfa77"}, + {file = "httptools-0.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a7594f9a010cdf1e16a58b3bf26c9da39bbf663e3b8d46d39176999d71816658"}, + {file = "httptools-0.2.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:01b392a166adcc8bc2f526a939a8aabf89fe079243e1543fd0e7dc1b58d737cb"}, + {file = "httptools-0.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:80ffa04fe8c8dfacf6e4cef8277347d35b0442c581f5814f3b0cf41b65c43c6e"}, + {file = "httptools-0.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d5682eeb10cca0606c4a8286a3391d4c3c5a36f0c448e71b8bd05be4e1694bfb"}, + {file = "httptools-0.2.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a289c27ccae399a70eacf32df9a44059ca2ba4ac444604b00a19a6c1f0809943"}, + {file = "httptools-0.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:813871f961edea6cb2fe312f2d9b27d12a51ba92545380126f80d0de1917ea15"}, + {file = "httptools-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:cc9be041e428c10f8b6ab358c6b393648f9457094e1dcc11b4906026d43cd380"}, + {file = "httptools-0.2.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b08d00d889a118f68f37f3c43e359aab24ee29eb2e3fe96d64c6a2ba8b9d6557"}, + {file = "httptools-0.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fd3b8905e21431ad306eeaf56644a68fdd621bf8f3097eff54d0f6bdf7262065"}, + {file = "httptools-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:200fc1cdf733a9ff554c0bb97a4047785cfaad9875307d6087001db3eb2b417f"}, + {file = "httptools-0.2.0.tar.gz", hash = "sha256:94505026be56652d7a530ab03d89474dc6021019d6b8682281977163b3471ea0"}, +] +idna = [ + {file = "idna-3.2-py3-none-any.whl", hash = "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a"}, + {file = "idna-3.2.tar.gz", hash = "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3"}, +] +itsdangerous = [ + {file = "itsdangerous-2.0.1-py3-none-any.whl", hash = "sha256:5174094b9637652bdb841a3029700391451bd092ba3db90600dea710ba28e97c"}, + {file = "itsdangerous-2.0.1.tar.gz", hash = "sha256:9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0"}, +] +jinja2 = [ + {file = "Jinja2-3.0.2-py3-none-any.whl", hash = "sha256:8569982d3f0889eed11dd620c706d39b60c36d6d25843961f33f77fb6bc6b20c"}, + {file = "Jinja2-3.0.2.tar.gz", hash = "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45"}, +] +mako = [ + {file = "Mako-1.1.5-py2.py3-none-any.whl", hash = "sha256:6804ee66a7f6a6416910463b00d76a7b25194cd27f1918500c5bd7be2a088a23"}, + {file = "Mako-1.1.5.tar.gz", hash = "sha256:169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3"}, +] +markupsafe = [ + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"}, + {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"}, +] +orjson = [ + {file = "orjson-3.6.4-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:48a69fed90f551bf9e9bb7a63e363fed4f67fc7c6e6bfb057054dc78f6721e9e"}, + {file = "orjson-3.6.4-cp310-cp310-manylinux_2_24_x86_64.whl", hash = "sha256:3722f02f50861d5e2a6be9d50bfe8da27a5155bb60043118a4e1ceb8c7040cf7"}, + {file = "orjson-3.6.4-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6cd300421b41f7e84e388b1792a18c3fc4c440ae3039434b9320956be05f0102"}, + {file = "orjson-3.6.4-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:e55ef66ee1d35b1c43db275aff3a1ba7e0408b31e624912a612bd799df14e73e"}, + {file = "orjson-3.6.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef8d332af8e6f7d6d2c1f3b5384c8d239800c1405b136da5f1710e802918d57"}, + {file = "orjson-3.6.4-cp37-cp37m-manylinux_2_24_aarch64.whl", hash = "sha256:8896e242a92733e454378e22711bd43a55fda4e80604fcefcc064ca977623673"}, + {file = "orjson-3.6.4-cp37-cp37m-manylinux_2_24_x86_64.whl", hash = "sha256:bdfa6f29f7b6aad70ce14591b99fba651008afa6bc3759f158887bcdc568b452"}, + {file = "orjson-3.6.4-cp37-none-win_amd64.whl", hash = "sha256:7c16c44872d33da0b97050a9ea8f7bc04e930c56e8185657bc200e1875a671da"}, + {file = "orjson-3.6.4-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:b467551f3be1dd08aff70c261cc883b63483eb0e31861ffe2cd8dac4fec7cfa9"}, + {file = "orjson-3.6.4-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:7bf61afef12f6416db3ea377f3491ca8ac677d3cac6db1ebffb7a5fe92cce3ca"}, + {file = "orjson-3.6.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:014ea74d4a5dd6a7e98540768072d5bd8c2fedbcbbedcbbaecbb614e66080e81"}, + {file = "orjson-3.6.4-cp38-cp38-manylinux_2_24_aarch64.whl", hash = "sha256:705cb90c536b4b9336c06b4a62c3c62e50354ddf20a2e48eb62bf34fb93d5b1f"}, + {file = "orjson-3.6.4-cp38-cp38-manylinux_2_24_x86_64.whl", hash = "sha256:159e2240fc36720a5cb51a1cbc9905dcb8758aad50b3e7f14f6178ce2e842004"}, + {file = "orjson-3.6.4-cp38-none-win_amd64.whl", hash = "sha256:d2ae087866a1050de83c2a28490850badb41aeeb8a4605c84dd6004d4e58b5a4"}, + {file = "orjson-3.6.4-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:b4a7efe039b1154b23e5df8787ac01e4621213aed303b6304a5f8ad89c01455d"}, + {file = "orjson-3.6.4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:7b24f97ed76005f447e152b0e493abce8c60f010131998295175446312a71caf"}, + {file = "orjson-3.6.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1121187e2a721864b52e5dbb3cf8dd4a4546519a5fef1e13fa777347fb8884a2"}, + {file = "orjson-3.6.4-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:4edffd9e2298ff4f4f939aa67248eba043dc65c9e7d940c28a62c5502c6f2aa8"}, + {file = "orjson-3.6.4-cp39-cp39-manylinux_2_24_x86_64.whl", hash = "sha256:e236fe94d8a77532f0065870fe265bd53e229012f39af99f79f5f1d4a8b0067c"}, + {file = "orjson-3.6.4-cp39-none-win_amd64.whl", hash = "sha256:5448cc1edd4c4bafc968404f92f0e9a582b4326ca442346bd1d1179a6faf52d9"}, + {file = "orjson-3.6.4.tar.gz", hash = "sha256:f8dbc428fc6d7420f231a7133d8dff4c882e64acb585dcf2fda74bdcfe1a6d9d"}, +] +pydantic = [ + {file = "pydantic-1.8.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:05ddfd37c1720c392f4e0d43c484217b7521558302e7069ce8d318438d297739"}, + {file = "pydantic-1.8.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a7c6002203fe2c5a1b5cbb141bb85060cbff88c2d78eccbc72d97eb7022c43e4"}, + {file = "pydantic-1.8.2-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:589eb6cd6361e8ac341db97602eb7f354551482368a37f4fd086c0733548308e"}, + {file = "pydantic-1.8.2-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:10e5622224245941efc193ad1d159887872776df7a8fd592ed746aa25d071840"}, + {file = "pydantic-1.8.2-cp36-cp36m-win_amd64.whl", hash = "sha256:99a9fc39470010c45c161a1dc584997f1feb13f689ecf645f59bb4ba623e586b"}, + {file = "pydantic-1.8.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a83db7205f60c6a86f2c44a61791d993dff4b73135df1973ecd9eed5ea0bda20"}, + {file = "pydantic-1.8.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:41b542c0b3c42dc17da70554bc6f38cbc30d7066d2c2815a94499b5684582ecb"}, + {file = "pydantic-1.8.2-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:ea5cb40a3b23b3265f6325727ddfc45141b08ed665458be8c6285e7b85bd73a1"}, + {file = "pydantic-1.8.2-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:18b5ea242dd3e62dbf89b2b0ec9ba6c7b5abaf6af85b95a97b00279f65845a23"}, + {file = "pydantic-1.8.2-cp37-cp37m-win_amd64.whl", hash = "sha256:234a6c19f1c14e25e362cb05c68afb7f183eb931dd3cd4605eafff055ebbf287"}, + {file = "pydantic-1.8.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:021ea0e4133e8c824775a0cfe098677acf6fa5a3cbf9206a376eed3fc09302cd"}, + {file = "pydantic-1.8.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e710876437bc07bd414ff453ac8ec63d219e7690128d925c6e82889d674bb505"}, + {file = "pydantic-1.8.2-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:ac8eed4ca3bd3aadc58a13c2aa93cd8a884bcf21cb019f8cfecaae3b6ce3746e"}, + {file = "pydantic-1.8.2-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4a03cbbe743e9c7247ceae6f0d8898f7a64bb65800a45cbdc52d65e370570820"}, + {file = "pydantic-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:8621559dcf5afacf0069ed194278f35c255dc1a1385c28b32dd6c110fd6531b3"}, + {file = "pydantic-1.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8b223557f9510cf0bfd8b01316bf6dd281cf41826607eada99662f5e4963f316"}, + {file = "pydantic-1.8.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:244ad78eeb388a43b0c927e74d3af78008e944074b7d0f4f696ddd5b2af43c62"}, + {file = "pydantic-1.8.2-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:05ef5246a7ffd2ce12a619cbb29f3307b7c4509307b1b49f456657b43529dc6f"}, + {file = "pydantic-1.8.2-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:54cd5121383f4a461ff7644c7ca20c0419d58052db70d8791eacbbe31528916b"}, + {file = "pydantic-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:4be75bebf676a5f0f87937c6ddb061fa39cbea067240d98e298508c1bda6f3f3"}, + {file = "pydantic-1.8.2-py3-none-any.whl", hash = "sha256:fec866a0b59f372b7e776f2d7308511784dace622e0992a0b59ea3ccee0ae833"}, + {file = "pydantic-1.8.2.tar.gz", hash = "sha256:26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b"}, +] +pygments = [ + {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"}, + {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] +python-dotenv = [ + {file = "python-dotenv-0.19.1.tar.gz", hash = "sha256:14f8185cc8d494662683e6914addcb7e95374771e707601dfc70166946b4c4b8"}, + {file = "python_dotenv-0.19.1-py2.py3-none-any.whl", hash = "sha256:bbd3da593fc49c249397cbfbcc449cf36cb02e75afc8157fcc6a81df6fb7750a"}, +] +python-multipart = [ + {file = "python-multipart-0.0.5.tar.gz", hash = "sha256:f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43"}, +] +pyyaml = [ + {file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"}, + {file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"}, + {file = "PyYAML-5.4.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8"}, + {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"}, + {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"}, + {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"}, + {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"}, + {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"}, + {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"}, + {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"}, + {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"}, + {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"}, + {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"}, + {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"}, + {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"}, + {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"}, + {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"}, + {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"}, + {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"}, + {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"}, + {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"}, + {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"}, + {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"}, + {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"}, + {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"}, + {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"}, + {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"}, + {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"}, + {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"}, +] +requests = [ + {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, + {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, +] +sentinel = [ + {file = "sentinel-0.3.0-py3-none-any.whl", hash = "sha256:bd8710dd26752039c668604f6be2aaf741b56f7811c5924a4dcdfd74359244f3"}, + {file = "sentinel-0.3.0.tar.gz", hash = "sha256:f28143aa4716dbc8f6193f5682176a3c33cd26aaae05d9ecf66c186a9887cc2d"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +sniffio = [ + {file = "sniffio-1.2.0-py3-none-any.whl", hash = "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663"}, + {file = "sniffio-1.2.0.tar.gz", hash = "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"}, +] +sqlalchemy = [ + {file = "SQLAlchemy-1.4.25-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:a36ea43919e51b0de0c0bc52bcfdad7683f6ea9fb81b340cdabb9df0e045e0f7"}, + {file = "SQLAlchemy-1.4.25-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:75cd5d48389a7635393ff5a9214b90695c06b3d74912109c3b00ce7392b69c6c"}, + {file = "SQLAlchemy-1.4.25-cp27-cp27m-win32.whl", hash = "sha256:16ef07e102d2d4f974ba9b0d4ac46345a411ad20ad988b3654d59ff08e553b1c"}, + {file = "SQLAlchemy-1.4.25-cp27-cp27m-win_amd64.whl", hash = "sha256:a79abdb404d9256afb8aeaa0d3a4bc7d3b6d8b66103d8b0f2f91febd3909976e"}, + {file = "SQLAlchemy-1.4.25-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7ad59e2e16578b6c1a2873e4888134112365605b08a6067dd91e899e026efa1c"}, + {file = "SQLAlchemy-1.4.25-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a505ecc0642f52e7c65afb02cc6181377d833b7df0994ecde15943b18d0fa89c"}, + {file = "SQLAlchemy-1.4.25-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a28fe28c359835f3be20c89efd517b35e8f97dbb2ca09c6cf0d9ac07f62d7ef6"}, + {file = "SQLAlchemy-1.4.25-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:41a916d815a3a23cb7fff8d11ad0c9b93369ac074e91e428075e088fe57d5358"}, + {file = "SQLAlchemy-1.4.25-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:842c49dd584aedd75c2ee05f6c950730c3ffcddd21c5824ed0f820808387e1e3"}, + {file = "SQLAlchemy-1.4.25-cp36-cp36m-win32.whl", hash = "sha256:6b602e3351f59f3999e9fb8b87e5b95cb2faab6a6ecdb482382ac6fdfbee5266"}, + {file = "SQLAlchemy-1.4.25-cp36-cp36m-win_amd64.whl", hash = "sha256:6400b22e4e41cc27623a9a75630b7719579cd9a3a2027bcf16ad5aaa9a7806c0"}, + {file = "SQLAlchemy-1.4.25-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:dd4ed12a775f2cde4519f4267d3601990a97d8ecde5c944ab06bfd6e8e8ea177"}, + {file = "SQLAlchemy-1.4.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b7778a205f956755e05721eebf9f11a6ac18b2409bff5db53ce5fe7ede79831"}, + {file = "SQLAlchemy-1.4.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:08d9396a2a38e672133266b31ed39b2b1f2b5ec712b5bff5e08033970563316a"}, + {file = "SQLAlchemy-1.4.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e93978993a2ad0af43f132be3ea8805f56b2f2cd223403ec28d3e7d5c6d39ed1"}, + {file = "SQLAlchemy-1.4.25-cp37-cp37m-win32.whl", hash = "sha256:0566a6e90951590c0307c75f9176597c88ef4be2724958ca1d28e8ae05ec8822"}, + {file = "SQLAlchemy-1.4.25-cp37-cp37m-win_amd64.whl", hash = "sha256:0b08a53e40b34205acfeb5328b832f44437956d673a6c09fce55c66ab0e54916"}, + {file = "SQLAlchemy-1.4.25-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:33a1e86abad782e90976de36150d910748b58e02cd7d35680d441f9a76806c18"}, + {file = "SQLAlchemy-1.4.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ed67aae8cde4d32aacbdba4f7f38183d14443b714498eada5e5a7a37769c0b7"}, + {file = "SQLAlchemy-1.4.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1ebd69365717becaa1b618220a3df97f7c08aa68e759491de516d1c3667bba54"}, + {file = "SQLAlchemy-1.4.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26b0cd2d5c7ea96d3230cb20acac3d89de3b593339c1447b4d64bfcf4eac1110"}, + {file = "SQLAlchemy-1.4.25-cp38-cp38-win32.whl", hash = "sha256:c211e8ec81522ce87b0b39f0cf0712c998d4305a030459a0e115a2b3dc71598f"}, + {file = "SQLAlchemy-1.4.25-cp38-cp38-win_amd64.whl", hash = "sha256:9a1df8c93a0dd9cef0839917f0c6c49f46c75810cf8852be49884da4a7de3c59"}, + {file = "SQLAlchemy-1.4.25-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:1b38db2417b9f7005d6ceba7ce2a526bf10e3f6f635c0f163e6ed6a42b5b62b2"}, + {file = "SQLAlchemy-1.4.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e37621b37c73b034997b5116678862f38ee70e5a054821c7b19d0e55df270dec"}, + {file = "SQLAlchemy-1.4.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:91cd87d1de0111eaca11ccc3d31af441c753fa2bc22df72e5009cfb0a1af5b03"}, + {file = "SQLAlchemy-1.4.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90fe429285b171bcc252e21515703bdc2a4721008d1f13aa5b7150336f8a8493"}, + {file = "SQLAlchemy-1.4.25-cp39-cp39-win32.whl", hash = "sha256:6003771ea597346ab1e97f2f58405c6cacbf6a308af3d28a9201a643c0ac7bb3"}, + {file = "SQLAlchemy-1.4.25-cp39-cp39-win_amd64.whl", hash = "sha256:9ebe49c3960aa2219292ea2e5df6acdc425fc828f2f3d50b4cfae1692bcb5f02"}, + {file = "SQLAlchemy-1.4.25.tar.gz", hash = "sha256:1adf3d25e2e33afbcd48cfad8076f9378793be43e7fec3e4334306cac6bec138"}, +] +starlette = [ + {file = "starlette-0.16.0-py3-none-any.whl", hash = "sha256:38eb24bf705a2c317e15868e384c1b8a12ca396e5a3c3a003db7e667c43f939f"}, + {file = "starlette-0.16.0.tar.gz", hash = "sha256:e1904b5d0007aee24bdd3c43994be9b3b729f4f58e740200de1d623f8c3a8870"}, +] +strawberry-graphql = [ + {file = "strawberry-graphql-0.83.0.tar.gz", hash = "sha256:43a287b8f616671635cf8ddc951acbfbf4fa13596cadadab585ffa3d0bc6b174"}, + {file = "strawberry_graphql-0.83.0-py3-none-any.whl", hash = "sha256:ac7ee4dc6547ebcb913e7b4ac4d4c76581ab9ed04c4fbbd20ee10e3afe8b1ccd"}, +] +typing-extensions = [ + {file = "typing_extensions-3.10.0.2-py2-none-any.whl", hash = "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7"}, + {file = "typing_extensions-3.10.0.2-py3-none-any.whl", hash = "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34"}, + {file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"}, +] +ujson = [ + {file = "ujson-4.2.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:02f5a6acc5aa5b054c32bdccd17064c2cbd07c81b3a49449589a4552888f1961"}, + {file = "ujson-4.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7c8cffd9e45248569fa576d19b043951a3edc67cbee3dca2a6b77e6998cb1ec"}, + {file = "ujson-4.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0abc1526d32ebe2f2b6fefcf82b9ee8661da3f45ecac087beee6aeaa21b39ec"}, + {file = "ujson-4.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26ebe3ac1e0d18d58e11dbf7cdd0459adcefd5c025ede99be7fceae47bd1bfc6"}, + {file = "ujson-4.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6e8c30186eaa4f982b9b56cad30b173b71aac9d6a393d97cbcbc4ca805e87943"}, + {file = "ujson-4.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0db1acd8dbbf120095ce4ab118585219066ea2860332df2385a435c585036cae"}, + {file = "ujson-4.2.0-cp310-cp310-win32.whl", hash = "sha256:68088596e237dcda862c1760d1feb2236a8cc36804507a9fcfaa3ed21442ff64"}, + {file = "ujson-4.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:dd98d659365fb9271d9f9ba21160670ddfecb93deaec8a5350519a0ab3604654"}, + {file = "ujson-4.2.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:42f8def3e44d880774f644b53b4701a46889a9506e3fdc191c314c9e2e9b2a38"}, + {file = "ujson-4.2.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc9e2e6933ecec17a7d351116f555caee84b798076a4c5276ab1e8654c83bd90"}, + {file = "ujson-4.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adca402a97b8388c378d92c55b2bf4e8402baa5dfa059a85870a41e2f142a0d0"}, + {file = "ujson-4.2.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0076de81aadc287f025525969bbc1272703be92933e988e5663a76ec5863628f"}, + {file = "ujson-4.2.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:ff0ae4b1dc70c3362b04f4127e228b17e84946de611f85b32f565b990762deaf"}, + {file = "ujson-4.2.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:40235c3704ac7f29b24a7a785f856e1c45a567c8cd4b57a025f516733e358972"}, + {file = "ujson-4.2.0-cp36-cp36m-win32.whl", hash = "sha256:32f4340c8d6a34e7fa1f9447919ebd4b6256afef0965868d51ea3cdf0694a8f7"}, + {file = "ujson-4.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:bac42d0131740b6f1d2b6a15f770c1fef0db97d05aba8564f3c75bb59a9c91c7"}, + {file = "ujson-4.2.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:0ebc82847938e417092fd463e593da39a280fd12585b998e435a2a45bb7a33f7"}, + {file = "ujson-4.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bccfff9910fbe3dae6a17ec080c48fca0bfe939b18e4b2622122109d4d2570d"}, + {file = "ujson-4.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ec19982b7a40fb526b8ffd6edfff2c5c10556a54416d554c4bc83b1e4140a4c"}, + {file = "ujson-4.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3697cae44a92c2264cf307d4cdd9ea436faa75a009d35a4097362a6bbf221a1b"}, + {file = "ujson-4.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b55dde52028f3c426197b9a928618fbb2b548172eb45824ddb19cdcdf8e493f9"}, + {file = "ujson-4.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d9a0252da73d8b69de60811252cbfde215d76ee6eea935a519e223353352026c"}, + {file = "ujson-4.2.0-cp37-cp37m-win32.whl", hash = "sha256:a6e27ff0f92c719de004b806d84f471fff0157679e57517092b8f89345eb3a79"}, + {file = "ujson-4.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:50f413177206373b3568dff28c091b2d8c9145e5e54b0a524d3823293d7a29b8"}, + {file = "ujson-4.2.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:944dfdfae0cb4e4274a23e5070be913f7ff8f05666d8d143f2356cf873f9a77a"}, + {file = "ujson-4.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50ddff58727cc4f90ade4c818884c4f0fbeeb1f78f764ab2b2bc89cf1f4db126"}, + {file = "ujson-4.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78f8da27231b20d589319f743bd65011862691c102922be85c9f27e40656a0f7"}, + {file = "ujson-4.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99322e08e53580867c9909637747343354b7028a8208dc5df3d09233c8f52c30"}, + {file = "ujson-4.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5f863b12d27867b733d380a9878fc8c3ad11d3aea8a3650c33e7a8c2a888e1eb"}, + {file = "ujson-4.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c53653a12f6ce67b12e7806c190cce1db09c75de31212a5a9adbdbd7a2aba116"}, + {file = "ujson-4.2.0-cp38-cp38-win32.whl", hash = "sha256:c9723a5e2743ded9bc6106cb04f86244dd779ad847d8ac189cfe808ab16946c1"}, + {file = "ujson-4.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:fae1e251d9f9362ebc4adbbb252d0f4a023f66f180390624826fcb1812b808e9"}, + {file = "ujson-4.2.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:ab70a29914fc202f7c8f6353bb0622b91f878e2892e57a4c7293b341d5a85133"}, + {file = "ujson-4.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf272e6302c62a42ed0125efcc1d891dd909bcfb3c6aa075d89de209b2b8e930"}, + {file = "ujson-4.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6182898d7031d083017f9be47c6d57f9c2155d9f4391b77ed6c020cab8e5a471"}, + {file = "ujson-4.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a885675252e041e19cb92ff76419251fdd1ab4c2ca9766cb3ecfa6ae07884d2"}, + {file = "ujson-4.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:535f1e5b336f7a0573da59bd9352e9cc6a93185bf4b1d96fb3379e07b4fc619a"}, + {file = "ujson-4.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:26e299caa9bfc2e532e16de38de2af48cde48258922cda5efc0dd447d42692fc"}, + {file = "ujson-4.2.0-cp39-cp39-win32.whl", hash = "sha256:fa68b25c987b73fb1c83ece34e52856c2c6da3031384f72638696c56fa8baca9"}, + {file = "ujson-4.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:c7b2643b063f33e5e0d539cf2811793a7df9da525e63483f70c9262a343bd59d"}, + {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d61ae7a505105a16220a4282dbd552bef76968203e5e4f5edfdbb03d3159e3a"}, + {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bff484c162bd77877bc9ae6333b0a684493037ce3c5d8b664e8339becf9ad139"}, + {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74961587e9c1682d3e04fe29e02b67ec9c88cb0c3406ad94cc617d04c6fa6db2"}, + {file = "ujson-4.2.0.tar.gz", hash = "sha256:fffe509f556861c7343c6cba57ed05fe7bcf4b48a934a5b946ccb45428cf8883"}, +] +urllib3 = [ + {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"}, + {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"}, +] +uvicorn = [ + {file = "uvicorn-0.15.0-py3-none-any.whl", hash = "sha256:17f898c64c71a2640514d4089da2689e5db1ce5d4086c2d53699bf99513421c1"}, + {file = "uvicorn-0.15.0.tar.gz", hash = "sha256:d9a3c0dd1ca86728d3e235182683b4cf94cd53a867c288eaeca80ee781b2caff"}, +] +uvloop = [ + {file = "uvloop-0.16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6224f1401025b748ffecb7a6e2652b17768f30b1a6a3f7b44660e5b5b690b12d"}, + {file = "uvloop-0.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:30ba9dcbd0965f5c812b7c2112a1ddf60cf904c1c160f398e7eed3a6b82dcd9c"}, + {file = "uvloop-0.16.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bd53f7f5db562f37cd64a3af5012df8cac2c464c97e732ed556800129505bd64"}, + {file = "uvloop-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:772206116b9b57cd625c8a88f2413df2fcfd0b496eb188b82a43bed7af2c2ec9"}, + {file = "uvloop-0.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b572256409f194521a9895aef274cea88731d14732343da3ecdb175228881638"}, + {file = "uvloop-0.16.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:04ff57aa137230d8cc968f03481176041ae789308b4d5079118331ab01112450"}, + {file = "uvloop-0.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a19828c4f15687675ea912cc28bbcb48e9bb907c801873bd1519b96b04fb805"}, + {file = "uvloop-0.16.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e814ac2c6f9daf4c36eb8e85266859f42174a4ff0d71b99405ed559257750382"}, + {file = "uvloop-0.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd8f42ea1ea8f4e84d265769089964ddda95eb2bb38b5cbe26712b0616c3edee"}, + {file = "uvloop-0.16.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:647e481940379eebd314c00440314c81ea547aa636056f554d491e40503c8464"}, + {file = "uvloop-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e0d26fa5875d43ddbb0d9d79a447d2ace4180d9e3239788208527c4784f7cab"}, + {file = "uvloop-0.16.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6ccd57ae8db17d677e9e06192e9c9ec4bd2066b77790f9aa7dede2cc4008ee8f"}, + {file = "uvloop-0.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:089b4834fd299d82d83a25e3335372f12117a7d38525217c2258e9b9f4578897"}, + {file = "uvloop-0.16.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98d117332cc9e5ea8dfdc2b28b0a23f60370d02e1395f88f40d1effd2cb86c4f"}, + {file = "uvloop-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e5f2e2ff51aefe6c19ee98af12b4ae61f5be456cd24396953244a30880ad861"}, + {file = "uvloop-0.16.0.tar.gz", hash = "sha256:f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228"}, +] +watchgod = [ + {file = "watchgod-0.7-py3-none-any.whl", hash = "sha256:d6c1ea21df37847ac0537ca0d6c2f4cdf513562e95f77bb93abbcf05573407b7"}, + {file = "watchgod-0.7.tar.gz", hash = "sha256:48140d62b0ebe9dd9cf8381337f06351e1f2e70b2203fa9c6eff4e572ca84f29"}, +] +websockets = [ + {file = "websockets-10.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cd8c6f2ec24aedace251017bc7a414525171d4e6578f914acab9349362def4da"}, + {file = "websockets-10.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:1f6b814cff6aadc4288297cb3a248614829c6e4ff5556593c44a115e9dd49939"}, + {file = "websockets-10.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:01db0ecd1a0ca6702d02a5ed40413e18b7d22f94afb3bbe0d323bac86c42c1c8"}, + {file = "websockets-10.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:82b17524b1ce6ae7f7dd93e4d18e9b9474071e28b65dbf1dfe9b5767778db379"}, + {file = "websockets-10.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:8bbf8660c3f833ddc8b1afab90213f2e672a9ddac6eecb3cde968e6b2807c1c7"}, + {file = "websockets-10.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b8176deb6be540a46695960a765a77c28ac8b2e3ef2ec95d50a4f5df901edb1c"}, + {file = "websockets-10.0-cp37-cp37m-win32.whl", hash = "sha256:706e200fc7f03bed99ad0574cd1ea8b0951477dd18cc978ccb190683c69dba76"}, + {file = "websockets-10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:5b2600e01c7ca6f840c42c747ffbe0254f319594ed108db847eb3d75f4aacb80"}, + {file = "websockets-10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:085bb8a6e780d30eaa1ba48ac7f3a6707f925edea787cfb761ce5a39e77ac09b"}, + {file = "websockets-10.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:9a4d889162bd48588e80950e07fa5e039eee9deb76a58092e8c3ece96d7ef537"}, + {file = "websockets-10.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:b4ade7569b6fd17912452f9c3757d96f8e4044016b6d22b3b8391e641ca50456"}, + {file = "websockets-10.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:2a43072e434c041a99f2e1eb9b692df0232a38c37c61d00e9f24db79474329e4"}, + {file = "websockets-10.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:7f79f02c7f9a8320aff7d3321cd1c7e3a7dbc15d922ac996cca827301ee75238"}, + {file = "websockets-10.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:1ac35426fe3e7d3d0fac3d63c8965c76ed67a8fd713937be072bf0ce22808539"}, + {file = "websockets-10.0-cp38-cp38-win32.whl", hash = "sha256:ff59c6bdb87b31f7e2d596f09353d5a38c8c8ff571b0e2238e8ee2d55ad68465"}, + {file = "websockets-10.0-cp38-cp38-win_amd64.whl", hash = "sha256:d67646ddd17a86117ae21c27005d83c1895c0cef5d7be548b7549646372f868a"}, + {file = "websockets-10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82bd921885231f4a30d9bc550552495b3fc36b1235add6d374e7c65c3babd805"}, + {file = "websockets-10.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:7d2e12e4f901f1bc062dfdf91831712c4106ed18a9a4cdb65e2e5f502124ca37"}, + {file = "websockets-10.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:71358c7816e2762f3e4af3adf0040f268e219f5a38cb3487a9d0fc2e554fef6a"}, + {file = "websockets-10.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:fe83b3ec9ef34063d86dfe1029160a85f24a5a94271036e5714a57acfdd089a1"}, + {file = "websockets-10.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:eb282127e9c136f860c6068a4fba5756eb25e755baffb5940b6f1eae071928b2"}, + {file = "websockets-10.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:62160772314920397f9d219147f958b33fa27a12c662d4455c9ccbba9a07e474"}, + {file = "websockets-10.0-cp39-cp39-win32.whl", hash = "sha256:e42a1f1e03437b017af341e9bbfdc09252cd48ef32a8c3c3ead769eab3b17368"}, + {file = "websockets-10.0-cp39-cp39-win_amd64.whl", hash = "sha256:c5880442f5fc268f1ef6d37b2c152c114deccca73f48e3a8c48004d2f16f4567"}, + {file = "websockets-10.0.tar.gz", hash = "sha256:c4fc9a1d242317892590abe5b61a9127f1a61740477bfb121743f290b8054002"}, +] diff --git a/servers/fastapi-sqlalchemy/pyproject.toml b/servers/fastapi-sqlalchemy/pyproject.toml new file mode 100644 index 0000000..7d6904f --- /dev/null +++ b/servers/fastapi-sqlalchemy/pyproject.toml @@ -0,0 +1,19 @@ +[tool.poetry] +name = "fastapi-sqlalchemy" +version = "0.1.0" +description = "" +authors = ["Doctor "] + +[tool.poetry.dependencies] +python = "^3.9" +fastapi = {extras = ["all"], version = "^0.70.0"} +SQLAlchemy = "^1.4.25" +alembic = "^1.7.4" +strawberry-graphql = "^0.83.0" +aiosqlite = "^0.17.0" + +[tool.poetry.dev-dependencies] + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/servers/fastapi-sqlalchemy/rest/__init__.py b/servers/fastapi-sqlalchemy/rest/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/servers/fastapi-sqlalchemy/rest/router.py b/servers/fastapi-sqlalchemy/rest/router.py new file mode 100644 index 0000000..e619230 --- /dev/null +++ b/servers/fastapi-sqlalchemy/rest/router.py @@ -0,0 +1,14 @@ +from fastapi import APIRouter + +from db import queries +from . import schema + +api_router = APIRouter() + + +@api_router.get( + "/movies", + response_model=list[schema.MovieSchema], +) +async def get_movies(): + return await queries.get_all_movies() diff --git a/servers/fastapi-sqlalchemy/rest/schema.py b/servers/fastapi-sqlalchemy/rest/schema.py new file mode 100644 index 0000000..224bf7f --- /dev/null +++ b/servers/fastapi-sqlalchemy/rest/schema.py @@ -0,0 +1,23 @@ +from pydantic import BaseModel + + +class _BaseModel(BaseModel): + class Config: + orm_mode = True + + +class DirectorSchema(_BaseModel): + id: int + name: str + + +class MovieSchema(_BaseModel): + id: int + imdb_id: str + title: str + year: int + image_url: str + imdb_rating: float + imdb_rating_count: str + + director: DirectorSchema