Skip to content

JesseWeinstein/geordi

 
 

Repository files navigation

geordi

This project allows the consumption of arbitrary data, for use as a data source and matching tool.

Geordi La Forge

It's named after Geordi La Forge, in reference to MusicBrainz Picard.

Setup

Shared dependencies:

  • postgresql

You will also need to be able to install python packages, we recommend using virtualenvwrapper for this. On Debian/Ubuntu systems you can install that with:

sudo apt-get install virtualenvwrapper

Python dependencies:

mkvirtualenv geordi

The mkvirtualenv command will create and activate a virtual environment in which python modules will be installed. You can re-active this environment with the following command:

workon geordi

To install all the dependencies run:

pip install -r requirements.txt

Configuration

In the geordi/geordi directory, copy settings.cfg.sample to settings.cfg; modify database connection settings, set MusicBrainz OAuth configuration, and make any other needed changes.

Creating database

To create a database matching the default configuration run:

createdb -O geordi geordi

Then create the schema by running:

echo 'CREATE SCHEMA geordi' | psql -U geordi geordi

Creating tables

To create tables in an existing database run:

python manager.py create_tables

(replace 'python' with 'python2' where applicable)

Importing Data

To import data, use the manager.py script in the 'geordi' directory. Various options exist under the 'data' subcommand, for which documentation exists. Source-specific import tools are in the geordi.data.importer module, mostly under the 'indexes' subdirectory.

Running server

To run the server:

cd geordi
python manager.py runserver

(replace 'python' with 'python2' where applicable)

Testing

To run tests, install nose (remember to enable your virtualenv!):

pip install nose

And then run the tests, you should see something like this:

$ nosetests
..
----------------------------------------------------------------------
Ran 2 tests in 0.121s

OK

Further Documentation

The geordi server has some additional documentation as well.

About

MusicBrainz label feed ingestion tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 48.4%
  • Python 29.6%
  • JavaScript 18.9%
  • Makefile 1.6%
  • Shell 1.5%