{ "info": { "author": "Open Data Cube", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "## EO Datasets\n\n[![Build Status](\nhttps://travis-ci.org/GeoscienceAustralia/eo-datasets.svg?branch=eodatasets3\n)](https://travis-ci.org/GeoscienceAustralia/eo-datasets)\n[![Coverage Status](\nhttps://coveralls.io/repos/GeoscienceAustralia/eo-datasets/badge.svg?branch=eodatasets3\n)](https://coveralls.io/r/GeoscienceAustralia/eo-datasets?branch=eodatasets3)\n\nA tool to easily write, validate and convert [ODC](https://github.com/opendatacube/datacube-core) \ndatasets and metadata.\n\n\n## Installation\n\n pip install eodatasets3\n\nPython 3.6+ is supported.\n\n## Dataset assembly\n\nThe assembler api aims to make it easy to write datasets.\n\n```python\n from eodatasets3 import DatasetAssembler\n from datetime import datetime\n from pathlib import Path\n\n with DatasetAssembler(\n Path('/some/output/collection/path'), \n naming_conventions='default') as p:\n p.datetime = datetime(2019, 7, 4, 13, 7, 5)\n p.product_family = \"level1\"\n p.processed_now()\n\n # Support for custom metadata fields\n p.properties['fmask:cloud_shadow'] = 42.0\n\n # Write measurements. They can be from numpy arrays, open rasterio datasets,\n # file paths, ODC Datasets...\n p.write_measurement(\"red\", red_path)\n ... # now write more measurements\n\n # Create a jpg thumbnail image using the measurements we've written\n p.write_thumbnail(red=\"swir1\", green=\"swir2\", blue=\"red\")\n\n # Validate the dataset and write it to the destination folder atomically.\n p.done()\n```\n\nThe assembler will write a folder of [COG](https://www.cogeo.org/) imagery, an [eo3](#open-data-cube-compatibility) \nmetadata doc for Open Data Cube, and create appropriate file and folder structures for the chosen naming conventions. \n\nMany other fields are available, see [the docs](https://eodatasets.readthedocs.io/en/latest/).\n\nFurther examples can be seen in the tests [tests/integration/test_assemble.py](tests/integration/test_assemble.py),\n[L1](eodatasets3/prepare/landsat_l1_prepare.py) or [ARD](eodatasets3/wagl.py) packagers.\n\n## Open Data Cube compatibility\n\nThe assembler writes a format called \"eo3\", which will be the native metadata format for Open Data Cube\n2.0. We recommend new products are written with this format, even if targeting Open Data Cube 1.\nA tool is available to transparently index them into version-1 Data Cubes (TODO: link when it has a home).\n\neo3 adds information about the native grid of the data, and aims to be more easily interoperable \nwith the upcoming [Stac Item metadata](https://github.com/radiantearth/stac-spec/tree/master/item-spec).\n\n## Validator\n\n\n`eo3-validate` a lint-like checker to check eo3 metadata.\n\n $ eo3-validate --help\n Usage: eo3-validate [OPTIONS] [PATHS]...\n\n Validate ODC dataset documents\n\n Paths can be both product and dataset documents, but each product must\n come before its datasets to be matched against it.\n\n Options:\n -W, --warnings-as-errors Fail if any warnings are produced\n --thorough Attempt to read the data/measurements, and check\n their properties match the product\n -q, --quiet Only print problems, one per line\n --help Show this message and exit.\n\n## Conversion to Stac metadata\n\n`eo3-to-stac`: Convert an ODC metadata to a Stac Item json file (BETA/Incomplete)\n\n $ eo3-to-stac --help\n Usage: eo3-to-stac [OPTIONS] [ODC_METADATA_FILES]...\n\n Convert a new-style ODC metadata doc to a Stac Item.\n\n Options:\n --help Show this message and exit.\n\n\n# Development\n\nRun the tests using [pytest](http://pytest.org/).\n\n pytest\n\nAll code is formatted using [black](https://github.com/ambv/black), and checked\nwith [pyflakes](https://github.com/PyCQA/pyflakes).\n\nThey are included when installing the test dependencies:\n\n pip install -e .[test]\n\nYou may want to configure your editor to run black automatically on file save\n(see the Black page for directions), or install the pre-commit hook within Git:\n\n## Pre-commit setup\n\nA [pre-commit](https://pre-commit.com/) config is provided to automatically format\nand check your code changes. This allows you to immediately catch and fix\nissues before you raise a failing pull request (which run the same checks under\nTravis).\n\nIf you don't use Conda, install pre-commit from pip:\n\n pip install pre-commit\n\nIf you do use Conda, install from conda-forge (*required* because the pip\nversion uses virtualenvs which are incompatible with Conda's environments)\n\n conda install pre_commit\n\nNow install the pre-commit hook to the current repository:\n\n pre-commit install\n\nYour code will now be formatted and validated before each commit. You can also\ninvoke it manually by running `pre-commit run`\n\n\n# DEA Prep\n\nSome included scripts to prepare existing DEA products.\n\n`eo3-prepare`: Prepare ODC metadata from the commandline.\n\nSome preparers need the ancillary dependencies: `pip install .[ancillary]`\n\n $ eo3-prepare --help\n Usage: eo3-prepare [OPTIONS] COMMAND [ARGS]...\n\n Options:\n --version Show the version and exit.\n --help Show this message and exit.\n\n Commands:\n landsat-l1 Prepare eo3 metadata for USGS Landsat Level 1 data.\n modis-mcd43a1 Prepare MODIS MCD43A1 tiles for indexing into a Data...\n noaa-prwtr Prepare NCEP/NCAR reanalysis 1 water pressure datasets...\n s2-awspds Preparation code for Sentinel-2 L1C AWS PDS Generates...\n s2-cophub Preparation code for Sentinel-2 L1C SCIHUB ZIP Generates...\n\n`eo3-package-wagl`: Convert and package WAGL HDF5 outputs.\n\n Needs the wagl dependencies group: `pip install .[wagl]`\n\n $ eo3-package-wagl --help\n Usage: eo3-package-wagl [OPTIONS] H5_FILE\n\n Package WAGL HDF5 Outputs\n\n This will convert the HDF5 file (and sibling fmask/gqa files) into\n GeoTIFFS (COGs) with datacube metadata using the DEA naming conventions\n for files.\n\n Options:\n --level1 FILE Optional path to the input level1 metadata\n doc (otherwise it will be loaded from the\n level1 path in the HDF5)\n --output DIRECTORY Put the output package into this directory\n [required]\n -p, --product [nbar|nbart|lambertian|sbt]\n Package only the given products (can specify\n multiple times)\n --with-oa / --no-oa Include observation attributes (default:\n true)\n --help Show this message and exit.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/GeoscienceAustralia/eo-datasets", "keywords": "", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "eodatasets3", "package_url": "https://pypi.org/project/eodatasets3/", "platform": "", "project_url": "https://pypi.org/project/eodatasets3/", "project_urls": { "Homepage": "https://github.com/GeoscienceAustralia/eo-datasets" }, "release_url": "https://pypi.org/project/eodatasets3/0.6.0/", "requires_dist": [ "attrs (>=18.1)", "boltons", "cattrs", "ciso8601", "click", "jsonschema (>=3)", "numpy", "pyproj", "rasterio", "ruamel.yaml", "shapely", "structlog", "xarray", "black ; extra == 'all'", "deepdiff ; extra == 'all'", "flake8 ; extra == 'all'", "hypothesis ; extra == 'all'", "mock ; extra == 'all'", "pep8-naming ; extra == 'all'", "pytest ; extra == 'all'", "pytest-flake8 ; extra == 'all'", "pytest-cov ; extra == 'all'", "python-rapidjson ; extra == 'all'", "rio-cogeo ; extra == 'all'", "sphinx-autodoc-typehints ; extra == 'all'", "sphinx-rtd-theme ; extra == 'all'", "h5py ; extra == 'all'", "scipy ; extra == 'all'", "checksumdir ; extra == 'all'", "netCDF4 ; extra == 'all'", "gdal ; extra == 'all'", "scipy ; extra == 'ancillary'", "checksumdir ; extra == 'ancillary'", "netCDF4 ; extra == 'ancillary'", "gdal ; extra == 'ancillary'", "black ; extra == 'test'", "deepdiff ; extra == 'test'", "flake8 ; extra == 'test'", "hypothesis ; extra == 'test'", "mock ; extra == 'test'", "pep8-naming ; extra == 'test'", "pytest ; extra == 'test'", "pytest-flake8 ; extra == 'test'", "pytest-cov ; extra == 'test'", "python-rapidjson ; extra == 'test'", "rio-cogeo ; extra == 'test'", "sphinx-autodoc-typehints ; extra == 'test'", "sphinx-rtd-theme ; extra == 'test'", "h5py ; extra == 'wagl'" ], "requires_python": "", "summary": "Packaging, metadata and provenance for OpenDataCube EO3 datasets", "version": "0.6.0" }, "last_serial": 5893193, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c62d00e7266653b59ec50d665f9af1f2", "sha256": "6f1f0ddc61343143338bf5f8c863aeb0c1e95aafa3d70d4e06e764cb971a84b0" }, "downloads": -1, "filename": "eodatasets3-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c62d00e7266653b59ec50d665f9af1f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 89997, "upload_time": "2019-08-08T01:42:31", "url": "https://files.pythonhosted.org/packages/7b/89/bb674c220889e8c84d7a4ab6ec758823c60b3350961364b19d74158fe175/eodatasets3-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4755d6f91cb8cb3cb928f6ed7cc6dae2", "sha256": "055dd986b1c2c6a46410d8de596490165c330e266f0ee5ecdbe8aa560bd9d2d9" }, "downloads": -1, "filename": "eodatasets3-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4755d6f91cb8cb3cb928f6ed7cc6dae2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88785, "upload_time": "2019-08-08T01:42:34", "url": "https://files.pythonhosted.org/packages/c5/9d/13066909d77c5237946e13e7ce63132a28bc74158497a4478f2611eaf2d9/eodatasets3-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7a30d90134fb6226366cdab86ca57f92", "sha256": "8145665f9ca020178622045fc6f728319cfd2bdad6cf9842be0cafe472714742" }, "downloads": -1, "filename": "eodatasets3-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7a30d90134fb6226366cdab86ca57f92", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 92018, "upload_time": "2019-08-13T06:05:38", "url": "https://files.pythonhosted.org/packages/7c/b6/a7cb8228186e3481bd99fa19553d2097f769a6530327448ad733bd152780/eodatasets3-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6c6cad6e25e12427da02f870750620f", "sha256": "c5e44ef67eea115af6dbc6c0a279fdcda04b07e4c71fb8e30a8ef7b45f1ae5e9" }, "downloads": -1, "filename": "eodatasets3-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a6c6cad6e25e12427da02f870750620f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90871, "upload_time": "2019-08-13T06:05:40", "url": "https://files.pythonhosted.org/packages/29/57/b3b88523c65f7d141559749f1aee90f15801b493ff77ec9512d84bfa1ded/eodatasets3-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "81c73b4cc9fb0412b616bede96cd6531", "sha256": "47035d59eb7c70c8fe32df19bf6f0f5d87e42a806ab90a54eb0ee5acb316f46c" }, "downloads": -1, "filename": "eodatasets3-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "81c73b4cc9fb0412b616bede96cd6531", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 92582, "upload_time": "2019-08-14T03:08:36", "url": "https://files.pythonhosted.org/packages/8d/02/bae2e8b5e37f40aedf4704e3cf84a70de3fe89f860d752be270c7208fa20/eodatasets3-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ef542b8144cfbe32898ecb3957ffd6a", "sha256": "e93c451097d2778cb7e74615fc0abc0513992080b4ff53b1aa6b5644212b4480" }, "downloads": -1, "filename": "eodatasets3-0.3.0.tar.gz", "has_sig": false, "md5_digest": "8ef542b8144cfbe32898ecb3957ffd6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91379, "upload_time": "2019-08-14T03:08:39", "url": "https://files.pythonhosted.org/packages/01/d7/279fb0a7caccc95baa5de61c60f671034c29fe3b740e0629994cc3a59a5a/eodatasets3-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "14474387999d4e59a354fce1d2b3cce5", "sha256": "3c5cdd38851d8752be7b27bf0db01a5b0dce5ebe141212da37eb67f7252b6b6e" }, "downloads": -1, "filename": "eodatasets3-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "14474387999d4e59a354fce1d2b3cce5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 92673, "upload_time": "2019-08-14T05:50:55", "url": "https://files.pythonhosted.org/packages/36/ca/1f40a4ab0f7ca9f90c3e7fed2ae4ac340c994ddc2c181927190c80961187/eodatasets3-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5de90844760669a453b754db38972a67", "sha256": "7f38228d67b772912684e13f6dc970d9570ee6c44e8f70f586e74cfb3628132a" }, "downloads": -1, "filename": "eodatasets3-0.4.0.tar.gz", "has_sig": false, "md5_digest": "5de90844760669a453b754db38972a67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91524, "upload_time": "2019-08-14T05:50:57", "url": "https://files.pythonhosted.org/packages/28/20/0a2376f5ea28812eb662cd438ea029b55f26960c09d7d274ade8dbbf9880/eodatasets3-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "00884317909d611208a6787e77828335", "sha256": "aae6783df87991d3296eb594f396844b8086adc53b80d9e1737881c4f5ab1784" }, "downloads": -1, "filename": "eodatasets3-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "00884317909d611208a6787e77828335", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 95407, "upload_time": "2019-09-03T05:01:15", "url": "https://files.pythonhosted.org/packages/b8/49/de451751b800a463cd52d993a237363107cdd445355fbe27b2a5f6221bef/eodatasets3-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "585fd3783d718f6a58e9d4e4cadba1bd", "sha256": "b95e57c3c59b3787ac582b926c3f14b68e6c628ccc8aaf933d3a74d4f03e1f78" }, "downloads": -1, "filename": "eodatasets3-0.5.0.tar.gz", "has_sig": false, "md5_digest": "585fd3783d718f6a58e9d4e4cadba1bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95051, "upload_time": "2019-09-03T05:01:19", "url": "https://files.pythonhosted.org/packages/06/3e/6b70b9e5a49d117e6a7931fbf7d9107ee7f4fcc83dc61d75140e70232500/eodatasets3-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "4a4b7b84718e10a7e832d9e763247de6", "sha256": "61ae6ac0dc18ecaf3482fe19d33fd254fd02d9910344f995a03e4d1fbe3b90b7" }, "downloads": -1, "filename": "eodatasets3-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4a4b7b84718e10a7e832d9e763247de6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 95506, "upload_time": "2019-09-26T23:14:16", "url": "https://files.pythonhosted.org/packages/a8/61/709a2acfcc6f8b9edeb2236dbb5b03f98acd9420603861ecdf9ff2be22e5/eodatasets3-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecac206b64124f3f17d084513a49d417", "sha256": "f04bc4f7f61702320902b698a50fb4c8d84cbfd310af5b426e6c092e430c2b01" }, "downloads": -1, "filename": "eodatasets3-0.6.0.tar.gz", "has_sig": false, "md5_digest": "ecac206b64124f3f17d084513a49d417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95039, "upload_time": "2019-09-26T23:14:19", "url": "https://files.pythonhosted.org/packages/2b/f2/f41138411b07eda1a1936a29e776271d12d83123fa7beee9e1f0ee0b6a2c/eodatasets3-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4a4b7b84718e10a7e832d9e763247de6", "sha256": "61ae6ac0dc18ecaf3482fe19d33fd254fd02d9910344f995a03e4d1fbe3b90b7" }, "downloads": -1, "filename": "eodatasets3-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4a4b7b84718e10a7e832d9e763247de6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 95506, "upload_time": "2019-09-26T23:14:16", "url": "https://files.pythonhosted.org/packages/a8/61/709a2acfcc6f8b9edeb2236dbb5b03f98acd9420603861ecdf9ff2be22e5/eodatasets3-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecac206b64124f3f17d084513a49d417", "sha256": "f04bc4f7f61702320902b698a50fb4c8d84cbfd310af5b426e6c092e430c2b01" }, "downloads": -1, "filename": "eodatasets3-0.6.0.tar.gz", "has_sig": false, "md5_digest": "ecac206b64124f3f17d084513a49d417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95039, "upload_time": "2019-09-26T23:14:19", "url": "https://files.pythonhosted.org/packages/2b/f2/f41138411b07eda1a1936a29e776271d12d83123fa7beee9e1f0ee0b6a2c/eodatasets3-0.6.0.tar.gz" } ] }