📚 Getting Started
The tes crate contains types (via the types feature) and a simple client
(via the client feature) for working with the Task Execution Service
(TES) specification. Briefly, TES is a specification developed to
uniformly submit units of execution ("tasks") to multiple compute environment
through a single HTTP interface. It is of interest mostly when developing
clients or servers that participate in the large-scale submission or monitoring
of jobs.
To utilize tes in your crates, simply add it to your project.
# If you want to use the types.
# If you also want to use the provided client.
After this, you can access the library using the tes module in your Rust code.
You can take a look at the
examples for
inspiration, but a simple example could look like this.
use client;
async
Minimum Supported Rust Version
The minimum supported Rust version is currently 1.80.0.
There is a CI job that verifies the declared minimum supported version.
If a contributor submits a PR that uses a feature from a newer version of Rust,
the contributor is responsible for updating the minimum supported version in
the Cargo.toml.
Contributors may update the minimum supported version as-needed to the latest stable release of Rust.
To facilitate the discovery of what the minimum supported version should be,
install the cargo-msrv tool:
And run the following command:
If the reported version is newer than the crate's current minimum supported version, an update is required.
🖥️ Development
To bootstrap a development environment, please use the following commands.
# Clone the repository
# Build the crate in release mode
# List out the examples
🚧️ Tests
Before submitting any pull requests, please make sure the code passes the following checks (from the root directory).
# Run the project's tests.
# Run the tests for the examples.
# Ensure the project doesn't have any linting warnings.
# Ensure the project passes `cargo fmt`.
# Currently this requires nightly Rust
# Ensure the docs build.
🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to check issues page.
📝 License
This project is licensed as either Apache 2.0 or MIT at your discretion. Additionally, please see the disclaimer that applies to all crates and command line tools made available by St. Jude Rust Labs.
Copyright © 2024-Present St. Jude Children's Research Hospital.