Humphrey ======== Humphrey is a project for developing applications and tools for managing a video collection. It will consist of a data backend, various user frontends and utilities. This is the package responsible for handling the data backend. It is by itself not of much value to end-users. As an example of a frontend you can check the `humphrey.wx`_ package. Humphrey keeps the data in an SQL database. At the moment it supports SQLite, MySQL, and PostgreSQL any database supported by `SQLAlchemy`_ should be easy to add. The core package provides the following functionality: * It defines the classes which will be used to represent collections, movies, persons and any other type of entities that might be needed by frontends. * It generates the database structure and maps the classes to the database to achieve persistence (using `SQLAlchemy`_). * It manages connections to external data sources (currently only `IMDb`_ using `IMDbPY`_) to get information about movies and persons. .. _humphrey.wx: http://pypi.python.org/pypi/humphrey.wx .. _SQLAlchemy: http://www.sqlalchemy.org/ .. _IMDbPY: http://imdbpy.sourceforge.net/ .. _IMDb: http://www.imdb.com/ Humhprey is distributed under the GPLv3 license. Please read the ``gpl.txt`` file in the ``docs`` directory. **Disclaimer 1**: At the moment, Humphrey is in ALPHA stage. Both the data and software design is subject to change. The package is released only as a preview, it is not ready to be used for purposes other than experimenting. **Disclaimer 2**: Humphrey can optionally retrieve movie information from the IMDb. If you use this feature, remember that you MUST respect the `IMDb copyright and conditions of use`_. .. _IMDb copyright and conditions of use: http://www.imdb.com/help/show_article?conditions Installation ============ Humphrey requires Python 2.5 or 2.6. You can it using easy_install or pip:: pip install humphrey.core By default, an SQLite database will be used. If you want to use some other database, you have to install its Python interfaces. The interface package for MySQL is `MySQL-python`_ and the interface package for PostgreSQL is `psycopg2`_. .. _MySQL-python: http://pypi.python.org/pypi/MySQL-python/ .. _psycopg2: http://pypi.python.org/pypi/psycopg2 API === .. toctree:: :maxdepth: 1 backends Modules ------- .. toctree:: :maxdepth: 1 modules/cache modules/catalog modules/exceptions modules/model modules/movie modules/person Indices and tables ================== * :ref:`genindex` * :ref:`search`