# Virtual TIFF
A Parser for creating Virtual Zarr stores from TIFF files using [VirtualiZarr 2.0](https://virtualizarr.readthedocs.io/en/stable/index.html) and [async-tiff](https://developmentseed.org/async-tiff/latest/).
## Background
First, some thoughts on why we should virtualize GeoTIFFs and/or COGS:
1. Provide faster access to non-cloud-optimized GeoTIFFS that contain some form of internal tiling without any data duplication [see notebook #1](demos/01_faster_loading_3.0.ipynb).
2. Provide fully async I/O for both GeoTIFFs and COGs using Zarr-Python
3. Allow loading a stack of GeoTIFFS/COGS into a data cube while minimizing the number of GET requests relative to using stackstac/xstac, thereby decreasing cost and increasing performance
4. Provide users access to a lazily loaded DataTree providing both the data and the overviews, allowing scientists to use the overviews not only for tile-based visualization but also quickly iterating on analytics
5. Include etags in the virtualized datasets to support reproducibility
6. A motivation that's less clear to me, but maybe possible, is using the virtualization layer to access COGs with disparate CRSs as a single dataset (https://github.com/zarr-developers/geozarr-spec/issues/53)
## Getting started
1. Clone the repository: `git clone https://github.com/virtual-zarr/virtual-tiff.git`.
2. Pull baseline image data from dvc remote `pixi run -e test download-test-images` WARNING: This will download ~1.4GB of TIFFs for testing to your machine.
3. Run the test suite using `pixi run -e test run-tests` WARNING: Some tests will fail due to incomplete status of the implementation.
4. Start a shell if needed in the development environment using `pixi run -e test zsh`.
## License
`virtual-tiff` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
Raw data
{
"_id": null,
"home_page": null,
"name": "virtual-tiff",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "COG, Python, cloud-native, compressed, ndimensional-arrays, tiff, zarr",
"author": null,
"author_email": "Max Jones <14077947+maxrjones@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/37/39/ab7b1a2f8659ec23679afd5f84e85f842004abdca44712be05690390c55a/virtual_tiff-0.1.0.tar.gz",
"platform": null,
"description": "# Virtual TIFF\n\nA Parser for creating Virtual Zarr stores from TIFF files using [VirtualiZarr 2.0](https://virtualizarr.readthedocs.io/en/stable/index.html) and [async-tiff](https://developmentseed.org/async-tiff/latest/).\n\n## Background\n\nFirst, some thoughts on why we should virtualize GeoTIFFs and/or COGS:\n\n1. Provide faster access to non-cloud-optimized GeoTIFFS that contain some form of internal tiling without any data duplication [see notebook #1](demos/01_faster_loading_3.0.ipynb).\n2. Provide fully async I/O for both GeoTIFFs and COGs using Zarr-Python\n3. Allow loading a stack of GeoTIFFS/COGS into a data cube while minimizing the number of GET requests relative to using stackstac/xstac, thereby decreasing cost and increasing performance\n4. Provide users access to a lazily loaded DataTree providing both the data and the overviews, allowing scientists to use the overviews not only for tile-based visualization but also quickly iterating on analytics\n5. Include etags in the virtualized datasets to support reproducibility\n6. A motivation that's less clear to me, but maybe possible, is using the virtualization layer to access COGs with disparate CRSs as a single dataset (https://github.com/zarr-developers/geozarr-spec/issues/53)\n\n## Getting started\n\n1. Clone the repository: `git clone https://github.com/virtual-zarr/virtual-tiff.git`.\n2. Pull baseline image data from dvc remote `pixi run -e test download-test-images` WARNING: This will download ~1.4GB of TIFFs for testing to your machine.\n3. Run the test suite using `pixi run -e test run-tests` WARNING: Some tests will fail due to incomplete status of the implementation.\n4. Start a shell if needed in the development environment using `pixi run -e test zsh`.\n\n## License\n\n`virtual-tiff` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.\n",
"bugtrack_url": null,
"license": null,
"summary": "A parser intended for use with VirtualiZarr to create virtual Zarr stores from TIFFs",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"cog",
" python",
" cloud-native",
" compressed",
" ndimensional-arrays",
" tiff",
" zarr"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2dcddd81bdfad7d1e1ccd2d737e51fb9e0faf98e67bec1ee9873909f00856208",
"md5": "0ca9e513894036faf3683daa296b794c",
"sha256": "4a50bfedb23839111cfaa899e059a7ccc65bf3161ca60919bc179050a6b3c72a"
},
"downloads": -1,
"filename": "virtual_tiff-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0ca9e513894036faf3683daa296b794c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 14306,
"upload_time": "2025-07-22T19:30:19",
"upload_time_iso_8601": "2025-07-22T19:30:19.136821Z",
"url": "https://files.pythonhosted.org/packages/2d/cd/dd81bdfad7d1e1ccd2d737e51fb9e0faf98e67bec1ee9873909f00856208/virtual_tiff-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3739ab7b1a2f8659ec23679afd5f84e85f842004abdca44712be05690390c55a",
"md5": "62e728b0f784f9099311e89af1e1e819",
"sha256": "5ff68b30cf04efa05d48304a0881bb38e2d44814542c3d45359da338154de0e2"
},
"downloads": -1,
"filename": "virtual_tiff-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "62e728b0f784f9099311e89af1e1e819",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 33315,
"upload_time": "2025-07-22T19:30:21",
"upload_time_iso_8601": "2025-07-22T19:30:21.634748Z",
"url": "https://files.pythonhosted.org/packages/37/39/ab7b1a2f8659ec23679afd5f84e85f842004abdca44712be05690390c55a/virtual_tiff-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-22 19:30:21",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "virtual-tiff"
}