https://github.com/kaliv0/detox-jar
Command line automation tool
https://github.com/kaliv0/detox-jar
automation cli python-automation tool
Last synced: 4 months ago
JSON representation
Command line automation tool
- Host: GitHub
- URL: https://github.com/kaliv0/detox-jar
- Owner: kaliv0
- License: mit
- Created: 2024-09-24T22:41:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-14T10:54:43.000Z (over 1 year ago)
- Last Synced: 2025-09-29T01:01:52.478Z (8 months ago)
- Topics: automation, cli, python-automation, tool
- Language: Python
- Homepage: https://pypi.org/project/detox-jar/
- Size: 99.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Detox jar

[](https://pypi.org/project/detox-jar/)
[](https://pepy.tech/projects/detox-jar)
Command line automation tool in pure Python
---------------------------
### How to use
- Describe jobs as tables/dictionaries in a config file called 'detox' (choose between .toml, .yaml or .json format).
(Put the config inside the root directory of your project)
```toml
# detox.toml
[test]
description = "test project"
dependencies = ["pytest", "pytest-cov"]
commands = "pytest -vv --disable-warnings -s --cache-clear"
```
```yaml
# detox.yaml
test:
description: test project
dependencies:
- pytest
- pytest-cov
commands:
- pytest -vv --disable-warnings -s --cache-clear
```
- description and dependencies could be optional but not commands
```toml
# detox.toml
[no-deps]
commands = "echo 'Hello world'"
```
(in json)
```json
"no-deps": {
"commands": "echo 'Hello world'"
}
```
- dependencies and commands could be strings or (in case of more than one) a list of strings
```toml
# detox.toml
commands = ["ruff check --fix", "ruff format --line-length=100 ."]
```
```yaml
# detox.yaml
commands:
- ruff check --fix
- ruff format --line-length=100 .
```
- You could provide a [run] table inside the config file with a 'suite' - list of selected jobs to run
```toml
[run]
suite = ["lint", "format", "test"]
```
```json
"run": {
"suite": [
"lint",
"format",
"test",
"no-deps"
]
}
```
---------------------------
- Run the tool in the terminal with a simple 'detox' command
```shell
$ detox
```
```shell
(logs omitted...)
$ All jobs succeeded! ['lint', 'format', 'test']
Detoxing took: 14.088007061000098
```
- In case of failing jobs you get general stats
```shell
(logs omitted...)
$ Unsuccessful detoxing took: 13.532951637999759
Failed jobs: ['format']
Successful jobs: ['lint', 'test']
```
or
```shell
$ Unsuccessful detoxing took: 8.48367640699962
Failed jobs: ['format']
Successful jobs: ['lint']
Skipped jobs: ['test']
```
---------------------------
- You could run specific jobs in the command line
```shell
$ detox -j lint
```
or a list of jobs
```shell
$ detox -j lint format
```
NB: If there is a 'run' table in the config file the jobs specified in the command line take precedence