# TileCloud Chain
The goal of TileCloud Chain is to provide tools around tile generation on a chain like:
Source: WMS, Mapnik.
Optionally using an SQS queue, AWS host, SNS topic.
Destination in WMTS layout, on S3, on Berkeley DB (`bsddb`), on MBTiles, or on local filesystem.
Features:
- Generate tiles.
- Drop empty tiles.
- Drop tiles outside a geometry or a bbox.
- Use MetaTiles.
- Generate the legend images.
- Generate GetCapabilities.
- Generate OpenLayers example page.
- Obtain the hash of an empty tile.
- In the future, measure tile generation speed.
- Calculate cost and generation time.
- In the future, manage the AWS hosts that generate tiles.
- Delete empty tiles.
- Copy files between caches.
- Be able to use an SQS queue to dispatch the generation.
- Post processing the generated tiles.
- ...
Legacy features:
- bsddb support
- sqlite (mbtiles) support
- mapnik support (should be updated for Python3)
## Get it
Create the config file `tilegeneration/config.yaml` see as [example](https://github.com/camptocamp/tilecloud-chain/blob/master/example/tilegeneration/config.yaml).
### Support
Only the latest release is supported and version < 1.11 contains security issues.
## From sources
Build it:
```bash
git submodule update --recursive
python3 -m venv .build/venv
.build/venv/bin/pip install -r requirements.txt
.build/venv/bin/pip install -e .
.build/venv/bin/pip install -r dev-requirements.txt
```
## Run prospector
```bash
.build/venv/bin/prospector
```
## Run the tests
Setup your environment:
```bash
touch tilecloud_chain/OpenLayers.js
docker build --tag camptocamp/tilecloud-chain .
docker-compose -p tilecloud up
```
To run the tests:
```bash
docker-compose -p tilecloud exec test python setup.py nosetests --logging-filter=tilecloud,tilecloud_chain --attr '!'nopy3
```
## Documentation
As documentation you can read the `https://github.com/camptocamp/tilecloud-chain/blob/master/tilecloud_chain/USAGE.rst`.
## VSCode
You can add that in your workspace configuration to use the JSON schema:
```json
{
"yaml.schemas": {
"../tilecloud-chain/tilecloud_chain/schema.json": [
"tilecloud-chain/tilecloud_chain/tests/tilegeneration/*.yaml"
]
}
}
```
## Contributing
Install the pre-commit hooks:
```bash
pip install pre-commit
pre-commit install --allow-missing-config
```
Raw data
{
"_id": null,
"home_page": "https://github.com/camptocamp/tilecloud-chain",
"name": "tilecloud-chain",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<3.11",
"maintainer_email": "",
"keywords": "gis,tilecloud,chain",
"author": "Camptocamp",
"author_email": "info@camptocamp.com",
"download_url": "https://files.pythonhosted.org/packages/4f/ef/b6a57f05e6152b8c0ed44dad8865ef3880b9c8cf27f7d76177d20a01048d/tilecloud_chain-1.19.0.tar.gz",
"platform": null,
"description": "# TileCloud Chain\n\nThe goal of TileCloud Chain is to provide tools around tile generation on a chain like:\n\nSource: WMS, Mapnik.\n\nOptionally using an SQS queue, AWS host, SNS topic.\n\nDestination in WMTS layout, on S3, on Berkeley DB (`bsddb`), on MBTiles, or on local filesystem.\n\nFeatures:\n\n- Generate tiles.\n- Drop empty tiles.\n- Drop tiles outside a geometry or a bbox.\n- Use MetaTiles.\n- Generate the legend images.\n- Generate GetCapabilities.\n- Generate OpenLayers example page.\n- Obtain the hash of an empty tile.\n- In the future, measure tile generation speed.\n- Calculate cost and generation time.\n- In the future, manage the AWS hosts that generate tiles.\n- Delete empty tiles.\n- Copy files between caches.\n- Be able to use an SQS queue to dispatch the generation.\n- Post processing the generated tiles.\n- ...\n\nLegacy features:\n\n- bsddb support\n- sqlite (mbtiles) support\n- mapnik support (should be updated for Python3)\n\n## Get it\n\nCreate the config file `tilegeneration/config.yaml` see as [example](https://github.com/camptocamp/tilecloud-chain/blob/master/example/tilegeneration/config.yaml).\n\n### Support\n\nOnly the latest release is supported and version < 1.11 contains security issues.\n\n## From sources\n\nBuild it:\n\n```bash\ngit submodule update --recursive\npython3 -m venv .build/venv\n.build/venv/bin/pip install -r requirements.txt\n.build/venv/bin/pip install -e .\n.build/venv/bin/pip install -r dev-requirements.txt\n```\n\n## Run prospector\n\n```bash\n.build/venv/bin/prospector\n```\n\n## Run the tests\n\nSetup your environment:\n\n```bash\ntouch tilecloud_chain/OpenLayers.js\ndocker build --tag camptocamp/tilecloud-chain .\ndocker-compose -p tilecloud up\n```\n\nTo run the tests:\n\n```bash\ndocker-compose -p tilecloud exec test python setup.py nosetests --logging-filter=tilecloud,tilecloud_chain --attr '!'nopy3\n```\n\n## Documentation\n\nAs documentation you can read the `https://github.com/camptocamp/tilecloud-chain/blob/master/tilecloud_chain/USAGE.rst`.\n\n## VSCode\n\nYou can add that in your workspace configuration to use the JSON schema:\n\n```json\n{\n \"yaml.schemas\": {\n \"../tilecloud-chain/tilecloud_chain/schema.json\": [\n \"tilecloud-chain/tilecloud_chain/tests/tilegeneration/*.yaml\"\n ]\n }\n}\n```\n\n## Contributing\n\nInstall the pre-commit hooks:\n\n```bash\npip install pre-commit\npre-commit install --allow-missing-config\n```\n\n",
"bugtrack_url": null,
"license": "BSD-2-Clause",
"summary": "Tools to generate tiles from WMS or Mapnik, to S3, Berkeley DB, MBTiles, or local filesystem in WMTS layout using Amazon cloud services.",
"version": "1.19.0",
"project_urls": {
"Homepage": "https://github.com/camptocamp/tilecloud-chain",
"Repository": "https://github.com/camptocamp/tilecloud-chain"
},
"split_keywords": [
"gis",
"tilecloud",
"chain"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4f7f8bb3d81d4bf63951f9373281ad899f1c28f1f9ff257f0601ee2de14b8304",
"md5": "4f25e5801f8ddfcace8c32fbde4e7ace",
"sha256": "bc84bb96205992a9a3e5c1369c8eefb2e27ab9b8099858483cc8b4d2bf0d1424"
},
"downloads": -1,
"filename": "tilecloud_chain-1.19.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4f25e5801f8ddfcace8c32fbde4e7ace",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<3.11",
"size": 206745,
"upload_time": "2023-10-04T07:32:42",
"upload_time_iso_8601": "2023-10-04T07:32:42.642014Z",
"url": "https://files.pythonhosted.org/packages/4f/7f/8bb3d81d4bf63951f9373281ad899f1c28f1f9ff257f0601ee2de14b8304/tilecloud_chain-1.19.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4fefb6a57f05e6152b8c0ed44dad8865ef3880b9c8cf27f7d76177d20a01048d",
"md5": "7406b678a24ad1b2394d938fed4a0a2d",
"sha256": "4384e310ce4fd0c7a7a7a82e9b6a285520ef1ce37e92c0753ce0097d0344ecda"
},
"downloads": -1,
"filename": "tilecloud_chain-1.19.0.tar.gz",
"has_sig": false,
"md5_digest": "7406b678a24ad1b2394d938fed4a0a2d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<3.11",
"size": 179280,
"upload_time": "2023-10-04T07:32:44",
"upload_time_iso_8601": "2023-10-04T07:32:44.113541Z",
"url": "https://files.pythonhosted.org/packages/4f/ef/b6a57f05e6152b8c0ed44dad8865ef3880b9c8cf27f7d76177d20a01048d/tilecloud_chain-1.19.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-04 07:32:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "camptocamp",
"github_project": "tilecloud-chain",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "tilecloud-chain"
}