Python Analysis
Analyzing reproducible experiments often requires locating specific output files buried within hashed directory structures. repx-py abstracts this complexity, allowing users to query jobs by name, parameters, or dependency relationships and retrieve their outputs as standard Python objects or pandas DataFrames.
Installation
repx-py is available as a flake package. Include it in your project's development shell:
# flake.nix
{
inputs.repx.url = "github:repx-org/repx";
outputs = { self, nixpkgs, repx }: {
devShells.x86_64-linux.default = nixpkgs.legacyPackages.x86_64-linux.mkShell {
packages = [
repx.packages.x86_64-linux.repx-py
];
};
};
}
Or build it directly:
nix build github:repx-org/repx#repx-py
Loading an Experiment
The Experiment class is the entry point. It loads the Lab metadata and allows you to query runs and jobs.
from repx_py import Experiment
# Initialize from the built lab directory
exp = Experiment(lab_path="./result")
print(f"Loaded experiment with {len(exp.jobs())} total jobs")