{"id":48082539,"url":"https://github.com/sandialabs/canary","last_synced_at":"2026-04-04T14:58:08.850Z","repository":{"id":292045253,"uuid":"979627668","full_name":"sandialabs/canary","owner":"sandialabs","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-26T22:31:20.000Z","size":12341,"stargazers_count":10,"open_issues_count":15,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-27T09:21:09.354Z","etag":null,"topics":["scr-3170","snl-applications","snl-comp-science-libs","snl-performance-workflow"],"latest_commit_sha":null,"homepage":"","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/sandialabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":"COPYRIGHT","agents":null,"dco":null,"cla":null}},"created_at":"2025-05-07T20:14:24.000Z","updated_at":"2026-03-26T22:31:24.000Z","dependencies_parsed_at":"2025-07-29T23:15:03.495Z","dependency_job_id":"509f0197-8c6c-49c6-8863-fad8d00a2447","html_url":"https://github.com/sandialabs/canary","commit_stats":null,"previous_names":["sandialabs/canary"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/sandialabs/canary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fcanary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fcanary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fcanary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fcanary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandialabs","download_url":"https://codeload.github.com/sandialabs/canary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2Fcanary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"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":["scr-3170","snl-applications","snl-comp-science-libs","snl-performance-workflow"],"created_at":"2026-04-04T14:58:06.702Z","updated_at":"2026-04-04T14:58:08.844Z","avatar_url":"https://github.com/sandialabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CANARY\n\n`canary` is a python package providing an application testing framework designed to test scientific applications.\n\n- **Documentation:** https://canary-wm.readthedocs.io/en/production/\n\n `canary` is inspired by [vvtest](https://github.com/sandialabs/vvtest) and designed to run tests on diverse hardware from laptops to super computing clusters.  `canary` not only validates the functionality of your application but can also serve as a workflow manager for analysts.  A \"test\" is an executable script with extension `.pyt` or `.vvt`.  If the exit code upon executing the script is `0`, the test is considered to have passed, otherwise a non-passing status will be assigned.  `canary`'s methodology is simple: given a path on the filesystem, `canary` recursively searches for test scripts, sets up the tests described in each script, executes them, and reports the results.\n\n`canary` offers several advantages over similar testing tools:\n\n**Speed**: Hierarchical parallelism is used to run tests asynchronously, optimizing resource utilization and speeding up the testing process.\n\n**Python**: Test files are written in [Python](python.org), giving developers access to the full Python ecosystem.\n\n**Integration**: `canary` integrates with popular developer tools like [CMake](cmake.org), [CDash](cdash.org) and [GitLab](gitlab.com), streamlining the testing and continuous integration (CI) processes.\n\n**Extensibility**: `canary` can be extended through user plugins, allowing developers to customize their test sessions according to their specific needs.\n\n## Requirements\n\nPython 3.10+\n\n## Install\n\n`canary` is distributed as a python library and is most easily installed via `pip` (or other compatible tool):\n\nTo install the latest production version, execute:\n\n```console\npython3 -m pip install canary-wm\n```\n\nTo install the latest development version, execute:\n\n```console\npython3 -m pip install \"canary-wm@git+ssh://git@github.com/sandialabs/canary\"\n```\n\n\u003e **NOTE:** Installing from the main development branch depends on floating git refs to one or more dependencies.  For stable installs, install a published release.\n\n\n## Developers\n\nFor developers wanting to make modifications and/or contributions to `canary`, install in editable mode:\n\n```console\npython3 -m pip install -e git+https://github.com/sandialabs/canary#egg=canary-wm[dev]\n```\n\nwhich will leave a copy of `canary` in your Python distribution's `$prefix/src` directory.  Edits made to the source will be immediately visible by the Python interpreter.  Alternatively, the source can be cloned and then installed in editable mode:\n\n```console\ngit clone git@github.com:sandialabs/canary\ncd canary\npython3 -m pip install --editable .[dev]\n```\n\nTo format code and run `canary`'s internal tests, execute\n\n```console\ncanary check\n```\n\n## License\n\nCanary is distributed under the terms of the MIT license, see [LICENSE](https://github.com/sandialabs/canary/blob/main/LICENSE) and [COPYRIGHT](https://github.com/sandialabs/canary/blob/main/COPYRIGHT).\n\nSPDX-License-Identifier: MIT\n\nSCR#:3170.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fcanary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandialabs%2Fcanary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fcanary/lists"}