IOOS Compliance Checker
A python based tool for data providers to check for completeness and community standard compliance of local or remote netCDF files against CF and ACDD file standards.
https://github.com/ioos/compliance-checker
Category: Climate Change
Sub Category: Climate Data Standards
Keywords from Contributors
ogc ogcapi ows oceanography netcdf4 climate-science meteorology climate-data earth-science esgf
Last synced: about 21 hours ago
JSON representation
Repository metadata
Python tool to check your datasets against compliance standards
- Host: GitHub
- URL: https://github.com/ioos/compliance-checker
- Owner: ioos
- License: apache-2.0
- Created: 2013-10-02T18:49:48.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2026-04-03T16:36:39.000Z (11 days ago)
- Last Synced: 2026-04-03T18:35:34.857Z (11 days ago)
- Language: Python
- Homepage: http://ioos.github.io/compliance-checker/
- Size: 9.61 MB
- Stars: 130
- Watchers: 19
- Forks: 76
- Open Issues: 42
- Releases: 42
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
IOOS Compliance Checker
The IOOS Compliance Checker is a python based tool for data providers to check
for completeness and community standard compliance of local or remote
netCDF files against
CF and
ACDD
file standards. The python module can be used as a command-line tool or as a
library that can be integrated into other software.
A web-based version of the Compliance
Checker was developed to enable a broader audience and improve accessibility for the
checker. With the web version, providers can simply provide a link or upload their
datasets and get the full suite of capabilities that Compliance Checker offers.
It currently supports the following sources and standards:
| Standard | Source | Release Date |
|---|---|---|
| ACDD (1.1, 1.3) | Built-in | X |
| CF (1.11) | Built-in | Aug 25, 2025 |
| CF (1.10) | Built-in | Apr 29, 2025 |
| CF (1.9) | Built-in | May 15, 2023 |
| CF (1.8) | Built-in | Jan 25, 2022 |
| CF (1.7) | Built-in | Jan 25, 2022 |
| CF (1.6) | Built-in | Jan 20, 2022 |
| IOOS (1.1) | Built-in | X |
| IOOS (1.2) | Built-in | X |
| Glider DAC | ioos/cc-plugin-glider | X |
| NCEI (1.1, 2.0) | ioos/cc-plugin-ncei | X |
Advice to data providers
While the command-line version of this tool can be run in a loop, it is not necessary to check
every file if they are all created the same way. In short, this tool is not meant for
identifying bugs in your data processing stream. It is, however, intended to help you identify
your process procedure compliance to the standards. If you change your processing procedure
for any reason it would be worth your while to run one file through the Compliance Checker to
insure you procedure change does not impact your file’s compliance.
If you feel you will need to run a batch of files through the Compliance Checker, please contact
the IOOS Program Office Operations Division for assistance.
The Compliance Checker Web Tool
The IOOS Compliance Checker front end companion.
https://compliance.ioos.us/index.html
Source Code is available on GitHub:
https://github.com/ioos/compliance-checker-web
Usage
Select the test you want to run from the dropdown menu. Then, either upload your dataset or provide a url to a
remote dataset (OPeNDAP) and click 'Submit'.
The output of the Compliance Checker will give you a comprehensive list of issues and the actions needed to correct them.
You may download the Compliance Checker report as a text file by clicking the 'Download Report' button

