Skip to main content

Backend-agnostic workflow and artifact tooling for Arabic morphology probing experiments.

Project description

Sarf Atlas

Sarf is a backend-agnostic research framework for Arabic morphology probing experiments. It organizes datasets, prompts, splits, extraction metadata, and evaluation artifacts, and is designed to let hidden states or logits come from Ember, llama.cpp, Transformers, or precomputed files.

Architecture slogan:

Sarf organizes.
Backends extract.
Auditors compare.

Sarf Atlas is not replacing Ember. Ember is currently the strongest local backend path, but Sarf should not depend on one inference engine. Sarf owns Arabic morphology schemas, task definitions, prompt templates, split strategies, experiment configs, expected artifact schemas, report scaffolding, backend-agnostic validation, and adapters for importing backend outputs.

Sarf does not own model execution internals, hidden-state extraction implementation, llama.cpp compilation as a required behavior, or Ember internals. Base Sarf works without local extraction backends installed.

The current split is:

  • ember: one validated backend/tooling path for extraction artifacts.
  • sarf-atlas: Arabic morphology research workspace, paper configs, notes, experiment manifests, package skeleton, and backend-agnostic workflow planning.
  • gguf-parity-tools: validation and parity harness.

Quickstart

Install Sarf Atlas:

pip install sarf-atlas

Create a v0.2 project layout:

sarf init --out-dir /tmp/sarf-atlas-project --name sarf-atlas-project

Generate the toy workflow scaffold:

sarf example-workflow --out-dir /tmp/sarf-atlas-example

Import and summarize artifacts:

sarf import-artifacts --from files --run-id toy-run --prompts-path prompts/toy_prompts.jsonl --out artifacts/imported/toy-run.manifest.json
sarf summarize-run --manifest artifacts/imported/toy-run.manifest.json

The scaffold writes toy morphology data, prompts, split metadata, Ember config placeholders, a Sarf artifact manifest, and an example workflow manifest. It is framework scaffolding only, not hidden-state extraction, Paper 1 reproduction, or research output. See docs/CLI.md for the backend capability matrix.

Current adapter namespace:

  • sarf.backends.ember
  • sarf.backends.files
  • sarf.backends.llama_cpp

Future optional adapters may cover Transformers/HF, vLLM, and additional precomputed hidden-state formats.

Optional Backends

Sarf v0.2 can inspect local backend availability, but detection is optional and does not make llama.cpp, Ember, Transformers/HF, or hidden-state extraction part of the base package:

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

llama.cpp detection checks LLAMA_TOKENIZE_BIN, LLAMA_CLI_BIN, LLAMA_SIMPLE_BIN, and common PATH names. Default llama.cpp is useful for some local tokenization/logits workflows, but it should not be treated as emitting Sarf-compatible hidden-state artifacts.

Ember detection checks EMBER_BIN, PATH ember, and whether ember validate-run --help is callable when an Ember binary is found. Ember is optional; Sarf can still organize workflows and import artifacts from files.

Users may bring artifacts from llama.cpp, Ember, HF/Transformers, or precomputed files. Hidden-state extraction is not built into base Sarf and requires an emitting backend such as Ember, patched llama.cpp, HF/Transformers, or precomputed Sarf-compatible artifacts.

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-0.2.0.tar.gz (18.9 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-0.2.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sarf_atlas-0.2.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for sarf_atlas-0.2.0.tar.gz
Algorithm Hash digest
SHA256 63e9143517272c915f122931066a9ff1ce25e51562cd4a4fe4c42041a824e771
MD5 bd18cdfe95ebbd201f4f53b3da30c362
BLAKE2b-256 69613693ae80bd5b18612bd0734c79ec4c5f0329f1bed15d790435cc6531a3b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sarf_atlas-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for sarf_atlas-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c3e9c8b312f393a776cf2b305b97afffb9faf89e2dece581669b46203b9ec89
MD5 7fce05a4c82256277ce1ba3c2c767bcf
BLAKE2b-256 37a480dbb1dac1df18bb7767d6f0e373195d99fcac7b84c81744dd137614886c

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