Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Python 3 MARC21 indexer using a forked pymarc that has been migrated to Python 3. Originally started to address some Unicode issues in Python 2.x with MARC21 records
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


py3 MARC Indexer README

The py3-marc-indexer project is an MARC 21 indexer using Python 3 along with a forked pymarc project that has been converted for use in Python 3 as well.

When indexing a small academic college library's MARC records, I ran into more Unicode issues related to misencoded MARC records. Part of these problems were a result of Python 2.6+ versions string verses unicode handling that I was able to elimate because with Python 3 all strings are Unicode.


The py3-marc-indexer project is licensed under Apache 2 open source license.


The recommended way to install py3-marc-indexer is to first created a Python 3 virtualenv first.

  1. Clone the forked pymarc project and install pymarc with the following commands.(Assumes you running a Linux VM)
$ git clone $ cd pymarc $ git branch py3 $ python install
  1. Clone the py3-marc-indexer project with the these commands.
$ git clone $ cd py3-marc-indexer $ git branch multiprocess

Indexing MARC Records

To index MARC records, run the index command along with a path to you MARC records file. If your Solr server resides on a different machine, you'll need to change the stub_conf file located in file. The next refactoring of this code base will likely to be integrate it into a Python 3 version of the FRBR-Redis-Datastore's Aristotle Django environment.

$ python /path-to-marc-file/test.mrc
Something went wrong with that request. Please try again.