“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 from tests.roundtrip.RoundTripTestCase.
- external dependencies are fine, but should be optional; add them to extras_require in setup.py.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.