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.2.tar.gz (121.2 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.2-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: honestroles-0.1.2.tar.gz
  • Upload date:
  • Size: 121.2 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.2.tar.gz
Algorithm Hash digest
SHA256 a936522e10f5499056c23d204d98d1284216d6efbef00b6227d129227e9a543b
MD5 b8eec6e62c2bc45c5b6bab8f5c55f7fd
BLAKE2b-256 04a2b33d159b8f0b2c67404593869103c901700c1b27efa6584bfcd5b6e54354

See more details on using hashes here.

File details

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

File metadata

  • Download URL: honestroles-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c15572836b3925fc0192690b64da364a7131b1abbcd70ecc6f30d625489f254b
MD5 ca887d9cd0a3252ad3deddc5717938c3
BLAKE2b-256 8b077c757e394b21d4b69528a59a68c250d59b9422327639e9371a596a4f500c

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