Skip to main content

Paper-style workflow preparation for Arabic morphology probing experiments.

Project description

Sarf Atlas

Sarf Atlas is a backend-agnostic workflow framework for Arabic morphology probing experiments. It organizes datasets, prompts, splits, diagnostics, backend artifact manifests, baseline comparisons, and report scaffolds.

Sarf organizes.
Backends extract.
Auditors compare.

Current package version: 1.0.0. Latest previously verified PyPI release: sarf-atlas==0.4.0.

What Sarf Is

  • A CLI for preparing Arabic morphology probing workflows.
  • A small schema layer for morphology rows, split metadata, diagnostics, and imported backend artifact manifests.
  • A backend-neutral adapter surface for Ember, llama.cpp-derived files, HF/Transformers outputs, or other precomputed artifacts.
  • A place to run lightweight standard-library baselines such as majority and character n-gram comparisons.

What Sarf Is Not

  • It is not a model inference engine.
  • It does not train probes in the base package.
  • It does not extract hidden states by itself.
  • It does not vendor Ember, llama.cpp, Transformers, or model weights.
  • It does not claim Paper 1 reproduction from toy or mock artifacts.

Quickstart

Install from PyPI once the target release is published:

pip install sarf-atlas

For local development:

python -m pip install -e .

Create a project layout:

sarf init --out-dir /tmp/sarf-demo --name demo

Generate a self-contained toy workflow:

sarf example-workflow --out-dir /tmp/sarf-example
sarf summarize-run --manifest /tmp/sarf-example/artifacts/imported/sarf_artifact_manifest.placeholder.json

When working from a source checkout, run a tiny paper-style workflow:

sarf validate-dataset examples/paper_style/tiny_morphology.jsonl
sarf make-experiment examples/paper_style/experiment.toml --out /tmp/sarf-demo/run
sarf validate-labels examples/paper_style/experiment.toml --out /tmp/sarf-demo/labels.json
sarf summarize-splits examples/paper_style/tiny_morphology.jsonl /tmp/sarf-demo/run/split_metadata.json --out /tmp/sarf-demo/splits.json
sarf make-baselines examples/paper_style/experiment.toml --out /tmp/sarf-demo/baselines
sarf make-probe-config examples/paper_style/experiment.toml --out /tmp/sarf-demo/probe_config.toml
sarf report /tmp/sarf-demo/run --out /tmp/sarf-demo/report.md

Run the fuller mock-backed Paper 1-style example:

cat examples/paper1_reproduction/README.md

That example exercises validation, prompt generation, split diagnostics, tokenization diagnostics, artifact import, probe config generation, baseline comparison, and report output with deterministic toy data.

Stable CLI Surface

The 1.0 command contract classifies the public commands in docs/command_contract.md.

Stable-track commands include:

  • sarf init
  • sarf example-workflow
  • sarf validate-dataset
  • sarf make-prompts
  • sarf make-splits
  • sarf make-experiment
  • sarf import-artifacts
  • sarf summarize-run
  • sarf validate-labels
  • sarf summarize-splits
  • sarf make-probe-config
  • sarf make-baselines
  • sarf run-baseline
  • sarf summarize-baseline
  • sarf tokenization-diagnostics
  • sarf report

Backend doctor commands are intentionally marked experimental because they depend on optional local tools.

Schemas

The schema v1 contract is documented in docs/artifact_schema_guide.md.

Stable contracts:

  • Artifact manifest schema v1.
  • Dataset row schema v1.
  • Split metadata schema v1.
  • Tokenization diagnostics schema v1.
  • Baseline artifact schema v1.

Important JSON outputs include numeric schema_version fields. Existing string schema identifiers remain for compatibility where they already existed.

Guides

  • CLI contract: docs/command_contract.md
  • Schema guide: docs/artifact_schema_guide.md
  • Paper-style workflow: docs/paper_style_workflow.md
  • Backend guide: docs/backend_guide.md
  • Diagnostics guide: docs/evaluation_diagnostics.md
  • Examples index: docs/examples.md
  • Release checklist: docs/release_checklist.md
  • Changelog: CHANGELOG.md

Optional Backends

Sarf can inspect optional backend availability:

sarf backends list
sarf backend llama-cpp doctor
sarf backend ember doctor

These checks are diagnostic only. Base Sarf stays lightweight and can still organize workflows and import file-based artifacts when no local backend is installed.

Citation

Use CITATION.cff for citation metadata. Sarf Atlas is released under the MIT License; see LICENSE.

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

sarf_atlas-1.0.0.tar.gz (51.3 kB view details)

Uploaded Source

Built Distribution

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

sarf_atlas-1.0.0-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file sarf_atlas-1.0.0.tar.gz.

File metadata

  • Download URL: sarf_atlas-1.0.0.tar.gz
  • Upload date:
  • Size: 51.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sarf_atlas-1.0.0.tar.gz
Algorithm Hash digest
SHA256 397732d99fb22fdac09b0840e432f5795ae5d9784ec8e20c0f5115400cf38180
MD5 2d8e43b2d050803c80bb49fb0179b439
BLAKE2b-256 50173508a2a360ac2235c1d8347698c3764af103e50e3f0d9c2fec353690df5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sarf_atlas-1.0.0.tar.gz:

Publisher: ci.yml on voidwest/sarf-atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sarf_atlas-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: sarf_atlas-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sarf_atlas-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2202f3dc9155bd8650a606338be04665e3b07da964e4a1a3f01f1bf3d70a9eb4
MD5 93acd107e40e791c64a38895f4bbebac
BLAKE2b-256 c158abd114ca75bd1bbd6a66a1c010378caa88925e9f9c4ac26c8ce0f73513d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sarf_atlas-1.0.0-py3-none-any.whl:

Publisher: ci.yml on voidwest/sarf-atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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