simpletasks
Simple tasks runner for Python.
This can be helpful to handle automated processes and make them available via command line interface via click.
Usage
Sample:
import click
from simpletasks import Cli, CliParams, Task
@click.group()
def cli():
pass
@Cli(cli, params=[click.argument("n", type=int), CliParams.progress()])
class FibonacciTask(Task):
def compute(self, n: int) -> int:
self.logger.debug(f"Called with n={n}")
f1, f2 = 0, 1
if n == 0:
return f1
if n == 1:
return f2
for _ in self.progress(range(1, n)):
f1, f2 = f2, f1 + f2
return f2
def do(self) -> None:
n = cast(int, self.options.get("n"))
result = self.compute(n)
print(f"f({n}) = {result}")
if __name__ == "__main__":
cli()
Gives:
$ python sample/compute.py fibonacci 3 --no-progress
f(3) = 2
Contributing
To initialize the environment:
poetry install --no-root
poetry install -E click -E tqdm
To run tests (including linting and code formatting checks), please run:
poetry run pytest --mypy --flake8 && poetry run black --check .
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
simpletasks-0.1.2.tar.gz
(11.1 kB
view details)
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 simpletasks-0.1.2.tar.gz.
File metadata
- Download URL: simpletasks-0.1.2.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.7 Linux/4.15.0-1077-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbeba7431a1ad8470ff76190f4d567acc7a595108b1a296c2ab775f52f435384
|
|
| MD5 |
b24e967532d667ab48b35241e7a65d3e
|
|
| BLAKE2b-256 |
e36f47211f41c164cfbe1409cbb8bad6e5049e14f2680e8ba6d10cf9620c42a3
|
File details
Details for the file simpletasks-0.1.2-py3-none-any.whl.
File metadata
- Download URL: simpletasks-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.7 Linux/4.15.0-1077-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
511736b7e98bff978d6f2620f176fd61cbea193ee61ed0efa0f4ebaf0b508b89
|
|
| MD5 |
4c9907f736acbd53c9bcdfdf38c72748
|
|
| BLAKE2b-256 |
8e8ef191431ff7c93da062ae60c874229ef0df8e570864822a98364ec5162e9f
|