The operating system-level command scheduler and manager.
Project description
= Fate
The operating system-level command scheduler and manager.
TODO: Objectives/justifications; features; installation and quick start-up....
== Creating tasks
Fate tasks are merely executables available through the file system. Tasks abiding by the framework's expectations may be added with a minimum of effort.
=== The contract
TODO
=== Testing
==== execute
Any executable may be invoked (with optional arguments) by the Fate `execute` command:
[source,sh]
----
fate debug execute [options] command [arguments]
----
The above generates an execution report for use in development and debugging.
Options such as `-i|--stdin` may be useful to supply measurment parameters to the executable according to the link:#_the_contract[framework's contract].
==== run
Once added to Fate configuration, executables become _tasks_. These may be invoked ad-hoc by the `run` command:
[source,sh]
----
fate debug run [options] task
----
The options and output of the `run` command are similar to those of `execute`.
Unlike with scheduled tasks, the results of tasks performed by `run` are not, by default, persisted to file. Either specify option `--record` to capture these as configured, or option `--stdout` to capture these at an arbitrary path.
== Development
=== Extending the framework
==== Set-up
Fate is implemented in https://www.python.org/[Python] and the framework's distribution is managed via https://python-poetry.org/[Poetry].
*Python v3.10* may be supplied by an operating system package manager, by https://www.python.org/[python.org], or by a utility such as https://github.com/pyenv/pyenv[pyenv]; pyenv is _recommended_ for development but _not required_.
With Python installed, *Poetry* may be installed https://python-poetry.org/docs/#installation[according to its instructions].
TIP: If you are managing your own virtual environment, _e.g._ via https://github.com/pyenv/pyenv-virtualenv[pyenv-virtualenv], then this step may be as simple as `pip install poetry`. However, this tooling is not required, and Poetry offers its own automated set-up, as well as management of virtual environments.
Finally, from the root directory of a repository clone, the framework may be installed in development mode:
[source,sh]
----
poetry install
----
NOTE: Poetry will use any existing, activated virtual environment, or create its own into which dependencies will be installed.
The `fate` command is now available for use in your development environment.
[IMPORTANT]
====
For simplicity, it will be presumed that `fate` is available on your `PATH`. However, this depends upon activation of your virtual environment.
A virtual environment under management by Poetry may be activated via sub-shell with:
[source,sh]
----
poetry shell
----
Alternatively, any command installed into Poetry's virtual environment may be executed ad-hoc via the `run` command:
[source,sh]
----
poetry run fate ...
----
====
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 fate_scheduler-1.1.0.tar.gz.
File metadata
- Download URL: fate_scheduler-1.1.0.tar.gz
- Upload date:
- Size: 62.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec1d03a116a87cdd6bcb4572fe08c4f045296d210172d278aae38267c3490f65
|
|
| MD5 |
b113521923f0a5a1ff62178f2cb1b032
|
|
| BLAKE2b-256 |
cb4fd4f29d5bbc7f0cc0af9e648237ae305cc3c48da7899ad7c0e157196cff02
|
Provenance
The following attestation bundles were made for fate_scheduler-1.1.0.tar.gz:
Publisher:
publish.yml on internet-equity/fate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fate_scheduler-1.1.0.tar.gz -
Subject digest:
ec1d03a116a87cdd6bcb4572fe08c4f045296d210172d278aae38267c3490f65 - Sigstore transparency entry: 161186610
- Sigstore integration time:
-
Permalink:
internet-equity/fate@94a95454ee594c283171a3a41a615aebf321873a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/internet-equity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@94a95454ee594c283171a3a41a615aebf321873a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fate_scheduler-1.1.0-py3-none-any.whl.
File metadata
- Download URL: fate_scheduler-1.1.0-py3-none-any.whl
- Upload date:
- Size: 87.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6104b70bd5262b8b40e8bf759936984137a37e6c6d5020f5605d5299ea244a20
|
|
| MD5 |
ff3731d10843085a426a6e25366466cb
|
|
| BLAKE2b-256 |
dd71317f3a7213b3e308ef3bfd9010827359b1279ed344cdd90c04d43bc940b3
|
Provenance
The following attestation bundles were made for fate_scheduler-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on internet-equity/fate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fate_scheduler-1.1.0-py3-none-any.whl -
Subject digest:
6104b70bd5262b8b40e8bf759936984137a37e6c6d5020f5605d5299ea244a20 - Sigstore transparency entry: 161186616
- Sigstore integration time:
-
Permalink:
internet-equity/fate@94a95454ee594c283171a3a41a615aebf321873a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/internet-equity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@94a95454ee594c283171a3a41a615aebf321873a -
Trigger Event:
workflow_dispatch
-
Statement type: