MAINT: Initializers Cleanup#2100
Open
rlundeen2 wants to merge 1 commit into
Open
Conversation
Restructure pyrit/setup/initializers for clarity and consistency: - Move the PyRITInitializer base class up to pyrit/setup/. - Remove dead initializers (simple, airt, scenario objective_list). - Add a techniques/ subpackage with TechniqueInitializer (renamed from ScenarioTechniqueInitializer) and a per-file get_technique_factories() protocol; a tags parameter selects technique groups (core/extra/all). - Flatten load_default_datasets and preload_scenario_metadata out of the scenarios/ subdir, and add dataset_names/tags parameters to LoadDefaultDatasets so datasets can be selected by name or metadata. - Flatten the components/ subdir (scorers, targets) up a level. - Update consumers, tests, and docs to the new module paths and names. These initializers are essentially configuration: they register defaults into the various registries. The renames/removals here should not require breaking-change handling for users. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restructures
pyrit/setup/initializers/to be simpler, more consistent, and easier to navigate:PyRITInitializernow lives inpyrit/setup/(out ofinitializers/).simple,airt, and the scenarioobjective_list.techniques/subpackage:ScenarioTechniqueInitializer→TechniqueInitializer, backed by a per-fileget_technique_factories()protocol (core.py,extra.py). Atagsparameter selects technique groups (core/extra/all).load_default_datasetsandpreload_scenario_metadatamove out ofscenarios/, andscorers/targetsmove out ofcomponents/, up a level. Both subdirs are removed.LoadDefaultDatasetsgainsdataset_namesandtagsparameters so datasets can be selected by name or by metadata instead of always loading the scenario defaults.Note on breaking changes
These initializers are essentially configuration — they register default values into the various registries. The renames/removals here shouldn't require breaking-change handling for users.
Validation
ruff check+ruff formatclean;validate_docspasses.