Name | cog2tiles JSON |
Version |
0.0.4
JSON |
| download |
home_page | None |
Summary | COG to web map tiles converter with concurrent processing |
upload_time | 2025-08-19 11:20:43 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | MIT |
keywords |
cog
geospatial
gis
mapping
raster
tiles
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# cog2tiles
Cloud Optimized GeoTIFF (COG) to web map tiles converter built with modern Python.
## Installation
### Using uv (recommended)
```bash
git clone https://github.com/kshitijrajsharma/cog2tiles.git
cd cog2tiles
uv sync
```
### Using pip
```bash
pip install cog2tiles
```
## Usage
### Command Line Interface
Basic usage:
```bash
cog2tiles input.tif -z 19
```
Advanced usage:
```bash
cog2tiles input.tif -z 19 --tile-size 512 --extension png --output-dir tiles/ --workers 64
```
### Options
- `input_cog`: Path to input COG file
- `-z, --zoom`: Target zoom level (0-22)
- `-o, --output-dir`: Output directory (default: tiles)
- `--tile-size`: Tile size in pixels, 256 or 512 (default: 256)
- `--prefix`: Filename prefix for tiles (default: tile)
- `--extension`: Output format - png, jpg, webp (default: png)
- `--workers`: Maximum concurrent workers (default: auto-detected)
- `--log-level`: Logging level - DEBUG, INFO, WARNING, ERROR (default: INFO)
### Python API
```python
import asyncio
from cog2tiles import COGTiler
async def main():
tiler = COGTiler(
tile_size=512,
max_workers=32,
extension="webp"
)
await tiler.convert_to_tiles("input.tif", "output/", zoom=19)
asyncio.run(main())
```
## Requirements
- Python 3.11 or higher
- GDAL/rasterio for geospatial operations
- Numba for accelerated processing
- UV for dependency management
- uvloop for the fast asyncio loops (optional)
## Development
### Setup Development Environment
```bash
git clone https://github.com/kshitijrajsharma/cog2tiles.git
cd cog2tiles
uv sync --dev
```
### Running Tests
```bash
uv run pytest
```
### Code Formatting
```bash
uv run black src/
uv run isort src/
```
## Supported Input Formats
- Cloud Optimized GeoTIFF (COG)
- Any rasterio-supported format with proper georeferencing
## Output Formats
- PNG (lossless, supports transparency)
- JPEG (lossy, smaller file sizes)
- WebP (modern format, good compression)
## License
MIT License - see LICENSE file for details.
## Author
Kshitij Raj Sharma (2025)
Raw data
{
"_id": null,
"home_page": null,
"name": "cog2tiles",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "cog, geospatial, gis, mapping, raster, tiles",
"author": null,
"author_email": "Kshitij Raj Sharma <krschap@duck.com>",
"download_url": "https://files.pythonhosted.org/packages/50/9c/3365670df62aac87eadbc6492f477fc84035a14740ce98c61ea99cf24064/cog2tiles-0.0.4.tar.gz",
"platform": null,
"description": "# cog2tiles\n\n Cloud Optimized GeoTIFF (COG) to web map tiles converter built with modern Python.\n\n## Installation\n\n### Using uv (recommended)\n\n```bash\ngit clone https://github.com/kshitijrajsharma/cog2tiles.git\ncd cog2tiles\nuv sync\n```\n\n### Using pip\n\n```bash\npip install cog2tiles\n```\n\n## Usage\n\n### Command Line Interface\n\nBasic usage:\n```bash\ncog2tiles input.tif -z 19\n```\n\nAdvanced usage:\n```bash\ncog2tiles input.tif -z 19 --tile-size 512 --extension png --output-dir tiles/ --workers 64\n```\n\n### Options\n\n- `input_cog`: Path to input COG file\n- `-z, --zoom`: Target zoom level (0-22)\n- `-o, --output-dir`: Output directory (default: tiles)\n- `--tile-size`: Tile size in pixels, 256 or 512 (default: 256)\n- `--prefix`: Filename prefix for tiles (default: tile)\n- `--extension`: Output format - png, jpg, webp (default: png)\n- `--workers`: Maximum concurrent workers (default: auto-detected)\n- `--log-level`: Logging level - DEBUG, INFO, WARNING, ERROR (default: INFO)\n\n### Python API\n\n```python\nimport asyncio\nfrom cog2tiles import COGTiler\n\nasync def main():\n tiler = COGTiler(\n tile_size=512,\n max_workers=32,\n extension=\"webp\"\n )\n \n await tiler.convert_to_tiles(\"input.tif\", \"output/\", zoom=19)\n\nasyncio.run(main())\n```\n\n## Requirements\n\n- Python 3.11 or higher\n- GDAL/rasterio for geospatial operations\n- Numba for accelerated processing\n- UV for dependency management\n- uvloop for the fast asyncio loops (optional)\n\n## Development\n\n### Setup Development Environment\n\n```bash\ngit clone https://github.com/kshitijrajsharma/cog2tiles.git\ncd cog2tiles\nuv sync --dev\n```\n\n### Running Tests\n\n```bash\nuv run pytest\n```\n\n### Code Formatting\n\n```bash\nuv run black src/\nuv run isort src/\n```\n\n## Supported Input Formats\n\n- Cloud Optimized GeoTIFF (COG)\n- Any rasterio-supported format with proper georeferencing\n\n## Output Formats\n\n- PNG (lossless, supports transparency)\n- JPEG (lossy, smaller file sizes)\n- WebP (modern format, good compression)\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Author\n\nKshitij Raj Sharma (2025)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "COG to web map tiles converter with concurrent processing",
"version": "0.0.4",
"project_urls": {
"Homepage": "https://github.com/kshitijrajsharma/cog2tiles",
"Issues": "https://github.com/kshitijrajsharma/cog2tiles/issues",
"Repository": "https://github.com/kshitijrajsharma/cog2tiles"
},
"split_keywords": [
"cog",
" geospatial",
" gis",
" mapping",
" raster",
" tiles"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c06086a44701a489f45072e4b70845d5833a32c8058e1574d6610c7b51cca2f6",
"md5": "f0447a7eb11b87b1c4b0c60512a4de3e",
"sha256": "d35591babc59b55165c94469d94d685a0c09c8e26a9306d67d8e2bd10f7993bd"
},
"downloads": -1,
"filename": "cog2tiles-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f0447a7eb11b87b1c4b0c60512a4de3e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 10254,
"upload_time": "2025-08-19T11:20:42",
"upload_time_iso_8601": "2025-08-19T11:20:42.868677Z",
"url": "https://files.pythonhosted.org/packages/c0/60/86a44701a489f45072e4b70845d5833a32c8058e1574d6610c7b51cca2f6/cog2tiles-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "509c3365670df62aac87eadbc6492f477fc84035a14740ce98c61ea99cf24064",
"md5": "8068a4c41cd7f6ac10730969cb22e27e",
"sha256": "60f368ab24451121e073bb3f0218025275e996cb08db0444811708373a1ddd75"
},
"downloads": -1,
"filename": "cog2tiles-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "8068a4c41cd7f6ac10730969cb22e27e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 69589,
"upload_time": "2025-08-19T11:20:43",
"upload_time_iso_8601": "2025-08-19T11:20:43.999424Z",
"url": "https://files.pythonhosted.org/packages/50/9c/3365670df62aac87eadbc6492f477fc84035a14740ce98c61ea99cf24064/cog2tiles-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 11:20:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kshitijrajsharma",
"github_project": "cog2tiles",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cog2tiles"
}