"Protocols? Why, those are my primary function!"
mr3po is a library of line-based custom protocols for use with the mrjob library.
mr3po is about the easiest Open Source project to contribute to. Just submit a class that can read and write an existing line-based format, and you've made a useful contribution.
Some guidelines for contributions:
- put the code for your format in
mrjob/<format name>.py - the name of your protocol class(es) should end in
Protocol - if your protocol class(es) only handle single values (rather than key-value pairs), their name should end in
ValueProtocol - include tests, in
tests/test_<format name>.py. At least one test should inherit fromtests.roundtrip.RoundTripTestCase. - external dependencies are fine, but should be optional; add them to
extras_requireinsetup.py.