{"id":37767220,"url":"https://github.com/climate-resource/input4mips_validation","last_synced_at":"2026-01-20T17:45:35.198Z","repository":{"id":221108387,"uuid":"753484176","full_name":"climate-resource/input4mips_validation","owner":"climate-resource","description":"Validation of input4MIPs data","archived":false,"fork":false,"pushed_at":"2025-10-01T14:34:14.000Z","size":3978,"stargazers_count":0,"open_issues_count":18,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-01T15:30:12.729Z","etag":null,"topics":["cmip","data","forcing","input4mips","validation"],"latest_commit_sha":null,"homepage":"https://input4mips-validation.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/climate-resource.png","metadata":{"files":{"readme":"README.md","changelog":"changelog/README.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-06T08:04:53.000Z","updated_at":"2025-10-01T14:34:17.000Z","dependencies_parsed_at":"2024-02-06T08:32:32.342Z","dependency_job_id":"06636453-49a4-4569-a958-196aee1f1961","html_url":"https://github.com/climate-resource/input4mips_validation","commit_stats":{"total_commits":65,"total_committers":3,"mean_commits":"21.666666666666668","dds":0.2615384615384615,"last_synced_commit":"b38932fc6dbf9e9b309e0bec9542cbc898cbe36a"},"previous_names":["climate-resource/input4mips_validation"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/climate-resource/input4mips_validation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/climate-resource%2Finput4mips_validation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/climate-resource%2Finput4mips_validation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/climate-resource%2Finput4mips_validation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/climate-resource%2Finput4mips_validation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/climate-resource","download_url":"https://codeload.github.com/climate-resource/input4mips_validation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/climate-resource%2Finput4mips_validation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmip","data","forcing","input4mips","validation"],"created_at":"2026-01-16T14:45:56.824Z","updated_at":"2026-01-16T14:45:57.467Z","avatar_url":"https://github.com/climate-resource.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--- --8\u003c-- [start:description] --\u003e\n# Input4MIPs-validation\n\nValidation of input4MIPs data (checking file formats, metadata etc.).\n\n**Key info :**\n[![Docs](https://readthedocs.org/projects/input4mips-validation/badge/?version=latest)](https://input4mips-validation.readthedocs.io)\n[![Main branch: supported Python versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fclimate-resource%2Finput4mips_validation%2Fmain%2Fpyproject.toml)](https://github.com/climate-resource/input4mips_validation/blob/main/pyproject.toml)\n[![Licence](https://img.shields.io/pypi/l/input4mips-validation?label=licence)](https://github.com/climate-resource/input4mips_validation/blob/main/LICENCE)\n\n**PyPI :**\n[![PyPI](https://img.shields.io/pypi/v/input4mips-validation.svg)](https://pypi.org/project/input4mips-validation/)\n[![PyPI install](https://github.com/climate-resource/input4mips_validation/actions/workflows/install-pypi.yaml/badge.svg?branch=main)](https://github.com/climate-resource/input4mips_validation/actions/workflows/install-pypi.yaml)\n\n**Conda :**\n[![Conda](https://img.shields.io/conda/vn/conda-forge/input4mips-validation.svg)](https://anaconda.org/conda-forge/input4mips-validation)\n[![Conda platforms](https://img.shields.io/conda/pn/conda-forge/input4mips-validation.svg)](https://anaconda.org/conda-forge/input4mips-validation)\n[![Conda install](https://github.com/climate-resource/input4mips_validation/actions/workflows/install-conda.yaml/badge.svg?branch=main)](https://github.com/climate-resource/input4mips_validation/actions/workflows/install-conda.yaml)\n\n**Tests :**\n[![CI](https://github.com/climate-resource/input4mips_validation/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/climate-resource/input4mips_validation/actions/workflows/ci.yaml)\n[![Coverage](https://codecov.io/gh/climate-resource/input4mips_validation/branch/main/graph/badge.svg)](https://codecov.io/gh/climate-resource/input4mips_validation)\n\n**Other info :**\n[![Last Commit](https://img.shields.io/github/last-commit/climate-resource/input4mips_validation.svg)](https://github.com/climate-resource/input4mips_validation/commits/main)\n[![Contributors](https://img.shields.io/github/contributors/climate-resource/input4mips_validation.svg)](https://github.com/climate-resource/input4mips_validation/graphs/contributors)\n\n## Status\n\n- development: the project is actively being worked on\n\nAs a user, please note that input4MIPs validation is undergoing heavy development.\nThis means that files which pass validation today may not pass in future.\nWhile this will initially be frustrating, it will pay off in the long run\nby helping us to create the cleanest, clearest set of data possible.\nWe hope that you can appreciate the importance of this too\n(and we hope to get the effort it takes to do this\nrecognised at some point in the future too,\nwatch this space).\nSo, please enjoy the tool, please make use of it,\nplease [raise an issue](https://github.com/climate-resource/input4mips_validation/issues/new/choose)\nwhenever there is a problem,\nbut please also be ready to update your file writing scripts\nwhen submitting the next round of files in three to six months' time.\n\n\u003c!--- --8\u003c-- [end:description] --\u003e\n\nIf you want to prepare your input4MIPs files for publication on ESGF,\nplease see\n[\"How can I prepare my input4MIPs files for publication on ESGF?\"](https://input4mips-validation.readthedocs.io/en/latest/how-to-guides/#how-can-i-prepare-my-input4mips-files-for-publication-on-esgf).\n\nFull documentation can be found at:\n[input4mips-validation.readthedocs.io](https://input4mips-validation.readthedocs.io/en/latest/).\nWe recommend reading the docs there because the internal documentation links\ndon't render correctly on GitHub's viewer.\n\n\u003c!--- TODO: add link to preparing data for input4MIPs here --\u003e\n\n## Installation\n\n\u003c!--- --8\u003c-- [start:installation] --\u003e\n### As an application\n\nIf you want to use input4MIPs-validation as an application,\nfor example you just want to use its command-line interface,\nthen we recommend using the 'locked' version of the package.\nThis version pins the version of all dependencies too,\nwhich reduces the chance of installation issues\nbecause of breaking updates to dependencies.\n\nThe locked version of input4mips-validation can be installed with\n\n=== \"mamba\"\n    ```sh\n    mamba install -c conda-forge input4mips-validation-locked\n    ```\n\n    [mamba](https://mamba.readthedocs.io/en/latest/)\n    is our recommend way to install the package\n    because it has better handling of the compiled dependencies\n    (like cfunits).\n\n=== \"conda\"\n    ```sh\n    conda install -c conda-forge input4mips-validation-locked\n    ```\n\n    [conda](https://docs.conda.io/projects/conda/en/stable/)\n    is a good way to install the package\n    because it has better handling of the compiled dependencies\n    (like cfunits).\n\n=== \"pip\"\n    ```sh\n    pip install input4mips-validation[locked]\n    ```\n\n    [pip](https://pip.pypa.io/en/stable/)\n    is a standard way to install Python packages.\n    We make no guarantees that this will actually work\n    because pip's handling of the compiled dependencies\n    is not guaranteed.\n\n### As a library\n\nIf you want to use input4MIPs-validation as a library,\nfor example you want to use it\nas a dependency in another package/application that you're building,\nthen we recommend installing the package with the commands below.\nThis method provides the loosest pins possible of all dependencies.\nThis gives you, the package/application developer,\nas much freedom as possible to set the versions of different packages.\nHowever, the tradeoff with this freedom is that you may install\nincompatible versions of input4mips-validation's dependencies\n(we cannot test all combinations of dependencies,\nparticularly ones which haven't been released yet!).\nHence, you may run into installation issues.\nIf you believe these are because of a problem in input4mips-validation,\nplease [raise an issue](https://github.com/climate-resource/input4mips_validation/issues/new/choose).\n\nThe (non-locked) version of input4mips-validation can be installed with\n\n=== \"mamba\"\n    ```sh\n    mamba install -c conda-forge input4mips-validation\n    ```\n\n    [mamba](https://mamba.readthedocs.io/en/latest/)\n    is our recommend way to install the package\n    because it has better handling of the compiled dependencies\n    (like cfunits).\n\n=== \"conda\"\n    ```sh\n    conda install -c conda-forge input4mips-validation\n    ```\n\n    [conda](https://docs.conda.io/projects/conda/en/stable/)\n    is a good way to install the package\n    because it has better handling of the compiled dependencies\n    (like cfunits).\n\n=== \"pip\"\n    ```sh\n    pip install input4mips-validation\n    ```\n\n    [pip](https://pip.pypa.io/en/stable/)\n    is a standard way to install Python packages.\n    We make no guarantees that this will actually work\n    because pip's handling of the compiled dependencies\n    is not guaranteed.\n\nAdditional dependencies can be installed using\n\n=== \"mamba\"\n    If you are installing with mamba, we recommend\n    installing the extras by hand because there is no stable\n    solution yet (see [conda issue #7502](https://github.com/conda/conda/issues/7502))\n\n=== \"conda\"\n    If you are installing with conda, we recommend\n    installing the extras by hand because there is no stable\n    solution yet (see [conda issue #7502](https://github.com/conda/conda/issues/7502))\n\n=== \"pip\"\n    ```sh\n    # To add plotting dependencies\n    pip install input4mips-validation[plots]\n    # To add notebook dependencies\n    pip install input4mips-validation[notebooks]\n    ```\n\n### For developers\n\nFor development, we rely on [pixi](https://pixi.sh/latest/)\nfor all our dependency management.\nTo get started, you will need to make sure that pixi is installed\n([instructions here](https://pixi.sh/latest/#installation)).\n\nWe rely on [pdm](https://pdm-project.org/en/latest/) for managing our PyPI builds.\nHence, you will also need to make sure that pdm is installed on your system\n([instructions here](https://pdm-project.org/en/latest/#installation),\nalthough we found that installing with [pipx](https://pipx.pypa.io/stable/installation/)\nworked perfectly for us).\n\nFor all of our work, we use our `Makefile`.\nYou can read the instructions out and run the commands by hand if you wish,\nbut we generally discourage this because it can be error prone.\nIn order to create your environment, run `make virtual-environment`.\n\nIf there are any issues, the messages from the `Makefile` should guide you\nthrough. If not, please raise an issue in the\n[issue tracker](https://github.com/climate-resource/input4mips_validation/issues).\n\nFor the rest of our developer docs, please see [development][development-reference].\n\n\u003c!--- --8\u003c-- [end:installation] --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimate-resource%2Finput4mips_validation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclimate-resource%2Finput4mips_validation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimate-resource%2Finput4mips_validation/lists"}