# nb_serverproxy_openrefine
Jupyter server proxy for OpenRefine
> Based on the original https://github.com/psychemedia/jupyterserverproxy-openrefine which has some docs, although the reponame/install instructions will need updating for this repo. *I will pop the package on PyPi at some point.*
Jupyter-server-proxy config for running OpenRefine.
Install as:
```bash
pip install nb-serverproxy-openrefine
```
To install directly from this repo:
```bash
pip install git+https://github.com/innovationOUtside/nb_serverproxy_openrefine.git
```
Open to Notebook homepage: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/innovationOUtside/nb_serverproxy_openrefine/main)
Open to OpenRefine: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/innovationOUtside/nb_serverproxy_openrefine/main?urlpath=openrefine)
Open to Jupyterlab: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/innovationOUtside/nb_serverproxy_openrefine/main?urlpath=lab)
OpenRefine can now be started and launched from the notebook homepage New menu:
![](images/openrefine_new.png)
Or from the JupyterLab launcher:
![](images/openrefine_lab.png)
The OpenRefine client can be found on the `openrefine` path (the port number is allocated dynamically).
Calling the path directly (eg starting MyBinder with the path `openrefine`, or adding `?urlpath=openrefine` to the Binder URL) will launch the Binder container directly into the OpenRefine GUI application.
![](images/OpenRefine_binder.png)
The directory path into which the OpenRefine project files are saved is `$HOME/openrefine` by default, although you can trump it via the `$REFINE_DIR` global variable:
```python
openrefine_path = os.getenv("REFINE_DIR") if "REFINE_DIR" in os.environ else str(Path.home() / 'openrefine')
```
The host openrefine will use is `127.0.0.1` by default. This can be overriden with the `$REFINE_DOMAIN` global variable
> Early original work on getting OpenRefine running in MyBinder was done by @betatim ([betatim/openrefineder](https://github.com/betatim/openrefineder)) and @yuvipanda helped me get my head round various bits of [jupyterhub/jupyter-server-proxy/](https://github.com/jupyterhub/jupyter-server-proxy/) which is key to proxying web services via Jupyter. @manics PR for handling predefined, rather than allocated, port mappings also made life much easier...
## Python Client
A Python client is also available for working with OpenRefine:
- [`opencultureconsulting/openrefine-client`](https://github.com/opencultureconsulting/openrefine-client) looks to be the best supported but seems to rely on Python 2.7; there is a [currently failing PR to add Python3 support](https://github.com/opencultureconsulting/openrefine-client/pull/8).
- [`dbutlerdb /refine-client-py`](git+https://github.com/dbutlerdb/refine-client-py) works with Python3 but lags `opencultureconsulting /openrefine-client`
*Using the client requires Open Refine to be running.* `TO DO: should we hardwire the port? Else how do we know where to connect?`:
*When the client works with Python3 I will add it as an optional dependency to this package.*
Raw data
{
"_id": null,
"home_page": "https://github.com/innovationOUtside/nb_serverproxy_openrefine",
"name": "nb-serverproxy-openrefine",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Tony Hirst",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d1/84/2e55d3f59cb2f0d027240998ac491d1c0d2f989af66fa6913d9a7abc2e42/nb_serverproxy_openrefine-0.0.8.tar.gz",
"platform": null,
"description": "# nb_serverproxy_openrefine\nJupyter server proxy for OpenRefine\n\n> Based on the original https://github.com/psychemedia/jupyterserverproxy-openrefine which has some docs, although the reponame/install instructions will need updating for this repo. *I will pop the package on PyPi at some point.*\n\nJupyter-server-proxy config for running OpenRefine.\n\nInstall as:\n\n```bash\npip install nb-serverproxy-openrefine\n```\n\nTo install directly from this repo:\n\n```bash\npip install git+https://github.com/innovationOUtside/nb_serverproxy_openrefine.git\n```\n\nOpen to Notebook homepage: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/innovationOUtside/nb_serverproxy_openrefine/main)\n\nOpen to OpenRefine: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/innovationOUtside/nb_serverproxy_openrefine/main?urlpath=openrefine)\n\nOpen to Jupyterlab: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/innovationOUtside/nb_serverproxy_openrefine/main?urlpath=lab)\n\nOpenRefine can now be started and launched from the notebook homepage New menu:\n\n![](images/openrefine_new.png)\n\nOr from the JupyterLab launcher:\n\n![](images/openrefine_lab.png)\n\nThe OpenRefine client can be found on the `openrefine` path (the port number is allocated dynamically).\n\nCalling the path directly (eg starting MyBinder with the path `openrefine`, or adding `?urlpath=openrefine` to the Binder URL) will launch the Binder container directly into the OpenRefine GUI application.\n\n![](images/OpenRefine_binder.png)\n\nThe directory path into which the OpenRefine project files are saved is `$HOME/openrefine` by default, although you can trump it via the `$REFINE_DIR` global variable:\n\n```python\nopenrefine_path = os.getenv(\"REFINE_DIR\") if \"REFINE_DIR\" in os.environ else str(Path.home() / 'openrefine')\n```\n\nThe host openrefine will use is `127.0.0.1` by default. This can be overriden with the `$REFINE_DOMAIN` global variable\n\n> Early original work on getting OpenRefine running in MyBinder was done by @betatim ([betatim/openrefineder](https://github.com/betatim/openrefineder)) and @yuvipanda helped me get my head round various bits of [jupyterhub/jupyter-server-proxy/](https://github.com/jupyterhub/jupyter-server-proxy/) which is key to proxying web services via Jupyter. @manics PR for handling predefined, rather than allocated, port mappings also made life much easier...\n\n## Python Client\n\nA Python client is also available for working with OpenRefine:\n\n- [`opencultureconsulting/openrefine-client`](https://github.com/opencultureconsulting/openrefine-client) looks to be the best supported but seems to rely on Python 2.7; there is a [currently failing PR to add Python3 support](https://github.com/opencultureconsulting/openrefine-client/pull/8).\n- [`dbutlerdb /refine-client-py`](git+https://github.com/dbutlerdb/refine-client-py) works with Python3 but lags `opencultureconsulting /openrefine-client`\n\n*Using the client requires Open Refine to be running.* `TO DO: should we hardwire the port? Else how do we know where to connect?`:\n\n*When the client works with Python3 I will add it as an optional dependency to this package.*\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Jupyter server proxy wrapper for Open Refine",
"version": "0.0.8",
"project_urls": {
"Homepage": "https://github.com/innovationOUtside/nb_serverproxy_openrefine"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4c3b554ef213df58d90b614d8e1d68fd43821b197c9de3d3485a78556712d0fd",
"md5": "8f771ba61881c1b8fd633c6596b94aec",
"sha256": "b4b162ffec70716a8f302bd953bd72b06b02225954498401042145740b0f6337"
},
"downloads": -1,
"filename": "nb_serverproxy_openrefine-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f771ba61881c1b8fd633c6596b94aec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9099,
"upload_time": "2024-06-10T21:16:27",
"upload_time_iso_8601": "2024-06-10T21:16:27.249325Z",
"url": "https://files.pythonhosted.org/packages/4c/3b/554ef213df58d90b614d8e1d68fd43821b197c9de3d3485a78556712d0fd/nb_serverproxy_openrefine-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d1842e55d3f59cb2f0d027240998ac491d1c0d2f989af66fa6913d9a7abc2e42",
"md5": "7cf249e12484fbe9b99902216a7f09c2",
"sha256": "4cd7029602f1fe219ad8a89a2106fecf3bd5f92602f60f02a949c7e5b49e50ee"
},
"downloads": -1,
"filename": "nb_serverproxy_openrefine-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "7cf249e12484fbe9b99902216a7f09c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9772,
"upload_time": "2024-06-10T21:16:28",
"upload_time_iso_8601": "2024-06-10T21:16:28.735638Z",
"url": "https://files.pythonhosted.org/packages/d1/84/2e55d3f59cb2f0d027240998ac491d1c0d2f989af66fa6913d9a7abc2e42/nb_serverproxy_openrefine-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-10 21:16:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "innovationOUtside",
"github_project": "nb_serverproxy_openrefine",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nb-serverproxy-openrefine"
}