Backend-agnostic workflow scaffolding 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
Generate the v0.1 toy workflow scaffold:
sarf example-workflow --out-dir /tmp/sarf-atlas-v0.1-example
This writes a toy morphology dataset, 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.
Current adapter namespace:
sarf.backends.embersarf.backends.filessarf.backends.llama_cpp
Future optional adapters may cover Transformers/HF, vLLM, and additional precomputed hidden-state formats.
Optional Backends
Sarf v0.1 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sarf_atlas-0.1.0.tar.gz.
File metadata
- Download URL: sarf_atlas-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fff9ae40b5dd3fe8611911f98fe3f1c7a9960631370159f5fc42552fdd7baaac
|
|
| MD5 |
491750d03de83747f3bc20974d810801
|
|
| BLAKE2b-256 |
db57cc516006634f63108db2752ce9aa6309ff3f72de1693633a2bfe5d3edbba
|
File details
Details for the file sarf_atlas-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sarf_atlas-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afb86affb8f5ab587445b04b9bab1aea5bcb856955f29a2a8f6b840cb6c7d8ed
|
|
| MD5 |
07523aa69773bd0fb19e2f07387e5099
|
|
| BLAKE2b-256 |
0640671637765843b3c9b206411c72e3db4ece59d724b1fd7f6ad805cd7c5462
|