{"id":334307,"name":"CMIP7 Data Request Software","description":"Quick user guide for python software to interact with the CMIP7 data request.","url":"https://github.com/cmip-data-request/cmip7_dreq_software","last_synced_at":"2026-04-20T05:30:38.440Z","repository":{"id":258043576,"uuid":"865888462","full_name":"CMIP-Data-Request/CMIP7_DReq_Software","owner":"CMIP-Data-Request","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-16T19:50:16.000Z","size":9498,"stargazers_count":21,"open_issues_count":24,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-16T21:30:04.983Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"WCRP-CMIP/CMIP7_DReq_Software","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CMIP-Data-Request.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-10-01T09:55:48.000Z","updated_at":"2026-04-16T15:30:44.000Z","dependencies_parsed_at":"2026-02-24T03:02:59.764Z","dependency_job_id":null,"html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software","commit_stats":null,"previous_names":["cmip-data-request/cmip7_dreq_software"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMIP-Data-Request","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31914458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"owner":{"login":"CMIP-Data-Request","name":"CMIP-Data-Request","uuid":"176374061","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/176374061?v=4","repositories_count":1,"last_synced_at":"2024-07-23T14:52:33.294Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/CMIP-Data-Request","funding_links":[],"total_stars":0,"followers":2,"following":0,"created_at":"2024-07-23T14:52:33.419Z","updated_at":"2024-07-23T14:52:33.419Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMIP-Data-Request","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMIP-Data-Request/repositories"},"packages":[{"id":11349416,"name":"cmip7-data-request-api","ecosystem":"pypi","description":"A programmatic interface to the CMIP7 Data Request","homepage":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software","licenses":"MIT License\n        \n        Copyright (c) 2024-2025 CMIP IPO\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ","normalized_licenses":["Other"],"repository_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software","keywords_array":[],"namespace":null,"versions_count":7,"first_release_published_at":"2025-02-13T11:08:04.000Z","latest_release_published_at":"2025-08-08T18:26:51.000Z","latest_release_number":"1.2.2","last_synced_at":"2026-03-02T06:01:35.632Z","created_at":"2025-02-13T11:20:55.300Z","updated_at":"2026-03-02T06:01:39.921Z","registry_url":"https://pypi.org/project/cmip7-data-request-api/","install_command":"pip install cmip7-data-request-api --index-url https://pypi.org/simple","documentation_url":"https://cmip7-data-request-api.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"cmip7-data-request-api","project_status":null},"repo_metadata":{"id":258043576,"uuid":"865888462","full_name":"CMIP-Data-Request/CMIP7_DReq_Software","owner":"CMIP-Data-Request","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-23T20:27:43.000Z","size":9149,"stargazers_count":20,"open_issues_count":23,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-24T07:51:51.002Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"WCRP-CMIP/CMIP7_DReq_Software","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CMIP-Data-Request.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-10-01T09:55:48.000Z","updated_at":"2026-01-28T08:47:06.000Z","dependencies_parsed_at":"2026-02-24T03:02:59.764Z","dependency_job_id":null,"html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software","commit_stats":null,"previous_names":["cmip-data-request/cmip7_dreq_software"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMIP-Data-Request","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29993532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"CMIP-Data-Request","name":"CMIP-Data-Request","uuid":"176374061","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/176374061?v=4","repositories_count":1,"last_synced_at":"2024-07-23T14:52:33.294Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/CMIP-Data-Request","funding_links":[],"total_stars":0,"followers":2,"following":0,"created_at":"2024-07-23T14:52:33.419Z","updated_at":"2024-07-23T14:52:33.419Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMIP-Data-Request","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMIP-Data-Request/repositories"},"tags":[{"name":"v1.4","sha":"5a2ea3fbb309902ae8b3cc28adeaa2cb48d3ecaa","kind":"commit","published_at":"2025-12-20T00:51:29.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.4","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.4/manifests"},{"name":"v1.3","sha":"3669f3828db093d82c92f61d0f230e437eabd88b","kind":"commit","published_at":"2025-10-16T22:43:46.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.3","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.3/manifests"},{"name":"v1.2.2","sha":"630296cf0f3c26a24d82f31274b155e38aadecb4","kind":"commit","published_at":"2025-08-08T17:14:40.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.2.2","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"d63cead9986d229a131c8b7abb74777b497ceedc","kind":"commit","published_at":"2025-05-16T19:24:56.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.2.1","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"64d9109a4b4fc3730d24ef50f0553040499021b7","kind":"commit","published_at":"2025-04-24T15:02:51.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.2.0","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2.0/manifests"},{"name":"v1.2beta.2","sha":"b436dd9b5c4f9233238f25b0396ca786b09e183c","kind":"commit","published_at":"2025-04-24T14:19:36.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.2beta.2","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.2beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.2beta.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2beta.2/manifests"},{"name":"v1.2beta","sha":"60b9b6a75da83e75469137d833919d0ca36659ed","kind":"commit","published_at":"2025-04-18T07:03:56.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.2beta","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.2beta","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.2beta","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2beta","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2beta/manifests"},{"name":"v1.1.2","sha":"fcb915dd5378c96e9a697185972dafb120ea9713","kind":"commit","published_at":"2025-02-13T11:06:07.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.1.2","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.1.2/manifests"},{"name":"v1.2gamma","sha":"3913bae0270220a5cbb7f6b21a904b5867a2d29e","kind":"commit","published_at":"2025-02-13T10:55:25.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.2gamma","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.2gamma","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.2gamma","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2gamma","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.2gamma/manifests"},{"name":"v1.1.1","sha":"3913bae0270220a5cbb7f6b21a904b5867a2d29e","kind":"commit","published_at":"2025-02-13T10:55:25.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.1.1","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.1.1/manifests"},{"name":"v1.1","sha":"6b03ee0ebd88a92ece10da81f6c26631c5258d56","kind":"commit","published_at":"2025-02-06T05:42:14.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.1","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.1/manifests"},{"name":"v1.0","sha":"a7879d7be32489e97f038f7a4037a6bbe20c0650","kind":"tag","published_at":"2024-11-22T22:44:55.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.0","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.0/manifests"},{"name":"v1.0beta","sha":"4104ae73450ad0ee1ff2403bcd7b2fcbe69486a3","kind":"commit","published_at":"2024-10-21T22:30:29.000Z","download_url":"https://codeload.github.com/CMIP-Data-Request/CMIP7_DReq_Software/tar.gz/v1.0beta","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/releases/tag/v1.0beta","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/CMIP-Data-Request/CMIP7_DReq_Software@v1.0beta","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.0beta","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/tags/v1.0beta/manifests"}]},"repo_metadata_updated_at":"2026-03-02T06:01:39.921Z","dependent_packages_count":0,"downloads":500,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":54.22575777933244,"dependent_packages_count":9.630171871935408,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":31.927964825633925},"purl":"pkg:pypi/cmip7-data-request-api","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/cmip7-data-request-api","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/cmip7-data-request-api","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/cmip7-data-request-api/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-02-22T02:01:30.277Z","issues_count":63,"pull_requests_count":100,"avg_time_to_close_issue":2642943.75,"avg_time_to_close_pull_request":742656.1486486486,"issues_closed_count":32,"pull_requests_closed_count":74,"pull_request_authors_count":9,"issue_authors_count":12,"avg_comments_per_issue":1.4761904761904763,"avg_comments_per_pull_request":1.09,"merged_pull_requests_count":63,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":33,"past_year_pull_requests_count":66,"past_year_avg_time_to_close_issue":1505774.7857142857,"past_year_avg_time_to_close_pull_request":581386.1739130435,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":46,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":11,"past_year_avg_comments_per_issue":1.5151515151515151,"past_year_avg_comments_per_pull_request":1.1363636363636365,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":38,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/issues","maintainers":[{"login":"wolfiex","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wolfiex"}],"active_maintainers":[{"login":"wolfiex","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wolfiex"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cmip7-data-request-api/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cmip7-data-request-api/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cmip7-data-request-api/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cmip7-data-request-api/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cmip7-data-request-api/codemeta","maintainers":[{"uuid":"cmip-ipo","login":"cmip-ipo","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/cmip-ipo/","role":"Owner","created_at":"2025-02-13T12:03:16.884Z","updated_at":"2025-02-13T12:03:16.884Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/cmip-ipo/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":825463,"maintainers_count":352174,"namespaces_count":0,"keywords_count":0,"github":"pypi","metadata":{"funded_packages_count":52845},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-03-27T08:55:06.126Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":10889727,"full_name":"CMIP-Data-Request/CMIP7_DReq_Software","default_branch":"master","total_commits":228,"total_committers":9,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":25.333333333333332,"dds":0.7412280701754386,"past_year_total_commits":144,"past_year_total_committers":8,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":18.0,"past_year_dds":0.5902777777777778,"last_synced_at":"2026-03-25T17:07:58.595Z","last_synced_commit":"5a2ea3fbb309902ae8b3cc28adeaa2cb48d3ecaa","created_at":"2025-09-04T01:49:58.450Z","updated_at":"2026-03-25T17:07:24.043Z","committers":[{"name":"CMIP-IPO: Automated GitHub Action","email":"actions@wcrp-cmip.org","login":null,"count":59},{"name":"James Anstey","email":"james.anstey@ec.gc.ca","login":"JamesAnstey","count":53},{"name":"rigoudyg","email":"45363600+rigoudyg","login":"rigoudyg","count":40},{"name":"Dan Ellis","email":"daniel.ellis.research@gmail.com","login":"wolfiex","count":28},{"name":"Matthew Mizielinski","email":"matthew.mizielinski@metoffice.gov.uk","login":"matthew-mizielinski","count":26},{"name":"Martin Schupfner","email":"martin.schupfner@web.de","login":"sol1105","count":18},{"name":"Marie-Pierre Moine","email":"moine@cerfacs.fr","login":"mpmoine","count":2},{"name":"Swarnalee M.","email":"63165395+swarnaleem","login":"swarnaleem","count":1},{"name":"CMIP IPO","email":"103658355+CMIP-IPO","login":"CMIP-IPO","count":1}],"past_year_committers":[{"name":"CMIP-IPO: Automated GitHub Action","email":"actions@wcrp-cmip.org","login":null,"count":59},{"name":"rigoudyg","email":"45363600+rigoudyg","login":"rigoudyg","count":23},{"name":"James Anstey","email":"james.anstey@ec.gc.ca","login":"JamesAnstey","count":23},{"name":"Dan Ellis","email":"daniel.ellis.research@gmail.com","login":"wolfiex","count":18},{"name":"Martin Schupfner","email":"martin.schupfner@web.de","login":"sol1105","count":10},{"name":"Matthew Mizielinski","email":"matthew.mizielinski@metoffice.gov.uk","login":"matthew-mizielinski","count":8},{"name":"Marie-Pierre Moine","email":"moine@cerfacs.fr","login":"mpmoine","count":2},{"name":"Swarnalee M.","email":"63165395+swarnaleem","login":"swarnaleem","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-27T00:00:09.539Z","repositories_count":6204066,"commits_count":927020328,"contributors_count":35823419,"owners_count":1144647,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"CMIP-Data-Request/CMIP7_DReq_Software","html_url":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software","last_synced_at":"2026-03-02T06:01:25.645Z","status":"active","issues_count":63,"pull_requests_count":101,"avg_time_to_close_issue":2642943.75,"avg_time_to_close_pull_request":742656.1486486486,"issues_closed_count":32,"pull_requests_closed_count":74,"pull_request_authors_count":9,"issue_authors_count":12,"avg_comments_per_issue":1.4761904761904763,"avg_comments_per_pull_request":1.0792079207920793,"merged_pull_requests_count":63,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":33,"past_year_pull_requests_count":65,"past_year_avg_time_to_close_issue":1505774.7857142857,"past_year_avg_time_to_close_pull_request":540961.4545454546,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":44,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":11,"past_year_avg_comments_per_issue":1.5151515151515151,"past_year_avg_comments_per_pull_request":1.1384615384615384,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":36,"created_at":"2025-08-29T12:04:50.326Z","updated_at":"2026-03-02T06:01:25.645Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMIP-Data-Request%2FCMIP7_DReq_Software/issues","issue_labels_count":{"Low priority":8,"High priority":5,"TSIG-review":4,"enhancement":4,"help wanted":3,"accessibility":1,"bug":1},"pull_request_labels_count":{"High priority":2,"enhancement":1},"issue_author_associations_count":{"NONE":46,"MEMBER":12,"CONTRIBUTOR":5},"pull_request_author_associations_count":{"NONE":76,"CONTRIBUTOR":21,"MEMBER":4},"issue_authors":{"wolfiex":12,"CMIP-IPO":10,"matthew-mizielinski":9,"JamesAnstey":9,"treerink":6,"rigoudyg":5,"bthrasher":3,"mpmoine":3,"sol1105":2,"jesusff":2,"ilaflott":1,"bethdingley":1},"pull_request_authors":{"rigoudyg":38,"JamesAnstey":29,"sol1105":13,"matthew-mizielinski":12,"wolfiex":5,"pgierz":1,"swarnaleem":1,"mpmoine":1,"CMIP-IPO":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-25T00:00:37.747Z","repositories_count":13919532,"issues_count":34720414,"pull_requests_count":113487937,"authors_count":11209471,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"help wanted":2,"High priority":2,"TSIG-review":1,"bug":1},"past_year_pull_request_labels_count":{"High priority":1,"enhancement":1},"past_year_issue_author_associations_count":{"NONE":17,"MEMBER":8,"CONTRIBUTOR":5},"past_year_pull_request_author_associations_count":{"NONE":36,"CONTRIBUTOR":21,"MEMBER":2},"past_year_issue_authors":{"wolfiex":8,"JamesAnstey":5,"bthrasher":3,"matthew-mizielinski":3,"treerink":3,"mpmoine":2,"rigoudyg":2,"bethdingley":1,"CMIP-IPO":1,"ilaflott":1,"sol1105":1},"past_year_pull_request_authors":{"rigoudyg":22,"JamesAnstey":19,"sol1105":9,"matthew-mizielinski":5,"wolfiex":2,"mpmoine":1,"swarnaleem":1},"maintainers":[{"login":"wolfiex","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wolfiex"}],"active_maintainers":[{"login":"wolfiex","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wolfiex"}]},"events":{"total":{"ReleaseEvent":7,"DeleteEvent":45,"PullRequestEvent":155,"ForkEvent":7,"IssuesEvent":121,"WatchEvent":14,"IssueCommentEvent":290,"PushEvent":306,"PullRequestReviewCommentEvent":94,"PullRequestReviewEvent":111,"CreateEvent":62},"last_year":{"ReleaseEvent":5,"DeleteEvent":27,"PullRequestEvent":92,"ForkEvent":3,"IssuesEvent":61,"WatchEvent":5,"IssueCommentEvent":176,"PushEvent":183,"PullRequestReviewEvent":45,"PullRequestReviewCommentEvent":38,"CreateEvent":38}},"keywords":[],"dependencies":[{"ecosystem":"conda","filepath":"binder/environment.yml","sha":null,"kind":"manifest","created_at":"2026-02-24T03:02:58.574Z","updated_at":"2026-02-24T03:02:58.574Z","repository_link":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/binder/environment.yml","dependencies":[{"id":25824844720,"package_name":"bs4","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25824844727,"package_name":"coverage","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25824844735,"package_name":"openpyxl","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25824844743,"package_name":"pooch","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25824844748,"package_name":"pytest","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25824844750,"package_name":"pyyaml","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25824844787,"package_name":"requests","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pip_install.yml","sha":null,"kind":"manifest","created_at":"2025-08-22T01:17:04.172Z","updated_at":"2025-08-22T01:17:04.172Z","repository_link":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/.github/workflows/pip_install.yml","dependencies":[{"id":24782375961,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":24782375962,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish2pypi.yml","sha":null,"kind":"manifest","created_at":"2025-08-22T01:17:04.270Z","updated_at":"2025-08-22T01:17:04.270Z","repository_link":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/.github/workflows/publish2pypi.yml","dependencies":[{"id":24782376273,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24782376277,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":24782376280,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24782376283,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24782376286,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false},{"id":24782376289,"package_name":"sigstore/gh-action-sigstore-python","ecosystem":"actions","requirements":"v3.0.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/updates.yml","sha":null,"kind":"manifest","created_at":"2025-08-22T01:17:06.474Z","updated_at":"2025-08-22T01:17:06.474Z","repository_link":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/.github/workflows/updates.yml","dependencies":[{"id":24782376725,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24782376726,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":24782376727,"package_name":"WCRP-CMIP/CMIP-LD/actions/commit-all","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2025-08-22T01:17:10.288Z","updated_at":"2025-08-22T01:17:10.288Z","repository_link":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/pyproject.toml","dependencies":[{"id":24782376736,"package_name":"pooch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376737,"package_name":"openpyxl","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376738,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376739,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376740,"package_name":"pyyaml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2025-08-22T01:17:10.867Z","updated_at":"2025-08-22T01:17:10.867Z","repository_link":"https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/requirements.txt","dependencies":[{"id":24782376741,"package_name":"bs4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376742,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376743,"package_name":"openpyxl","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376744,"package_name":"pooch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376745,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376746,"package_name":"pyyaml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24782376747,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":12.220493168191403,"created_at":"2025-11-11T00:19:24.539Z","updated_at":"2026-04-20T05:30:38.460Z","avatar_url":"https://github.com/CMIP-Data-Request.png","language":"Python","category":"Climate Change","sub_category":"Climate Data Access and Visualization","monthly_downloads":500,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![pypi](https://img.shields.io/pypi/v/CMIP7-data-request-api.svg)](https://pypi.python.org/pypi/CMIP7-data-request-api)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/CMIP-Data-Request/CMIP7_DReq_Software/main?filepath=notebooks)\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/CMIP-Data-Request/CMIP7_DReq_Software/)\n[![NBviewer](https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg)](https://nbviewer.jupyter.org/github/CMIP-Data-Request/CMIP7_DReq_Software/tree/main/notebooks/)\n[![license](https://img.shields.io/github/license/CMIP-Data-Request/CMIP7_DReq_Software.svg)](https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/blob/main/LICENSE)\n[![status](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n\n# CMIP7 Data Request Software\n\nQuick user guide for python software to interact with the [CMIP7 data request](https://wcrp-cmip.org/cmip7/cmip7-data-request/).\n\n## Table of Contents\n1. [Purpose](#purpose) \n2. [Release Versions](#release-versions)\n3. [Try It Without Installation](#try-it-without-installation)\n4. [Installation](#installation)  \n5. [Configuration](#configuration)  \n6. [Quick Start](#quick-start)\n7. [Documentation](#documentation) \n8. [Contributors](#contributors) \n9. [Contact](#contact)  \n\n## Purpose\n\n**The CMIP7 DReq Software**  is Python software designed to interact with the [CMIP7 Data Request](https://wcrp-cmip.org/cmip7/cmip7-data-request/), which is referred to herein as the **Data Request Content** in order to distinguish from the **Software**; the schematic below shows the relationship between the two. It provides an API to *query* and *utilize* the information in the Data Request, including [command-line (CLI) utilities](#command-line-utilities), [example scripts](#python-scripts) and [notebooks](#notebooks) showing how to use the API. \nThe main purpose of the CMIP7 DReq API is to extract the requested variables (along with their attributes) according to filters the user activates (a set of CMIP7 Experiments, and/or Opportunities, and/or Frequencies, etc.). It can generate the resulting lists in different formats (csv, json) or return them as python objects that make the API *plugable* in Modelling Centres' data production workflows. \n\n\u003cimg width=750px src=./docs/static/3boxes_schema.png\u003e\n\n**Target audience:**  \n- *Modellers* configuring the output variables for climate models running CMIP7 simulations\n- *Software engineers* preparing CMIP7 modelling workflows\n- *Data providers* preparing CMIP7 netCDF output files for publication on [ESGF](https://esgf.github.io/)\n\n**General features:** exploring the CMIP7 DR content - apply various filters - get the results in different formats.\n\n## Release Versions\n\nThe latest **official release** of the CMIP7 Data Request Content is described on the  \n[CMIP7 Data Request website](https://wcrp-cmip.org/cmip7-data-request-latest).\n\n### Ways to browse the Data Request Content\n\nYou can view the Data Request content in multiple ways:\n\n#### **1. Airtable View**\nOnline spreadsheet-style view of the Data Request Content:  \nhttps://bit.ly/CMIP7-DReq-latest\n\n#### **2. CMIP7 Data Request Webview**\nA static, interactive HTML interface for browsing and searching CMIP7 Data Request records, including changes introduced in new releases, hosted via GitHub Pages.\n\n- **Main entry point (access to all Data Request content versions and Webview tools):**  \n  https://CMIP-Data-Request.github.io/cmip7-dreq-webview/index.html \n\n- **Permanent link to latest Data Request content:**  \n  https://CMIP-Data-Request.github.io/cmip7-dreq-webview/latest/index.html  \n\nThe Webview provides:\n- variable search across multiple attributes  \n- browsing of data request changes between releases\n- browsing of variable definition changes between releases  \n- browsing Data Request content across different releases, with all records cross-linked \n\nThese are the easiest ways to *inspect* the Data Request without installing or using the software.\n\n#### **3. Programmatic Access (this repository)**\nUsing the CMIP7 Data Request API you can load, filter, query, and export the Data Request programmatically in Python.\nThis is also possible without installing the software on your local machine, see [Try It Without Installation](#try-it-without-installation).\n\n:warning: **Note:** *The CMIP7 DReq Software versions are not aligned with the CMIP7 Data Request ones. So please, do not infer that e.g. v1.2.2 of the CMIP7 DReq Software \"works with\" or \"reflects\"  v1.2.2 of the CMIP7 Data Request, it is not the case!*\n\n## Try It Without Installation\n\nYou can launch and interact with this repository  via [Binder](https://mybinder.org/) or [Google Colab](https://colab.research.google.com/). To do so, just click on one of the badges to run it in your browser:\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/CMIP-Data-Request/CMIP7_DReq_Software/main?filepath=notebooks)\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/CMIP-Data-Request/CMIP7_DReq_Software/)\n\u003cbr\u003e\n:bulb: This enables you, *without installing anything on your local system*, to play with the [notebooks](#notebooks), in a live environment that is your own playground.\n(Note, in Google Colab it may be necessary to add `! pip install CMIP7-data-request-api` to the beginning of the notebooks, while Binder should take care of that for you.)\n\n## Installation\n\n### Install in User mode\n\nHere is described how to install the *CMIP7 DReq Software* python package via `pip` for use as a python module in scripts/software or to use the command-line utilities. (To modify/develop the software, see below for [developer installation instructions](#install-in-developer-mode).)\n\nIn a python *venv* or *conda env* in which you want to install the package, do:\n```bash\npip install CMIP7-data-request-api\n```\nIf you choose the \u003cu\u003e**venv**\u003c/u\u003e solution:\n```bash\npython -m venv my_dreq_env\nsource my_dreq_env/bin/activate\npython -m pip install --upgrade pip\npython -m pip install CMIP7-data-request-api\n```\nwith  `my_dreq_env` being the environment name that can be changed to whatever preferred name.\n\nThis will automatically install the dependencies, but if necessary  they can be manually installed by doing:\n```bash\nwget https://raw.githubusercontent.com/CMIP-Data-Request/CMIP7_DReq_Software/refs/heads/main/requirements.txt\npython -m pip install -r requirements.txt \n```\nwhere the [`requirements.txt`](requirements.txt) file is the one present at the root-level  of this repository, which lists the package dependencies.\n\nIf a \u003cu\u003e**conda env**\u003c/u\u003e is preferred instead of `venv`, an [`env.yml`](env.yml) file with the dependencies is also provided at root-level and a conda environment can be created by doing:\n```bash\nwget https://raw.githubusercontent.com/CMIP-Data-Request/CMIP7_DReq_Software/refs/heads/main/env.yml\nconda env create -n my_dreq_env --file env.yml\n```\nAt this stage, `my_dreq_env` conda environment contains all expected dependencies and to install the *\"CMIP7 DReq Software\"* package simply do:\n```bash\nconda activate my_dreq_env\npython -m pip install --upgrade pip\npython -m pip install CMIP7-data-request-api\n```\n:white_check_mark: If installation is ***successful*** you should be able to run the command:\n```bash\nexport_dreq_lists_json --all_opportunities v1.2.2.3 amip.json --experiments amip\n```\n:x: If something went wrong, the package can be ***uninstalled*** using:\n```bash\npython -m pip uninstall CMIP7_data_request_api\n```\n:bell:To ***update*** a previousely installed version of the package:\n```bash\npython -m pip install --upgrade CMIP7_data_request_api\n```\n:bulb: And finally, if you want to run the [notebooks](#notebooks) in your enviromement (venv or conda), do not forget to install an ipykernel:\n```bash\npip install jupyter\npip install ipykernel\npython -m ipykernel install --user --name my_dreq_kernel\n```\nwhere `my_dreq_kernel` is the name of the kernel you want to appear in your `jupyter-notebook` interface.\n\n### Install in Developer mode\n\nTo install the *CMIP7 DReq Software*  for development purposes, first clone the source repository:\n```bash\ngit clone git@github.com:CMIP-Data-Request/CMIP7_DReq_Software.git\ncd CMIP7_DReq_Software\n```\nOnce an environment is created with the required dependencies (as in [user-mode install](#install-in-user-mode) above), this environement activated, go at the root-level directory of the repository and run: \n```bash\npython -m pip install -e .\n```\n\n## Configuration\n\nThe package comes with a *default configuration*. After installation, you can ***initialize the configuration*** file with the default settings by running:\n```bash\nCMIP7_data_request_api_config init\n```\nThis will create the `.CMIP7_data_request_api_config` file in your home directory.\nOptionally, the default location of this file can be changed by setting the  `CMIP7_DR_API_CONFIGFILE` environment variable.\n\n:bulb:**Note:** *Initializing the configuration file is optional, because the file will be automatically created the first time you use the software.*\n\nThe ***configuration file*** is a YAML file containing `key: value` pairs that\ncontrol the behavior of the software. \nYou can modify the values by either editing the file directly or using the following command:\n```bash\nCMIP7_data_request_api_config \u003ckey\u003e \u003cvalue\u003e\n```\nTo reset the configuration to its default values, run:\n```bash\nCMIP7_data_request_api_config reset\n```\nFor example, to set the software to run ***offline*** (i.e. without internet connection):\n```bash\nCMIP7_data_request_api_config offline true\n```\nThis will prevent checks for updates and retrievals of new versions of the data request content.\n\n## Quick Start\n\n### Command-Line Utilities\n\nA set of CLI utilities are available on pip install:\n1. [`CMIP7_data_request_api_config`](data_request_api/data_request_api/command_line/config.py) to interact with config file, as [described above](#configuration)\n2. [`export_dreq_lists_json.py`](data_request_api/data_request_api/command_line/export_dreq_lists_json.py) to get lists of requested variables\n3. [`get_variables_metadata.py`](data_request_api/data_request_api/command_line/get_variables_metadata.py) to access variable names \u0026 definitions\n4. [`compare_variables.py`](data_request_api/data_request_api/command_line/compare_variables.py) to track changes in variable definitions and attributes\n5. [`estimate_dreq_volume.py`](data_request_api/data_request_api/command_line/estimate_dreq_volume.py) which is a configurable data volume estimator\n\n\n**1. CMIP7_data_request_api_config**\n\nThis is for configuring of the CLI, which has already been presented in the [configuration section](#configuration). Here we provide some additional details like the complete list of config parameters. \n\nFirst time it is called, it generates a default configuration file in your HOME directory.\n\n`CMIP7_data_request_api_config`\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to see the content of the default configuration file generated.\u003c/summary\u003e\n\n```\ncache_dir: \u003cYOUR-HOME-DIR\u003e/.CMIP7_data_request_api_cache\ncheck_api_version: true\nconsolidate: false\nexport: release\nlog_file: default\nlog_level: info\noffline: false\nvariable_name: CMIP7 Compound Name\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\nThe configuration file can be edited manually or via the config utility, passing a (key, value) pair for each config parameter, for example:\n\n`CMIP7_data_request_api_config offline true`\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to show all the available options.\u003c/summary\u003e\n\n```\n $ --\u003e CMIP7_data_request_api_config -h\n\nusage: CMIP7_data_request_api_config \u003carguments\u003e\n\nConfig CLI\n\npositional arguments:\n  command\n\noptions:\n  -h, --help  show this help message and exit\n\nArguments:\n  init (or no arguments): Initialize the config file,\n      i.e. create a config file with default values if it does not exist.\n  list: List all keys in the config file.\n  reset: Reset the config file to default values.\n  \u003ckey\u003e \u003cvalue\u003e: Update a specific key in the config file.\n  help: print this help message.\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to show all the configuration parameters.\u003c/summary\u003e\n\n* `cache_dir` is the repository where the config file is stored\n* `check_api_version` ('true' or 'false') checks if a newer version is available with pypi and raises a warning in case the installed version is not the latest one\n* `consolidate` ('true' or 'false') to apply the consolidation on the _raw json-export_ of the DR * content (air tables) \n* `export` ('raw' or 'release') to use the _raw_ or _release json-export_ of the DR content (air tables) \n* `log_file` ('default' or prefered file path) to customize (or not) the log file\n* `log_level` ('debug' or 'info') to set the verbosity level in CLI log files\n* `offline` ('true' or 'false') set to 'true' to prevent checks for updates and retrievals of new versions of the data request content\n* `variable_name` ('CMIP7 Compound Name' or 'CMIP6 Compound Name'), the  label used to uniquely identify the variables \n\n\u003c/details\u003e\n\u003cbr\u003e\n\n**2. export_dreq_lists_json**\n\nA json file is generated, listing the variables requested by the CMIP7 DR for the selected criteria. The list of variables is sorted per experiment (if several requested) and per priority (Core, High, Medium and Low). Variables are identified by default with their _CMIP7 compound names_.\n\n:bulb: By changing the configuration parameter `variable_name`, variables in the output file can instead be identified by their _CMIP6 compound names_, or any other unique identifier present in the variables' metadata (e.g., `uid`).\n\nCall example:\n\u003cbr\u003e\n`export_dreq_lists_json --all_opportunities v1.2.2.3 amip_all_Opps_v1.2.2.3.json --experiments amip`\n\u003cdetails\u003e\n\u003csummary\u003eClick here for a snapview of the output json file.\u003c/summary\u003e\n\n```\n    \"experiment\": {\n        \"amip\": {\n            \"Core\": [\n                \"atmos.areacella.ti-u-hxy-u.fx.glb\",\n                \"atmos.cl.tavg-al-hxy-u.mon.glb\",\n                \"atmos.cli.tavg-al-hxy-u.mon.glb\",\n                \"atmos.clivi.tavg-u-hxy-u.mon.glb\",\n                \"atmos.clt.tavg-u-hxy-u.day.glb\",\n                \"atmos.clt.tavg-u-hxy-u.mon.glb\",\n                \"atmos.clw.tavg-al-hxy-u.mon.glb\",\n                \"atmos.clwvi.tavg-u-hxy-u.mon.glb\",\n                \"atmos.evspsbl.tavg-u-hxy-u.mon.glb\",\n                \"atmos.hfls.tavg-u-hxy-u.mon.glb\",\n                \"atmos.hfss.tavg-u-hxy-u.mon.glb\",\n                \"atmos.hur.tavg-p19-hxy-air.mon.glb\",\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to show all the available options.\u003c/summary\u003e\n\n```\n$--\u003e export_dreq_lists_json -h\n\nusage: export_dreq_lists_json [-h] [-a] [-f OPPORTUNITIES_FILE] [-i OPPORTUNITY_IDS] [-e EXPERIMENTS] [-p {core,high,medium,low}] [-m VARIABLES_METADATA]\n                              {v1.2.2.3,v1.2.2.2,v1.2.2.1,v1.2.2,v1.2.1,v1.2,v1.1,v1.0,v1.0beta,v1.0alpha,dev} output_file\n\nGet lists of requested variables by experiment, and write them to a json file.\n\npositional arguments:\n  {v1.2.2.3,v1.2.2.2,v1.2.2.1,v1.2.2,v1.2.1,v1.2,v1.1,v1.0,v1.0beta,v1.0alpha,dev}\n                        data request version\n  output_file           file to write JSON output to\n\noptions:\n  -h, --help            show this help message and exit\n  -a, --all_opportunities\n                        respond to all opportunities\n  -f, --opportunities_file OPPORTUNITIES_FILE\n                        path to JSON file listing opportunities to respond to. If it doesn't exist, a template will be created\n  -i, --opportunity_ids OPPORTUNITY_IDS\n                        opportunity ids (integers) of opportunities to respond to, example: -i 69,22,37\n  -e, --experiments EXPERIMENTS\n                        limit output to the specified experiments (case sensitive), example: -e historical,piControl\n  -p, --priority_cutoff {core,high,medium,low}\n                        discard variables that are requested at lower priority than this cutoff priority\n  -m, --variables_metadata VARIABLES_METADATA\n                        output file containing metadata of requested variables, can be \".json\" or \".csv\" file\n(cmip7_dreq_venv-user) (base) \n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n**3. get_variables_metadata**\n\nA json file is generated, containing the metadata of variables present in the CMIP7 DR (by default all of them, or alternately only the ones matching optional filter arguments). Each single entry of the json file is the _CMIP7 compound name_ of the variable and all of the attributes associated with this varaible are given as (key,value) pairs.\n\n:bulb: By changing the configuration parameter `variable_name`, variables in the output file can instead be identified by their _CMIP6 compound names_.\n\nCall example:\n\u003cbr\u003e\n`get_variables_metadata v1.2.2.3 all_variables_metadata_v1.2.2.3.json`\n\u003cdetails\u003e\n\u003csummary\u003eClick here for a snapview of the output json file.\u003c/summary\u003e\n\n```json\n{\n  \"Header\": {\n    \"Description\": \"Metadata attributes that characterize CMOR variables. Each variable is uniquely idenfied by a compound name comprised of a CMIP6-era table name and a short variable name.\",\n    \"no. of variables\": 1974,\n    \"dreq content version\": \"v1.2.2.3\",\n    \"dreq content file\": \"dreq_release_export.json\",\n    \"dreq content sha256 hash\": \"61741fa99e2f8ca1744688e9d84f2adafd2e5204a80f92c0a5b903778fdcb732\",\n    \"dreq api version\": \"1.4\"\n  },\n  \"Compound Name\": {\n    \"aerosol.abs550aer.tavg-u-hxy-u.mon.glb\": {\n      \"frequency\": \"mon\",\n      \"modeling_realm\": \"aerosol\",\n      \"standard_name\": \"atmosphere_absorption_optical_thickness_due_to_ambient_aerosol_particles\",\n      \"units\": \"1\",\n      \"cell_methods\": \"area: time: mean\",\n      \"cell_measures\": \"area: areacella\",\n      \"long_name\": \"Ambient Aerosol Absorption Optical Thickness at 550nm\",\n      \"comment\": \"Optical thickness of atmospheric aerosols at wavelength 550 nanometers.\",\n      \"processing_note\": \"\",\n      \"dimensions\": \"longitude latitude time lambda550nm\",\n      \"out_name\": \"abs550aer\",\n      \"type\": \"real\",\n      \"positive\": \"\",\n      \"spatial_shape\": \"XY-na\",\n      \"temporal_shape\": \"time-intv\",\n      \"cmip6_table\": \"AERmon\",\n      \"physical_parameter_name\": \"abs550aer\",\n      \"variableRootDD\": \"abs550aer\",\n      \"branding_label\": \"tavg-u-hxy-u\",\n      \"branded_variable_name\": \"abs550aer_tavg-u-hxy-u\",\n      \"region\": \"glb\",\n      \"cmip6_compound_name\": \"AERmon.abs550aer\",\n      \"cmip7_compound_name\": \"aerosol.abs550aer.tavg-u-hxy-u.mon.glb\",\n      \"uid\": \"19bebf2a-81b1-11e6-92de-ac72891c3257\"\n    },\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to show all the available options.\u003c/summary\u003e\n\n```\n$--\u003e get_variables_metadata -h\n\nusage: get_variables_metadata [-h] [-cn COMPOUND_NAMES] [-t CMOR_TABLES] [-v CMOR_VARIABLES]\n                              {v1.2.2.3,v1.2.2.2,v1.2.2.1,v1.2.2,v1.2.1,v1.2,v1.1,v1.0,v1.0beta,v1.0alpha,dev} outfile\n\nGet metadata of CMOR variables (e.g., cell_methods, dimensions, ...) and write it to a json file.\n\npositional arguments:\n  {v1.2.2.3,v1.2.2.2,v1.2.2.1,v1.2.2,v1.2.1,v1.2,v1.1,v1.0,v1.0beta,v1.0alpha,dev}\n                        data request version\n  outfile               output file containing metadata of requested variables, can be \".json\" or \".csv\" file\n\noptions:\n  -h, --help            show this help message and exit\n  -cn, --compound_names COMPOUND_NAMES\n                        include only variables with the specified compound names, example: -cn Amon.tas,Omon.sos\n  -t, --cmor_tables CMOR_TABLES\n                        include only the specified CMOR tables, example: -t Amon,Omon\n  -v, --cmor_variables CMOR_VARIABLES\n                        include only the specified CMOR variable short names, example: -v tas,siconc\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n:bulb: The [CMIP7 CMOR tables](https://github.com/WCRP-CMIP/cmip7-cmor-tables) have been generated from the variables metadata in the DR. `get_variables_metadata` provides another way to view the variables metadata in the DR.\n\n**4. compare_variables**\n\nUseful for viewing the changes in variable metadata between two CMIP7 DR versions or between CMIP7 and CMIP6. If comparing to CMIP6, the CMIP6 CMOR tables will be loaded and a `cmip6.json` file created with the expected format to enable the comparison. There are 3 output files: one listing the missing variables and two files listing the differences (one sorted per variable, the other sorted per attribute). As above, variables are identified with their _CMIP7 compound names_.\n\u003cbr\u003e\n\nCall example:\n\u003cbr\u003e\n`compare_variables all_variables_metadata_v1.2.2.3.json cmip6`\n\u003cdetails\u003e\n\u003csummary\u003eClick here to see the CLI log.\u003c/summary\u003e\n\n```\nWrote cmip6.json\nLoaded all_variables_metadata_v1.2.2.3.json\nLoaded cmip6.json\nTotal number of variables with differences: 0\nWrote missing_variables.json\nWrote diffs_by_variable.json\nWrote diffs_by_attribute.json\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to see all the available options.\u003c/summary\u003e\n\n```\n$--\u003e compare_variables -h\n\nusage: compare_variables [-h] [-c CONFIG_ATTRIBUTES] compare compare\n\nCompare variables metadata between data request versions\n\npositional arguments:\n  compare               versions of variables to compare: json file or cmor tables\n\noptions:\n  -h, --help            show this help message and exit\n  -c, --config_attributes CONFIG_ATTRIBUTES\n                        yaml file specifying metadata attributes to compare (will be created if it doesn't exist)\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n**5. estimate_dreq_volume**\n\nProvides an estimate of the data volumes. It takes as input a yaml file where the model-grid size parameters are to be set. Please note that theses these estimates are provisional and must be used with caution. The output file is a json file where data volumes are given per experiment and grouped by variable priority (Core, High, Medium, Low).\n\u003cbr\u003e\n\nTo first create the yaml file, just call the utility with a DR version specified:\n`estimate_dreq_volume v1.2.2.3`\n\nA default  config file `size.yaml`is created. \n\u003cdetails\u003e\n\u003csummary\u003eClick here to see the content of the default config file.\u003c/summary\u003e\n\n```\n# Data sizes config file for estimate_volume.py\n\n# Model-specific dimension sizes (edit as needed)\ndimensions:\n  alevel: 80\n  alevhalf: 80\n  gridlatitude: 100\n  latitude: 180\n  longitude: 360\n  olevel: 80\n  olevhalf: 80\n  rho: 80\n  sdepth: 20\n  soilpools: 5\n  spectband: 10\n\n# Number of bytes per floating point number\nbytes_per_float: 4\n\n# Scaling factor (e.g., adjust to account for netcdf compression)\nscale_file_size: 1\n\n# No. of years to use if showing size of single variables (-vso option)\nyears: 1\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\nAfter editing `size.yaml` with your model-specific settings, rerun the command.\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here for a snapview of the outut json file.\u003c/summary\u003e\n\n```\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to see all the available options.\u003c/summary\u003e\n\n```\n $ --\u003e estimate_dreq_volume -h\n\nusage: estimate_dreq_volume [-h] [-o OUTFILE] [-c CONFIG_SIZE] [-v VARIABLES] [-e EXPERIMENTS] [-vso] request\n\nEstimate volume of requested model output\n\npositional arguments:\n  request               json file specifying variables requested by experiment (output from export_dreq_lists_json, which specifies the data request version) OR\n                        can be a data request version (e.g. \"v1.2\")\n\noptions:\n  -h, --help            show this help message and exit\n  -o, --outfile OUTFILE\n                        name of output file, default: volume_estimate_{data request version}.json\n  -c, --config-size CONFIG_SIZE\n                        config file (yaml) giving size parameters to use in the volume estimate\n  -v, --variables VARIABLES\n                        include only the specified variables in the estimate, example: -v Amon.tas,Omon.tos\n  -e, --experiments EXPERIMENTS\n                        include only the specified experiments in the estimate, example: -e historical,piControl\n  -vso, --variable-size-only\n                        show ONLY the sizes of individual variables (ignores experiments)\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\n### Notebooks\n\nNotebooks are intended as a how-to guidelines for:\n* loading the data request: [\"HowTo-01\"](notebooks/HowTo-01_Import_and_Load_the_DR.ipynb)\n* discovering the data request: [\"HowTo-02\"](notebooks/HowTo-02_Discover_What_is_in_DR.ipynb)\n* searching for experiments or variables: [\"HowTo-03a\"](notebooks/HowTo-03a_Find_Experiments_and_Variables_for_given_Opportunities.ipynb), [\"HowTo-03b\"](notebooks/HowTo-03b_Find_Experiments_and_Variables_for_given_Opportunities.ipynb)\n* viewing attributes of experiments and variables: [\"HowTo-04a\"](notebooks/HowTo-04a_View_Attributes_of_Experiments_and_Variables.ipynb), [\"HowTo-04b\"](notebooks/HowTo-04a_View_Attributes_of_Experiments_and_Variables.ipynb)\n* applying various search filters: [\"HowTo-05\"](notebooks/HowTo-05_Apply_Various_Search_Critria.ipynb)\n\n### Python Scripts\n\nPython scripts objective is to illustrate some use-case workflows.\n\n:construction: *This section is under construction.* \n\n## Documentation\n\n### General Documentation\n\n:construction: *This section is under construction.* \n\n\n### Technical Documentation \n\nAuto-generated code documentation can be [found here](https://cmip-data-request.github.io/CMIP7_DReq_Software/data_request_api/).\n\n## Contact\n\nThe CMIP7 Data Request Task Team encourages user feedback to help us improve the software.\nHere are some ways to provide feedback:\n- For *specific questions or issues* (such as bugs) please [open a github issue](https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/issues).\n- For *more general questions or concerns*, such as suggestions for new features, contribute to the Software's [github discussion forum](https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/discussions).\n\n## Contributors\n\n[![Contributors](https://contrib.rocks/image?repo=CMIP-Data-Request/CMIP7_DReq_Software)](https://github.com/CMIP-Data-Request/CMIP7_DReq_Software/graphs/contributors/)\n*Thanks to our contributors!*\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/334307","html_url":"https://ost.ecosyste.ms/projects/334307"}