canary: application testing with Python
Project description
CANARY
canary is a python package providing an application testing framework designed to test scientific applications.
- Documentation: https://canary-wm.readthedocs.io/en/production/
canary is inspired by 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.
canary offers several advantages over similar testing tools:
Speed: Hierarchical parallelism is used to run tests asynchronously, optimizing resource utilization and speeding up the testing process.
Python: Test files are written in Python, giving developers access to the full Python ecosystem.
Integration: canary integrates with popular developer tools like CMake, CDash and GitLab, streamlining the testing and continuous integration (CI) processes.
Extensibility: canary can be extended through user plugins, allowing developers to customize their test sessions according to their specific needs.
Requirements
Python 3.10+
Install
canary is distributed as a python library and is most easily installed via pip (or other compatible tool):
To install the latest production version, execute:
python3 -m pip install canary-wm
To install the latest development version, execute:
python3 -m pip install "canary-wm@git+ssh://git@github.com/sandialabs/canary"
NOTE: Installing from the main development branch depends on floating git refs to one or more dependencies. For stable installs, install a published release.
Developers
For developers wanting to make modifications and/or contributions to canary, install in editable mode:
python3 -m pip install -e git+https://github.com/sandialabs/canary#egg=canary-wm[dev]
which 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:
git clone git@github.com:sandialabs/canary
cd canary
python3 -m pip install --editable .[dev]
To format code and run canary's internal tests, execute
canary check
License
Canary is distributed under the terms of the MIT license, see LICENSE and COPYRIGHT.
SPDX-License-Identifier: MIT
SCR#:3170.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file canary_wm-26.4.16.tar.gz.
File metadata
- Download URL: canary_wm-26.4.16.tar.gz
- Upload date:
- Size: 6.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d658f8ec3ddbadb9167a2178fa8e0ec4c89b715fcaa04831c02c73e9d3b9fe00
|
|
| MD5 |
a008513082902d0e6ce71ffef93e59e4
|
|
| BLAKE2b-256 |
8b1f5cf0476d6832a4c7ea610353c55f87d5a546b6f8b4728acd26b12e290f46
|
Provenance
The following attestation bundles were made for canary_wm-26.4.16.tar.gz:
Publisher:
publish.yml on sandialabs/canary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
canary_wm-26.4.16.tar.gz -
Subject digest:
d658f8ec3ddbadb9167a2178fa8e0ec4c89b715fcaa04831c02c73e9d3b9fe00 - Sigstore transparency entry: 1321160876
- Sigstore integration time:
-
Permalink:
sandialabs/canary@0eb6310f2f79ef156bcbe142daf16f4215f1b6f8 -
Branch / Tag:
refs/tags/release/26.4.16 - Owner: https://github.com/sandialabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0eb6310f2f79ef156bcbe142daf16f4215f1b6f8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file canary_wm-26.4.16-py3-none-any.whl.
File metadata
- Download URL: canary_wm-26.4.16-py3-none-any.whl
- Upload date:
- Size: 429.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d76335a47f9d4920c6d58257b74c004a381a36de91b84ac7eb393ff32ae2cdb6
|
|
| MD5 |
fa8c4737ea49df43b5e7b2bdd0990281
|
|
| BLAKE2b-256 |
2534e9b453ec0b031c3ee2e5c24610d5c827e7dd6f634df5063a305b01650fa3
|
Provenance
The following attestation bundles were made for canary_wm-26.4.16-py3-none-any.whl:
Publisher:
publish.yml on sandialabs/canary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
canary_wm-26.4.16-py3-none-any.whl -
Subject digest:
d76335a47f9d4920c6d58257b74c004a381a36de91b84ac7eb393ff32ae2cdb6 - Sigstore transparency entry: 1321161066
- Sigstore integration time:
-
Permalink:
sandialabs/canary@0eb6310f2f79ef156bcbe142daf16f4215f1b6f8 -
Branch / Tag:
refs/tags/release/26.4.16 - Owner: https://github.com/sandialabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0eb6310f2f79ef156bcbe142daf16f4215f1b6f8 -
Trigger Event:
push
-
Statement type: