This is a CLI to interact with CloudBees Smart Tests.
Usage
See https://help.launchableinc.com/resources/cli-reference/ and https://help.launchableinc.com/sending-data-to-launchable/using-the-launchable-cli/getting-started/.
Development
Preparation
We recommend uv for dependency management:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync --dev
In order to automatically format files with autopep8, this repository contains a
configuration for pre-commit. Install the hook with
uv run pre-commit install.
Load development environment
# Activate virtual environment
source .venv/bin/activate
# or use uv run for individual commands
uv run <command>
From this shell, run pip install -e . to create launchable wrapper script from the workspace.
This is useful to test the CLI with real/local server.
Run tests cli
# Using poethepoet (recommended)
uv run poe test
# Direct command
uv run python -m unittest
Run tests exe_deploy.jar
bazel test ...
Available Development Tasks
This project uses poethepoet for task management. Available tasks:
# Show all available tasks
uv run poe --help
# Run tests
uv run poe test
# Run tests with XML output
uv run poe test-xml
# Run linting
uv run poe lint
# Run type checking
uv run poe type
# Format code
uv run poe format
# Build package
uv run poe build
# Install package locally
uv run poe install
Add dependency
# Add runtime dependency
uv add some-package
# Add development dependency
uv add --dev some-dev-package
Adding new command
smart_tests/args4p defines a small command line argument parsing framework for this CLI. See its README.md for
the capabilities.
smart_tests/__main__.py defines the top level commands. Follow the code from there to see where sub-commands
are registered.
Updating Python Version
When updating the Python version requirement, update the following files:
.python-version- Used by pyenv, uv, and local developmentpyproject.toml- Updaterequires-python = ">=X.Y"setup.cfg- Updatepython_requires = >=X.Y.github/workflows/python-package.yml- Updatepython-version: ["X.Y"].github/workflows/python-publish.yml- Updateuv python install X.YREADME.md- Update prerequisite sectionCLAUDE.md- Update development notes
How to release
Create new release on Github, then Github Actions automatically uploads the module to PyPI.
How to update bundled documentation
The product documentation lives in smart_tests/docs/ and is bundled into the
distributed package. To pull in the latest from the docsite repository:
uv run poe update-docs
Users can extract the bundled docs to the current directory with:
smart-tests get docs
How to update smart_tests/jar/exe_deploy.jar
./build-java.sh
Installing CLI
You can install the smart-tests command from either source or pypi.
Prerequisite
- >= Python 3.13
- >= Java 8
Install from source
$ pwd
~/cli
$ python setup.py install
Install from pypi
$ pip3 install --user --upgrade smart-tests~=1.0
Versioning
This module follows Semantic versioning such as X.Y.Z.
- Major (X)
- Drastic update breaking backward compatibility
- Minor (Y)
- Add new plugins, options with backward compatibility
- Patch (Z)-
- Fix bugs or minor behaviors
Metadata
Release files for smart-tests-cli 2.16.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| smart_tests_cli-2.16.5.tar.gz | 32.3 MB | Without provenance | Details for smart_tests_cli-2.16.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| smart_tests_cli-2.16.5-py3-none-any.whl | Python 3 | none | any | Details for smart_tests_cli-2.16.5-py3-none-any.whl |
Total release size: 64.6 MB
Release files / smart_tests_cli-2.16.5.tar.gz
| Download URL | smart_tests_cli-2.16.5.tar.gz |
|---|---|
| Size | 32.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
adfa52cae71b8828d18e4ecc22b5a317ca5c1fa55fd6b69e6f0aba5743daccb3
|
|
BLAKE2b-256 checksum How to use checksums |
c587f1d2bdfa87393876fde42267541fb5d0ade2a7fb8487f40cf3c02d3ffa8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / smart_tests_cli-2.16.5-py3-none-any.whl
| Download URL | smart_tests_cli-2.16.5-py3-none-any.whl |
|---|---|
| Size | 32.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4f44ade57bb9d3eeeb468887777ea394e10368eed753837a93edad41a02e2c0
|
|
BLAKE2b-256 checksum How to use checksums |
2e16ceb301ae88f43a7c494132d8c34ebcb7f3543ebbf814dc7bef8607847951
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for smart-tests-cli 2.16.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.