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
fate_scheduler-1.0.0.tar.gz
(65.1 kB
view details)
Built Distribution
File details
Details for the file fate_scheduler-1.0.0.tar.gz
.
File metadata
- Download URL: fate_scheduler-1.0.0.tar.gz
- Upload date:
- Size: 65.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55e17c692007d200add68baa8e354df504d73ad6de517606ca94a4f661860dbf |
|
MD5 | 65c65358063b1b59fa34934fcdf3dea8 |
|
BLAKE2b-256 | 30dbf4d9b6cca624a34c37dbe1cf18e753d0fefdf4c6870ac34a5856df9e313a |
Provenance
The following attestation bundles were made for fate_scheduler-1.0.0.tar.gz
:
Publisher:
publish.yml
on internet-equity/fate
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
fate_scheduler-1.0.0.tar.gz
- Subject digest:
55e17c692007d200add68baa8e354df504d73ad6de517606ca94a4f661860dbf
- Sigstore transparency entry: 148752858
- Sigstore integration time:
- Predicate type:
File details
Details for the file fate_scheduler-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: fate_scheduler-1.0.0-py3-none-any.whl
- Upload date:
- Size: 87.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d074f8ef078fe77c8ec5fc13763598ca04572280d403afcbb11cb8b6a1618726 |
|
MD5 | 893342ebf33e5d47fd529eae80f1996c |
|
BLAKE2b-256 | f6c8baea03ddd89549f46540a7d8a8a78949827c200b63a7e74ab42ea163d008 |
Provenance
The following attestation bundles were made for fate_scheduler-1.0.0-py3-none-any.whl
:
Publisher:
publish.yml
on internet-equity/fate
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
fate_scheduler-1.0.0-py3-none-any.whl
- Subject digest:
d074f8ef078fe77c8ec5fc13763598ca04572280d403afcbb11cb8b6a1618726
- Sigstore transparency entry: 148752859
- Sigstore integration time:
- Predicate type: