[](https://github.com/bcdev/xrlint/actions/workflows/tests.yml)
[](https://codecov.io/gh/bcdev/xrlint)
[](https://pypi.org/project/xrlint/)
[](https://github.com/charliermarsh/ruff)[](https://github.com/bcdev/xrlint)
# XRLint - A linter for xarray datasets
XRLint is a [linting](https://en.wikipedia.org/wiki/Lint_(software))
tool and library for [xarray]() datasets.
Its design is heavily inspired by the awesome [ESLint](https://eslint.org/).
## Features
- Flexible validation for `xarray.Dataset` objects by configurable rules.
- Available from CLI and Python API.
- Custom plugins providing custom rule sets allow addressing
different dataset conventions.
- Project-specific configurations including configuration of individual
rules and file-specific settings.
- Works with dataset files in the local filesystem or any of the remote
filesystems supported by xarray.
## Inbuilt Rules
The following plugins provide XRLint's [inbuilt rules](https://bcdev.github.io/xrlint/rule-ref/):
- `xrlint.plugins.core`: implementing the rules for
[tidy data](https://tutorial.xarray.dev/intermediate/data_cleaning/05.1_intro.html)
and the
[CF-Conventions](https://cfconventions.org/cf-conventions/cf-conventions.html).
- `xrlint.plugins.core`: implementing the rules for
[xcube datasets](https://xcube.readthedocs.io/en/latest/cubespec.html).
Note, this plugin is fully optional. You must manually configure
it to apply its rules. It may be moved into a separate GitHub repo
once XRLint is mature enough.
Raw data
{
"_id": null,
"home_page": null,
"name": "xrlint",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "xarray",
"author": "Norman Fomferra (Brockmann Consult GmbH)",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/90/b5/d3edcac159074611370752009a91d620528ed253f59ea6dbf766ac1921ab/xrlint-0.4.0.tar.gz",
"platform": null,
"description": "[](https://github.com/bcdev/xrlint/actions/workflows/tests.yml)\n[](https://codecov.io/gh/bcdev/xrlint)\n[](https://pypi.org/project/xrlint/)\n[](https://github.com/charliermarsh/ruff)[](https://github.com/bcdev/xrlint)\n\n# XRLint - A linter for xarray datasets\n\n\nXRLint is a [linting](https://en.wikipedia.org/wiki/Lint_(software)) \ntool and library for [xarray]() datasets.\nIts design is heavily inspired by the awesome [ESLint](https://eslint.org/).\n\n\n## Features \n\n- Flexible validation for `xarray.Dataset` objects by configurable rules.\n- Available from CLI and Python API.\n- Custom plugins providing custom rule sets allow addressing \n different dataset conventions.\n- Project-specific configurations including configuration of individual \n rules and file-specific settings.\n- Works with dataset files in the local filesystem or any of the remote \n filesystems supported by xarray.\n\n## Inbuilt Rules\n\nThe following plugins provide XRLint's [inbuilt rules](https://bcdev.github.io/xrlint/rule-ref/):\n\n- `xrlint.plugins.core`: implementing the rules for\n [tidy data](https://tutorial.xarray.dev/intermediate/data_cleaning/05.1_intro.html)\n and the \n [CF-Conventions](https://cfconventions.org/cf-conventions/cf-conventions.html).\n- `xrlint.plugins.core`: implementing the rules for \n [xcube datasets](https://xcube.readthedocs.io/en/latest/cubespec.html).\n Note, this plugin is fully optional. You must manually configure \n it to apply its rules. It may be moved into a separate GitHub repo \n once XRLint is mature enough. \n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A linter for xarray datasets.",
"version": "0.4.0",
"project_urls": {
"Changelog": "https://github.com/bcdev/xrlint/blob/main/CHANGES.md",
"Documentation": "https://bcdev.github.io/xrlint",
"Issues": "https://github.com/bcdev/xrlint/issues",
"Repository": "https://github.com/bcdev/xrlint"
},
"split_keywords": [
"xarray"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fb239e2052774b801fb5838ceb6d4f4e49fdc390d908c6b7afc8a93eb6ec3137",
"md5": "cfb87f3f558c72e3e6308e7164501d01",
"sha256": "6a84eec06842642222c924e9209006680f673922988ef01c7b9b6e8042ffc2dd"
},
"downloads": -1,
"filename": "xrlint-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cfb87f3f558c72e3e6308e7164501d01",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 116900,
"upload_time": "2025-01-27T12:49:27",
"upload_time_iso_8601": "2025-01-27T12:49:27.984726Z",
"url": "https://files.pythonhosted.org/packages/fb/23/9e2052774b801fb5838ceb6d4f4e49fdc390d908c6b7afc8a93eb6ec3137/xrlint-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "90b5d3edcac159074611370752009a91d620528ed253f59ea6dbf766ac1921ab",
"md5": "078b417e8351a7f5a1ceb1066af3c8dc",
"sha256": "3d0901c7b8ea6488d3c52f11e5ec47dad296eed752bfb6f2aef25fb76a8c02e4"
},
"downloads": -1,
"filename": "xrlint-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "078b417e8351a7f5a1ceb1066af3c8dc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 86912,
"upload_time": "2025-01-27T12:49:29",
"upload_time_iso_8601": "2025-01-27T12:49:29.864330Z",
"url": "https://files.pythonhosted.org/packages/90/b5/d3edcac159074611370752009a91d620528ed253f59ea6dbf766ac1921ab/xrlint-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-27 12:49:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bcdev",
"github_project": "xrlint",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "xrlint"
}