"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_require
insetup.py
.