OpenRefine Python Client Library
The OpenRefine Python Client Library provides an interface to communicating with an OpenRefine server.
Currently, the following API is supported:
- project creation/import, deletion, export
- facet computation
- text filter
- starred & flagged
- ... extensible class
- 'engine': managing multiple facets and their computation results
- sorting & reordering
- single and mass edits
- annotation (star/flag)
- reconciliation judgment facet
- guessing column type
- querying reconciliation services preferences
- perform reconciliation
By default the OpenRefine server URL is http://127.0.0.1:3333 The environment variables OPENREFINE_HOST and OPENREFINE_PORT enable overriding the host & port.
In order to run all tests, a live Refine server is needed. No existing projects are affected.
(Someone with more familiarity with python's byzantine collection of installation frameworks is very welcome to improve/"best practice" all this.)
Install dependencies, which currently is urllib2_file:
sudo pip install -r requirements.txt
(If you don't have pip visit pip-installer.org)
Ensure you have a Refine server running somewhere and, if necessary, set the environment vars as above.
Run tests, build, and install:
python setup.py test # to do a subset, e.g., --test-suite tests.test_facet
python setup.py build
python setup.py install
There is a Makefile that will do this too, and more.
The API so far has been filled out from building a test suite to carry out the actions in David Huynh's Refine tutorial which while certainly showing off a wide range of Refine features doesn't cover the entire suite. Notable exceptions currently include:
- reconciliation support is useful but not complete
- join columns
- columns from URL
Pull requests with passing tests welcome! Source is at https://github.com/PaulMakepeace/refine-client-py
OpenRefine used to be called Google Refine, and this library used to be called the Google Refine Python Client Library.
Paul Makepeace, author, <email@example.com>
David Huynh, initial cut
Some data used in the test suite has been used from publicly available sources,
- louisiana-elected-officials.csv: from http://www.sos.louisiana.gov/tabid/136/Default.aspx
- us_economic_assistance.csv: "The Green Book"
- eli-lilly.csv: ProPublica's "Docs for Dollars" leading to a Lilly Faculty PDF processed by David Huynh's ScraperWiki script