If you intend to do development on the Cinemagoer package, it’s recommended that you create a virtual environment for it. For example:

python -m venv ~/.virtualenvs/cinemagoer
. ~/.virtualenvs/cinemagoer/bin/activate

In the virtual environment, install Cinemagoer in editable mode and include the extra packages. In the top level directory of the project (where the file resides), run:

pip install -e .[dev,doc]

I wanted to stay independent from the source of the data for a given movie/person, so the imdb.IMDb() function returns an instance of a class that provides specific methods to access a given data source (web server, SQL database, etc.).

Unfortunately this means that the movieID in the Movie class and the personID in the Person class depend on the data access system being used. So, when a movie or person object is instantiated, the accessSystem instance variable is set to a string used to identify the used data access system.