API
In addition to a web-based front-end for the IOOS Compliance Checker project, an API is provided for
users interested in batch processing files hosted via OPeNDAP. Details on how to use the API are
available on the Compliance Checker Web wiki page.
Here are a couple examples:
HTML Output
JSON Output
The Compliance Checker Command Line Tool
Concepts & Terminology
Each compliance standard is executed by a Check Suite,
which functions similar to a Python standard Unit Test.
A Check Suite runs checks against a dataset based on a metadata standard,
returning a list of Results which are then aggregated into a summary.
Each Result has a (# passed / # total) score, a weight (HIGH/MEDIUM/LOW),
a computer-readable name, an optional list of human-readable messages,
and optionally a list of child Results.
A single score is then calculated by aggregating on the names,
then multiplying the score by the weight and summing them together.
The computer-readable name field controls how Results are aggregated together - in order to prevent the overall score for a Check Suite varying on the number of variables,
it is possible to group Results together via the name property.
Grouped results will only add up to a single top-level entry.
See the Development wiki page for more details on implementation.
Installation
Check out the Installation wiki for instructions on how to install.
Command Line Usage
The compliance-checker can work against local files (.nc files, .cdl
metadata files, .xml files of SOS GetCapabilities/DescribeSensor requests)
or against remote URLs (OPeNDAP data URLs, SOS GetCapabilities/DescribeSensor URLs).
If you are aiming to check a netCDF-dump, also known as a CDL file, the file
must be named to end with a .cdl for the check-suite to be able to correctly
parse it's contents.
WARNING The CF/ACDD checks will access data, so if using a remote OPeNDAP URL, please be sure the size is reasonable!
usage: cchecker.py [-h] [--test TEST] [--criteria {lenient,normal,strict}] [--verbose] [--describe-checks] [--skip-checks SKIP_CHECKS | --include-checks INCLUDE_CHECKS]
[-f {text,html,json,json_new}] [-o OUTPUT] [-O OPTION] [-V] [-l] [-d DOWNLOAD_STANDARD_NAMES]
[dataset_location ...]
positional arguments:
dataset_location Defines the location of the dataset to be checked. The location can be a local netCDF file, a remote OPeNDAP endpoint, a remote netCDF file which
returns content-type header of 'application/x-netcdf', or an ERDDAP TableDAP endpoint. Note that the ERDDAP TableDAP endpoint will currently attempt
to fetch the entire TableDAP dataset.
options:
-h, --help show this help message and exit
--test, -t TEST Select the Checks you want to perform. Defaults to 'acdd' if unspecified. Versions of standards can be specified via `-t <test_standard>:<version>`.
If `<version>` is omitted the latest version of the test standard is used.
--criteria, -c {lenient,normal,strict}
Define the criteria for the checks. Either Strict, Normal, or Lenient. Defaults to Normal.
--verbose, -v Increase output. May be specified up to three times.
--describe-checks, -D
Describes checks for checkers specified using `-t`. If `-t` is not specified, lists checks from all available checkers.
--skip-checks, -s SKIP_CHECKS
Specifies tests to skip. Can take the form of either `<check_name>` or `<check_name>:<skip_level>`. The first form skips any checks matching the
name. In the second form <skip_level> may be specified as "A", "M", or "L". "A" skips all checks and is equivalent to calling the first form. "M"
will only show high priority output from the given check and will skip medium and low. "L" will show both high and medium priority issues, while
skipping low priority issues. Cannot be used with `-i`/`--include-checks` option.
--include-checks, -i INCLUDE_CHECKS
Specifies checks to include. Can only take the form of `<check_name>`. Cannot be specified along with `-s`/`skip_checks`.
-f, --format {text,html,json,json_new}
Output format(s). Options are 'text', 'html', 'json', 'json_new'. The difference between the 'json' and the 'json_new' formats is that the 'json'
format has the check as the top level key, whereas the 'json_new' format has the dataset name(s) as the main key in the output follow by any checks
as subkeys. Also, 'json' format can be only be run against one input file, whereas 'json_new' can be run against multiple files.
-o, --output OUTPUT Output filename(s). If '-' is supplied, output to stdout. Can either be one or many files. If one file is supplied, but the checker is run against
many files, all the output from the checks goes to that file (does not presently work with 'json' format). If more than one output file is supplied,
the number of input datasets supplied must match the number of output files.
-O, --option OPTION Additional options to be passed to the checkers. Multiple options can be specified via multiple invocations of this switch. Options should be
prefixed with a the checker name followed by the option, potentially followed by a value, e.g. '<checker>:<option_name>[:<option_value>]' Available
options: 'cf:enable_appendix_a_checks' - Allow check results against CF Appendix A for attribute location and data types.
-V, --version Display the IOOS Compliance Checker version information.
-l, --list-tests List the available tests
-d, --download-standard-names DOWNLOAD_STANDARD_NAMES
Specify a version of the cf standard name table to download as packaged version. Either specify a version number (e.g. "72") to fetch a specific
version or "latest" to get the latest CF standard name table.
Examples
Check a local file against CF 1.6
compliance-checker --test=cf:1.6 compliance_checker/tests/data/examples/hycom_global.nc
--------------------------------------------------------------------------------
IOOS Compliance Checker Report
cf:1.6 check
--------------------------------------------------------------------------------
Corrective Actions
hycom_global.nc has 9 potential issues
Errors
--------------------------------------------------------------------------------
Name Reasoning
§3.2 Either long_name or standard_name Attribute long_name or/and standard_name
is highly recommended for variable time: is highly recommended for variable time
§4.3.1 depth is a valid vertical vertical coordinates not defining
coordinate: pressure must include a positive
attribute that is either 'up' or 'down'
Warnings
--------------------------------------------------------------------------------
Name Reasoning
§2.6.1 Global Attribute Conventions Conventions global attribute does not
includes CF-1.6: contain "CF-1.6". The CF Checker only
supports CF-1.6 at this time.
§2.6.2 Recommended Attributes: institution should be defined source
should be defined references should be
defined
§2.6.2 Recommended Global Attributes: global attribute history should exist
and be a non-empty string
§8.1 Packed Data defined by water_u Attributes add_offset and scale_factor
contains valid packing: are not of type float or double.
§8.1 Packed Data defined by water_v Attributes add_offset and scale_factor
contains valid packing: are not of type float or double.
Check a remote file against ACDD 1.3
The remote dataset url is taken from the Data URL section of an OPeNDAP endpoint.
compliance-checker --test=acdd:1.3 "http://sos.maracoos.org/stable/dodsC/hrecos/stationHRMARPH-agg.ncml"
Checking against remote ERDDAP Datasets
ERDDAP datasets are becoming a popular way to access data. Supply an ERDDAP TableDAP or GridDAP URL to the checker:
compliance-checker --test ioos:1.2 "https://pae-paha.pacioos.hawaii.edu/erddap/griddap/pibhmc_bathy_60m_guam"
Ensure to supply the URL without the format extension at the end (no .nc, .ncCF, etc.).
Some examples of ERDDAP datasets:
- https://pae-paha.pacioos.hawaii.edu/erddap/tabledap/aws_himb
- http://erddap.secoora.org/erddap/tabledap/edu_usf_marine_comps_1407d550
- http://erddap.cencoos.org/erddap/tabledap/bodega-bay-bml_wts
- http://erddap.cencoos.org/erddap/tabledap/fort-point
- http://erddap.cencoos.org/erddap/tabledap/edu_humboldt_humboldt
- http://erddap.cencoos.org/erddap/tabledap/edu_calpoly_marine_morro
- http://erddap.cencoos.org/erddap/tabledap/mlml_mlml_sea
- http://erddap.cencoos.org/erddap/tabledap/mlml_mlml_met
- http://erddap.cencoos.org/erddap/tabledap/mlml_monterey
- http://erddap.cencoos.org/erddap/tabledap/edu_humboldt_tdp
Write results to text file
compliance-checker --test=acdd:1.3 --format=text --output=/tmp/report.txt compliance_checker/tests/data/examples/hycom_global.nc
Write results to JSON file
compliance-checker --test=acdd:1.3 --format=json --output=/tmp/report.json compliance_checker/tests/data/examples/hycom_global.nc
Write results to HTML file
compliance-checker --test=acdd:1.3 --format=html --output=/tmp/report.html compliance_checker/tests/data/examples/hycom_global.nc
Output text from multiple input files to one output file
compliance-checker --test=cf:1.6 --format text --output=/tmp/combined_output.txt compliance_checker/tests/data/examples/hycom_global.nc compliance_checker/tests/data/examples/ww3.nc
Output html and text files from multiple input files (part 1)
In this case you'll get 2 files /tmp/combined_output.txt and /tmp/combined_output.html that contain cf check results for both input files because you only specified 1 output filename.
compliance-checker --test=cf:1.6 --format text --format html --output=/tmp/combined_output.txt compliance_checker/tests/data/examples/hycom_global.nc compliance_checker/tests/data/examples/ww3.nc
Output html and text files from multiple input files (part 2)
In this case you'll get 4 files /tmp/hycom.txt, /tmp/hycom.html, /tmp/ww3.txt, and /tmp/ww3.html that contain cf check results because you specified as many output filenames as input filenames.
compliance-checker --test=cf:1.6 --format text --format html --output=/tmp/hycom.txt --output=/tmp/ww3.txt compliance_checker/tests/data/examples/hycom_global.nc compliance_checker/tests/data/examples/ww3.nc
Download a particular CF standard names table for use in the test
Note
During the CF test, if a file has a particular version of the cf standard name table specified in the global attributes
(i.e. :standard_name_vocabulary = "CF Standard Name Table v30" ;) that doesn't match the packaged version, it will
try to download the specified version. If it fails, it will fall back to packaged version.
compliance-checker -d 35
Alternatively, you can specify an absolute path to a standard name table you may have locally in an environment variable named CF_STANDARD_NAME_TABLE and the compliance checker will use that version instead.
Python Usage
If you are interested in incorporating the IOOS Compliance Checker into your own python projects, check out the following python code example:
from compliance_checker.runner import ComplianceChecker, CheckSuite
# Load all available checker classes
check_suite = CheckSuite()
check_suite.load_all_available_checkers()
# Run cf and adcc checks
path = "/path/or/url/to/your/dataset"
checker_names = ["cf", "acdd"]
verbose = 0
criteria = "normal"
output_filename = "/output/report.json"
output_format = "json"
"""
Inputs to ComplianceChecker.run_checker
path Dataset location (url or file)
checker_names List of string names to run, should match keys of checkers dict (empty list means run all)
verbose Verbosity of the output (0, 1, 2)
criteria Determines failure (lenient, normal, strict)
output_filename Path to the file for output
output_format Format of the output
@returns If the tests failed (based on the criteria)
"""
return_value, errors = ComplianceChecker.run_checker(
path,
checker_names,
verbose,
criteria,
output_filename=output_filename,
output_format=output_format,
)
# Open the JSON output and get the compliance scores
with open(output_filename, "r") as fp:
cc_data = json.load(fp)
scored = cc_data[cc_test[0]]["scored_points"]
possible = cc_data[cc_test[0]]["possible_points"]
log.debug(f"CC Scored {scored} out of {possible} possible points")
Compliance Checker Plug-Ins
Separate Plug-ins have been developed to complement the Compliance Checker tool with
specifications for preparing data to be submitted to different data assembly centers.
The version numbering of these plug-ins are not necessarily link to the version of the
Compliance Checker, but they are all designed to run with the Compliance Checker tool.
Current Plug-in Releases:
This is a checker for GliderDAC files
This is a checker for NCEI netCDF Templates v1.1 and v2.0 files.
This is a checker for UGRID (https://ugrid-conventions.github.io/ugrid-conventions/)
These plug-ins must be installed separately but work on top of the base compliance checker software.
pip install cc-plugin-ncei
Check to see if it installed correctly, list the tests:
compliance-checker -l
You should see
IOOS compliance checker available checker suites (code version):
- ncei-grid (2.1.0)
- ncei-grid:1.1 (2.1.0)
- ncei-grid:2.0 (2.3.0)
- ncei-grid:latest (2.1.0)
- ncei-point (2.3.0)
- ncei-point:1.1 (2.1.0)
- ncei-point:2.0 (2.3.0)
etc ....
Once installing the plug-in the usage is similar to the built in checkers.
Examples of how to use the Plug-Ins
- Run the NCEI Point check on a THREDDS endpoint
compliance-checker -t ncei-point -v "https://data.nodc.noaa.gov/thredds/dodsC/testdata/mbiddle/GOLD_STANDARD_NETCDF/1.1/NODC_point_template_v1.1_2016-06-15_133710.844375.nc"
- Run NCEI Trajectory Profile Orthogonal Check on local dataset
compliance-checker -t ncei-trajectory-profile-orthogonal -v ~/data/sample-trajectory-profile.nc
- Outputting JSON from a gridded file check
compliance-checker -t ncei-grid -f json -o ~/Documents/sample_grid_report.json ~/Documents/sample_grid_report.nc
UGRID support
Compliance Checker does not support UGRID in the base package, although implicitly required by CF. If your needs include checking UGRID implementing files, we recommend that you either use an external checker such as the one maintained by the UK Met Office (https://github.com/pp-mo/ugrid-checks) or the Compliance Checker plugin listed above. (https://github.com/ioos/cc-plugin-ugrid)
Disclaimer
The objective of the IOOS Compliance Checker is to check your file against our interpretation of select dataset metadata standards to use as a guideline in generating compliant files. The compliance checker should not be considered the authoritative source on whether your file is 100% "compliant". Instead, we recommend that users use the results as a guide to work towards compliance. A table with the current CF feature support documenting implemented portions of CF is located here for reference: Feature Parity Matrix
Miscellaneous/Acknowledgements
Contributors
Portions of the CF checker are based on Michael Decker's work, http://repositories.iek.fz-juelich.de/hg/CFchecker/
Owner metadata
- Name: US Integrated Ocean Observing System
- Login: ioos
- Email: data.ioos@noaa.gov
- Kind: organization
- Description: Software, tools, and technical documentation supporting IOOS Data Management and Cyberinfrastructure (DMAC).
- Website: http://ioos.github.io
- Location: Silver Spring, MD
- Twitter: usioosgov
- Company:
- Icon url: https://avatars.githubusercontent.com/u/5313832?v=4
- Repositories: 123
- Last ynced at: 2025-06-23T16:05:33.061Z
- Profile URL: https://github.com/ioos
GitHub Events
Total
- Create event: 35
- Commit comment event: 1
- Release event: 5
- Delete event: 24
- Pull request event: 166
- Fork event: 10
- Issues event: 61
- Watch event: 13
- Issue comment event: 180
- Push event: 99
- Pull request review event: 71
- Pull request review comment event: 66
Last Year
- Release event: 3
- Delete event: 15
- Pull request event: 106
- Fork event: 3
- Issues event: 40
- Watch event: 7
- Issue comment event: 107
- Push event: 69
- Pull request review comment event: 28
- Pull request review event: 38
- Create event: 25
Committers metadata
Last synced: 24 days ago
Total Commits: 1,683
Total Committers: 50
Avg Commits per committer: 33.66
Development Distribution Score (DDS): 0.718
Commits in past year: 133
Committers in past year: 10
Avg Commits per committer in past year: 13.3
Development Distribution Score (DDS) in past year: 0.519
| Name | Commits | |
|---|---|---|
| Benjamin Adams | b****s@r****m | 475 |
| Filipe Fernandes | o****f@g****m | 308 |
| Luke Campbell | l****l@g****m | 230 |
| daltonkell | d****3@g****m | 124 |
| Dave Foster | d****r@a****m | 66 |
| pre-commit-ci[bot] | 6****] | 56 |
| Bob Fratantonio | b****t@g****m | 55 |
| Dave Foster | d****e@a****m | 51 |
| mhidas | m****s@u****u | 43 |
| dependabot[bot] | 4****] | 34 |
| DanielJMaher | D****r@A****m | 31 |
| Kyle Wilcox | k****e@a****m | 28 |
| Daniel Neumann | d****n@d****e | 25 |
| Dan Maher | d****r@a****m | 19 |
| Leila Belabbassi | l****m@g****m | 19 |
| openSourcerer | s****0@g****m | 17 |
| ming fu | f****3@g****m | 15 |
| Christopher Duncombe Rae | c****e@n****v | 10 |
| Jake Polatty | j****y@g****m | 8 |
| DanielJMaher | D****r@g****m | 6 |
| Christopher Adams | c****s@g****m | 5 |
| Joe Singleton | j****o@g****m | 5 |
| A.F. | a****t@d****e | 5 |
| Ben Hall | b****l@r****m | 4 |
| abirger | a****r@n****v | 4 |
| Dan Nowacki | d****i@u****v | 3 |
| Micah Wengren | m****n@g****m | 3 |
| sol1105 | m****r@w****e | 3 |
| Bob Fratantonio | r****o@r****m | 3 |
| daltonkell | D****l@r****m | 2 |
| and 20 more... | ||
Committer domains:
- noaa.gov: 4
- asascience.com: 4
- rpsgroup.com: 4
- utas.edu.au: 3
- dkrz.de: 2
- posteo.de: 1
- scitools.org.uk: 1
- csiro.au: 1
- stfc.ac.uk: 1
- castelao.net: 1
- ccom.unh.edu: 1
- usgs.gov: 1
- axiomalaska.com: 1
- axiomdatascience.com: 1
Issue and Pull Request metadata
Last synced: 6 days ago
Total issues: 113
Total pull requests: 332
Average time to close issues: about 1 year
Average time to close pull requests: 20 days
Total issue authors: 35
Total pull request authors: 20
Average comments per issue: 2.35
Average comments per pull request: 1.43
Merged pull request: 254
Bot issues: 1
Bot pull requests: 87
Past year issues: 33
Past year pull requests: 94
Past year average time to close issues: 28 days
Past year average time to close pull requests: 4 days
Past year issue authors: 12
Past year pull request authors: 13
Past year average comments per issue: 1.15
Past year average comments per pull request: 0.91
Past year merged pull request: 59
Past year bot issues: 0
Past year bot pull requests: 24
Top Issue Authors
- jamesdoyle21 (35)
- benjwadams (15)
- mhidas (7)
- mwengren (7)
- jcermauwedu (5)
- daltonkell (5)
- ocefpaf (3)
- dnowacki-usgs (3)
- uriii3 (2)
- larsbuntemeyer (2)
- neumannd (2)
- lukecampbell (2)
- sol1105 (2)
- FObersteiner (2)
- pre-commit-ci[bot] (1)
Top Pull Request Authors
- ocefpaf (108)
- benjwadams (90)
- pre-commit-ci[bot] (50)
- dependabot[bot] (33)
- leilabbb (15)
- Karinon (10)
- ChrisBarker-NOAA (4)
- github-actions[bot] (4)
- jcermauwedu (3)
- larsbuntemeyer (2)
- sol1105 (2)
- mhidas (2)
- Unichronic (2)
- Shreyaav18 (1)
- rokm (1)
Top Issue Labels
- CF-Checker (21)
- enhancement (3)
- ioos-code-sprint-2024 (2)
- bug (2)
- IOOS:1.2 (2)
- in progress (1)
- NCEI-Checker (1)
Top Pull Request Labels
- Bot (37)
- ioos-code-sprint-2024 (15)
- CF-Checker (4)
- in progress (1)
Package metadata
- Total packages: 2
-
Total downloads:
- conda: 1,018,633 total
- pypi: 33,824 last-month
- Total docker downloads: 319
- Total dependent packages: 6 (may contain duplicates)
- Total dependent repositories: 42 (may contain duplicates)
- Total versions: 62
- Total maintainers: 3
pypi.org: compliance-checker
Checks Datasets and SOS endpoints for standards compliance
- Homepage:
- Documentation: https://compliance-checker.readthedocs.io/
- Licenses: Apache-2.0
- Latest release: 5.4.2 (published 7 months ago)
- Last Synced: 2026-03-28T12:46:38.884Z (17 days ago)
- Versions: 39
- Dependent Packages: 2
- Dependent Repositories: 26
- Downloads: 33,824 Last month
- Docker Downloads: 319
-
Rankings:
- Docker downloads count: 2.241%
- Dependent repos count: 2.843%
- Dependent packages count: 3.165%
- Average: 5.308%
- Forks count: 5.734%
- Stargazers count: 7.348%
- Downloads: 10.519%
- Maintainers (3)
conda-forge.org: compliance-checker
- Homepage: https://github.com/ioos/compliance-checker
- Licenses: Apache-2.0
- Latest release: 5.0.2 (published almost 4 years ago)
- Last Synced: 2026-03-22T03:18:41.724Z (24 days ago)
- Versions: 23
- Dependent Packages: 4
- Dependent Repositories: 16
- Downloads: 1,018,633 Total
-
Rankings:
- Dependent repos count: 8.918%
- Dependent packages count: 12.501%
- Average: 20.408%
- Forks count: 24.881%
- Stargazers count: 35.331%
Dependencies
- codecov * test
- codespell * test
- flake8 * test
- httpretty * test
- mypy * test
- pre-commit * test
- pytest >=2.9.0 test
- pytest-cov * test
- pytest-cov >=3.0.0 test
- pytest-vcr * test
- requests-mock >=1.7.0 test
- actions/checkout v3 composite
- s-weigand/setup-conda v1 composite
- actions/checkout v3 composite
- s-weigand/setup-conda v1 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- s-weigand/setup-conda v1 composite
- actions/checkout v3 composite
- s-weigand/setup-conda v1 composite
- actions/checkout v3 composite
- s-weigand/setup-conda v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish v1.6.4 composite
- actions/checkout v4 composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v4 composite
- mamba-org/setup-micromamba v1 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout 1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 composite
- mamba-org/setup-micromamba add3a49764cedee8ee24e82dfde87f5bc2914462 composite
- actions/checkout 1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 composite
- mamba-org/setup-micromamba add3a49764cedee8ee24e82dfde87f5bc2914462 composite
- actions/checkout 1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 composite
- peter-evans/create-pull-request 84ae59a2cdc2258d6fa0732dd66352dddae2a412 composite
- actions/checkout 1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 composite
- mamba-org/setup-micromamba add3a49764cedee8ee24e82dfde87f5bc2914462 composite
Score: 22.92650886700812