Sickle is lightweight OAI-PMH client library written in Python. It has been designed for conveniently retrieving data from OAI interfaces the Pythonic way:
>>> sickle = Sickle('http://elis.da.ulcc.ac.uk/cgi/oai2')
>>> records = sickle.ListRecords(metadataPrefix='oai_dc')
Most importantly, Sickle lets you iterate through OAI records without having to deal with things like result batches or resumptionTokens yourself:
>>> records.next()
<Record oai:eprints.rclis.org:4088>
Sickle maps the OAI records to Python objects:
>>> record = records.next()
>>> record.header
<Header oai:eprints.rclis.org:4088>
>>> record.header.identifier
'oai:eprints.rclis.org:4088'
The metadata payload is stored as a dictionary:
>>> record.metadata
{'creator': ['Melloni, Marco'],
'date': ['2000'],
'description': [u'A web site for...