Skip to main content
= 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 ...
----
====

Metadata

Release files for fate-scheduler 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fate-scheduler 1.1.0
File Size Uploaded Provenance
fate_scheduler-1.1.0.tar.gz 62.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fate-scheduler 1.1.0
File Interpreter ABI Platform
fate_scheduler-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 150.7 kB

Release files / fate_scheduler-1.1.0.tar.gz

Download URL fate_scheduler-1.1.0.tar.gz
Size 62.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ec1d03a116a87cdd6bcb4572fe08c4f045296d210172d278aae38267c3490f65
BLAKE2b-256 checksum
How to use checksums
cb4fd4f29d5bbc7f0cc0af9e648237ae305cc3c48da7899ad7c0e157196cff02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 9, 2025.

Transparency log

Release files / fate_scheduler-1.1.0-py3-none-any.whl

Download URL fate_scheduler-1.1.0-py3-none-any.whl
Size 87.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6104b70bd5262b8b40e8bf759936984137a37e6c6d5020f5605d5299ea244a20
BLAKE2b-256 checksum
How to use checksums
dd71317f3a7213b3e308ef3bfd9010827359b1279ed344cdd90c04d43bc940b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 9, 2025.

Transparency log

Security for fate-scheduler 1.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for fate_scheduler-1.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 9, 2025.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page