Configuration¶
The configuration model is loaded from YAML in pulsar.config.load_config.
PulsarConfig — W&B sweep-inspired YAML config loader.
- Sweep parameters support three specification styles:
values: [2, 3, 5] → use list directly range: {min: 0.1, max: 1.0, steps: 10} → np.linspace distribution: {type: uniform, min: 0.1, max: 1.0} → (reserved for random search)
- class pulsar.config.BallMapperSpec(epsilons: 'list[float]' = <factory>)[source]¶
Bases:
object- epsilons: list[float]¶
- class pulsar.config.CosmicGraphSpec(construction_threshold: "float | Literal['auto']" = 'auto', neighborhood: 'str' = 'node', sparsify: 'bool' = False, sparsify_epsilon: 'float' = 1.0, sparsify_seed: 'int' = 42, sparsify_sketch_dim: 'int | None' = None, sparsify_sample_count: 'int | None' = None, sparsify_pcg_tol: 'float' = 1e-06, sparsify_max_iter: 'int' = 1000, construction: "Literal['minhash', 'exact']" = 'minhash', minhash_d: 'int' = 256, minhash_seed: 'int' = 42)[source]¶
Bases:
object- construction: Literal['minhash', 'exact'] = 'minhash'¶
- construction_threshold: float | Literal['auto'] = 'auto'¶
- minhash_d: int = 256¶
- minhash_seed: int = 42¶
- neighborhood: str = 'node'¶
- sparsify: bool = False¶
- sparsify_epsilon: float = 1.0¶
- sparsify_max_iter: int = 1000¶
- sparsify_pcg_tol: float = 1e-06¶
- sparsify_sample_count: int | None = None¶
- sparsify_seed: int = 42¶
- sparsify_sketch_dim: int | None = None¶
- class pulsar.config.EncodeSpec(method: 'str', max_categories: 'int | None' = None)[source]¶
Bases:
object- max_categories: int | None = None¶
- method: str¶
- class pulsar.config.ImputeSpec(method: 'str', seed: 'int' = 42)[source]¶
Bases:
object- method: str¶
- seed: int = 42¶
- class pulsar.config.PCASpec(dimensions: 'list[int]' = <factory>, seeds: 'list[int]' = <factory>)[source]¶
Bases:
object- dimensions: list[int]¶
- seeds: list[int]¶
- class pulsar.config.ProjectionSpec(method: "Literal['jl', 'pca']" = 'jl', dimensions: 'list[int]' = <factory>, seeds: 'list[int]' = <factory>, center: 'bool' = True)[source]¶
Bases:
object- center: bool = True¶
- dimensions: list[int]¶
- method: Literal['jl', 'pca'] = 'jl'¶
- seeds: list[int]¶
- class pulsar.config.PulsarConfig(data: 'str', impute: 'dict[str, ImputeSpec]', encode: 'dict[str, EncodeSpec]', drop_columns: 'list[str]', pca: 'PCASpec' = <factory>, projection: 'ProjectionSpec' = <factory>, ball_mapper: 'BallMapperSpec' = <factory>, cosmic_graph: 'CosmicGraphSpec' = <factory>, n_reps: 'int' = 4, run_name: 'str' = '')[source]¶
Bases:
object- ball_mapper: BallMapperSpec¶
- cosmic_graph: CosmicGraphSpec¶
- data: str¶
- drop_columns: list[str]¶
- encode: dict[str, EncodeSpec]¶
- impute: dict[str, ImputeSpec]¶
- n_reps: int = 4¶
- projection: ProjectionSpec¶
- run_name: str = ''¶
- pulsar.config.config_to_yaml(cfg: PulsarConfig) str[source]¶
Serialize a PulsarConfig to a reproducible YAML string.
Inverse of
load_config; every field is written explicitly so the resulting YAML can recreate the exact same pipeline run.
- pulsar.config.load_config(path_or_dict: str | dict) PulsarConfig[source]¶
Load a PulsarConfig from a YAML file path or a raw dict.