Skip to content
A comprehensive index of battle chips from the Mega Man Battle Network series.
CSS Python Mako JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



chiplibrary is a personal project of mine that attempts to create a comprehensive index of the battle chips from the Mega Man Battle Network series. Unless you play MMBN or are a fan of data mining, this will all be useless to you, but I have provided the code for it in hopes that it may be useful to someone for something, whether it just be the database itself or other pieces of code.

To see chiplibrary in action, check the official website:

Any and all bug reports should be submitted via the tab on the official Github.


  • Python >= 3.2
  • pyramid
  • pyramid_dogpile_cache2
  • sqlalchemy
  • mako
  • whoosh
  • webhelpers2
  • python-social-auth
  • wtforms
  • inflect
  • munch
  • mistune (markdown parser used for chip summaries and articles)
  • Sass (optional: if you wish to edit and compile the CSS)
  • virtualenv (optional: if you want to setup your own Python development environment)

Using Sass/SCSS

chiplibrary uses Sass for its stylesheets. By default, the stylesheets are already compiled to CSS, and ready to use, so it is not necessary. All relevant stylesheets can be found in the chiplibrary/scss directory. You may compile the stylesheets using whichever Sass compiler you wish.


Before getting chiplibrary running, you need data to populate the database, which is where chiplibrary-data comes into play. Assuming you have git installed, retrieving data should be as simple as cloning the repo and using the already existing dumps/chips.xml file present. scrapy is completely optional unless you plan to run the spider:

git clone

If you haven't already, make sure to edit sqlalchemy.url to reflect what database you want to use. Since there is no migration (as of yet,) all previous chip_* tables are automatically dropped before the database is populated with data. In order to avoid UnicodeErrors, the character set and connection type should always be unicode (utf8).

More information is available in the sample config.ini provided.

Run the setup to install all dependencies and setup the chiplibrary package. develop will setup an .egg-link pointing to the current directory, so you will be able to make changes to any files in chiplibrary and test them out.

cd /directory/containing/this/file

$VENV/bin/python3 develop

Create your schema. This will delete any already existing data:

$VENV/bin/chiplibrary_createschema config.ini

Assuming that was a success, it's time to populate the database with data. Using your chips.xml dump with the chiplibrary_loadchips script:

$VENV/bin/chiplibrary_loadchips config.ini /path/to/your/chips.xml

After the data has been populated successfully, it's time to build the search engine index to allow for the search feature to work:

$VENV/bin/chiplibrary_buildindex config.ini

Once that's done, you should be good to go, and you can run the server. However you want to deploy is up to you, but for your own purposes this will suffice:

$VENV/bin/pserve config.ini


You can’t perform that action at this time.