hxl-proxy
=========
Python-/flask-based web proxy for transforming a HXL dataset
dynamically. Requires Python3.
User documentation is available at https://github.com/HXLStandard/hxl-proxy/wiki
# Installation
Installation from PyPi:
```
pip install hxl-proxy
```
Installation from source:
```
python setup.py install
```
Running unit tests:
```
python setup.py test
```
# Configuration
To configure the proxy, make a copy of config.py.TEMPLATE (e.g. to config.py), and change its values as necessary. The environment variable HXL\_PROXY\_CONFIG should point to your local config file's location. More details appear below.
## Caching
Choose and configure your input and output caches as needed, following the examples in the config template. You may need to create local directories or databases, depending on the caching backends you choose.
## P-codes and mapping
For mapping, the Proxy uses a collection of GeoJSON files hosted online. If you want to use a local copy (e.g. for offline demos), clone the GitHub repository at https://github.com/hxlstandard/p-codes and set the new base URL as the value of PCODE_BASE_URL. Note that the server serving the local copy must implement CORS, since the shapes get loaded on the browser side: https://www.w3.org/TR/cors/
Edit PCODE_COUNTRY_MAP if you'd like to make more countries available in the map dropdown menu.
# Usage
Launching a local server (usually on http://127.0.0.1:5000):
```
python run-server.py
```
For web deployment, see the hxl-proxy.wsgi.TEMPLATE file and the
flask documentation.
For more on HXL, see http://hxlstandard.org
For more documentation about the underlying HXL engine and filters,
see https://github.com/HXLStandard/libhxl-python/wiki
Raw data
{
"_id": null,
"home_page": "",
"name": "hxl-proxy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "data,hxl",
"author": "David Megginson",
"author_email": "megginson@un.org",
"download_url": "https://files.pythonhosted.org/packages/1b/00/aba883c6497e4a77d6afd70d0ce59a8f9fd2e38601dfaf3e8e926c4fe5bd/hxl_proxy-2.1.1.tar.gz",
"platform": null,
"description": "hxl-proxy\n=========\n\nPython-/flask-based web proxy for transforming a HXL dataset\ndynamically. Requires Python3.\n\nUser documentation is available at https://github.com/HXLStandard/hxl-proxy/wiki\n\n# Installation\n\nInstallation from PyPi:\n\n```\npip install hxl-proxy\n```\n\nInstallation from source:\n\n```\npython setup.py install\n```\n\nRunning unit tests:\n\n```\npython setup.py test\n```\n\n# Configuration\n\nTo configure the proxy, make a copy of config.py.TEMPLATE (e.g. to config.py), and change its values as necessary. The environment variable HXL\\_PROXY\\_CONFIG should point to your local config file's location. More details appear below.\n\n## Caching\n\nChoose and configure your input and output caches as needed, following the examples in the config template. You may need to create local directories or databases, depending on the caching backends you choose.\n\n## P-codes and mapping\n\nFor mapping, the Proxy uses a collection of GeoJSON files hosted online. If you want to use a local copy (e.g. for offline demos), clone the GitHub repository at https://github.com/hxlstandard/p-codes and set the new base URL as the value of PCODE_BASE_URL. Note that the server serving the local copy must implement CORS, since the shapes get loaded on the browser side: https://www.w3.org/TR/cors/\n\nEdit PCODE_COUNTRY_MAP if you'd like to make more countries available in the map dropdown menu.\n\n\n# Usage\n\nLaunching a local server (usually on http://127.0.0.1:5000):\n\n```\npython run-server.py\n```\n\nFor web deployment, see the hxl-proxy.wsgi.TEMPLATE file and the\nflask documentation.\n\nFor more on HXL, see http://hxlstandard.org\n\nFor more documentation about the underlying HXL engine and filters,\nsee https://github.com/HXLStandard/libhxl-python/wiki\n\n\n",
"bugtrack_url": null,
"license": "Public Domain",
"summary": "Flask-based web data proxy for the Humanitarian Exchange Language (HXL)",
"version": "2.1.1",
"project_urls": {
"Changelog": "https://github.com/HXLStandard/hxl-proxy/blob/prod/CHANGELOG",
"Documentation": "https://github.com/HXLStandard/hxl-proxy/wiki",
"GitHub": "https://github.com/HXLStandard/hxl-proxy/"
},
"split_keywords": [
"data",
"hxl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b00aba883c6497e4a77d6afd70d0ce59a8f9fd2e38601dfaf3e8e926c4fe5bd",
"md5": "478dc99a3f6c6b1eccd95af5c41b98fc",
"sha256": "5c70e1de028dec0d69b0431374f478cd923582f6cf71ec1c4c64f6f8fddf1d07"
},
"downloads": -1,
"filename": "hxl_proxy-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "478dc99a3f6c6b1eccd95af5c41b98fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 686728,
"upload_time": "2023-09-26T14:53:34",
"upload_time_iso_8601": "2023-09-26T14:53:34.707120Z",
"url": "https://files.pythonhosted.org/packages/1b/00/aba883c6497e4a77d6afd70d0ce59a8f9fd2e38601dfaf3e8e926c4fe5bd/hxl_proxy-2.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-26 14:53:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "HXLStandard",
"github_project": "hxl-proxy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "urllib3",
"specs": [
[
">",
"1.21.1"
],
[
"<",
"1.27"
]
]
},
{
"name": "requests_cache",
"specs": []
},
{
"name": "ckanapi",
"specs": [
[
">=",
"3.5"
]
]
},
{
"name": "flask",
"specs": [
[
">=",
"2.2.5<2.3"
]
]
},
{
"name": "libhxl",
"specs": [
[
"==",
"5.1"
]
]
},
{
"name": "flask-caching",
"specs": []
},
{
"name": "redis",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "structlog",
"specs": []
},
{
"name": "typing_extensions",
"specs": []
}
],
"lcname": "hxl-proxy"
}