Skip to main content

Deterministic, config-driven job-data runtime with Polars and explicit plugin registries.

Project description

HonestRoles

HonestRoles is a deterministic, config-driven pipeline runtime for job data with Polars and explicit plugin manifests.

Start With the App

Use the HonestRoles app first: honestroles.com.

Choose Your Path

  • App users: start in the browser at honestroles.com
  • Developers and integrators: use the CLI/SDK sections below

Install (Developer)

$ python -m venv .venv
$ . .venv/bin/activate
$ python -m pip install --upgrade pip
$ pip install honestroles

5-Minute First Run (Developer)

From the repository root:

$ python examples/create_sample_dataset.py
$ honestroles run --pipeline-config examples/sample_pipeline.toml --plugins examples/sample_plugins.toml
$ ls -lh examples/jobs_scored.parquet

Expected CLI diagnostics include stage_rows, plugin_counts, and final_rows.

CLI

$ honestroles run --pipeline-config pipeline.toml --plugins plugins.toml
$ honestroles plugins validate --manifest plugins.toml
$ honestroles config validate --pipeline pipeline.toml
$ honestroles report-quality --pipeline-config pipeline.toml
$ honestroles scaffold-plugin --name my-plugin --output-dir .

Python API

from honestroles import HonestRolesRuntime

runtime = HonestRolesRuntime.from_configs(
    pipeline_config_path="pipeline.toml",
    plugin_manifest_path="plugins.toml",
)
result = runtime.run()

print(result.diagnostics)
print(result.dataframe.head())
print(result.application_plan[:3])

Documentation

Development

$ pip install -e ".[dev,docs]"
$ pytest -q
$ pytest tests/docs -q
$ bash scripts/check_docs_refs.sh

For local profiling data, keep large parquet inputs under data/ and write generated artifacts under dist/ (both are ignored by git).

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

honestroles-0.1.1.tar.gz (120.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

honestroles-0.1.1-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

Details for the file honestroles-0.1.1.tar.gz.

File metadata

  • Download URL: honestroles-0.1.1.tar.gz
  • Upload date:
  • Size: 120.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for honestroles-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1a60406e7e8c130a3e5bd68aedd1512370cf128e5a3611507f139ee899fb72de
MD5 9717c0bccdd10a24852693e6170b03cc
BLAKE2b-256 951e2d23e973ef0ce94aeba07c042ac2250c2bbc9d9462037ef1330069799d4f

See more details on using hashes here.

File details

Details for the file honestroles-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: honestroles-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 63.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for honestroles-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1a5ea8d9029887597f318e7c19166a4c71ff697c59190158a25f60c784b1e0e5
MD5 2ded8c2d5513d3d6921250409ca86d43
BLAKE2b-256 5030e1099d2f1704f6b97b36efa776f2ddb89a5d1d050dd48b5868b70ac11b8c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page