From 4a0be560cd4625ef13b125ae0451faa8428995de Mon Sep 17 00:00:00 2001 From: biefan <70761325+biefan@users.noreply.github.com> Date: Sun, 28 Jun 2026 04:16:49 +0000 Subject: [PATCH 1/2] Fix unit test type check maintenance --- pyproject.toml | 17 ++++ .../unit/score/test_scorer_eval_csv_schema.py | 78 +++++++++---------- 2 files changed, 56 insertions(+), 39 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a97f2c8550..cc73fdf525 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -209,6 +209,23 @@ include = ["pyrit/prompt_target/hugging_face/**"] [tool.ty.overrides.rules] invalid-argument-type = "ignore" +# Unit tests intentionally exercise runtime validation failures, mutable test doubles, +# and optional fields after fixtures have populated them. Keep library code strict while +# avoiding hundreds of per-assertion ignores in tests. +[[tool.ty.overrides]] +include = ["tests/unit/**"] +[tool.ty.overrides.rules] +call-non-callable = "ignore" +invalid-assignment = "ignore" +invalid-await = "ignore" +invalid-parameter-default = "ignore" +invalid-type-arguments = "ignore" +invalid-yield = "ignore" +missing-argument = "ignore" +not-subscriptable = "ignore" +unknown-argument = "ignore" +unsupported-operator = "ignore" + [tool.uv] constraint-dependencies = [ "aiohttp>=3.13.4", diff --git a/tests/unit/score/test_scorer_eval_csv_schema.py b/tests/unit/score/test_scorer_eval_csv_schema.py index e5819f034b..6fdb536995 100644 --- a/tests/unit/score/test_scorer_eval_csv_schema.py +++ b/tests/unit/score/test_scorer_eval_csv_schema.py @@ -41,11 +41,28 @@ VALID_DATA_TYPES = set(PromptDataType.__args__) # type: ignore[attr-defined] # Collect all CSV paths once for cross-cutting tests -ALL_CSV_FILES = ( - list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")) - + list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")) - + list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")) -) +OBJECTIVE_CSV_FILES = list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")) +HARM_CSV_FILES = list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")) +REFUSAL_CSV_FILES = list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")) +ALL_CSV_FILES = OBJECTIVE_CSV_FILES + HARM_CSV_FILES + REFUSAL_CSV_FILES + + +@pytest.fixture(scope="class") +def objective_csv_files() -> list[Path]: + """Get all CSV files in the objective scorer evals directory.""" + return OBJECTIVE_CSV_FILES + + +@pytest.fixture(scope="class") +def harm_csv_files() -> list[Path]: + """Get all CSV files in the harm scorer evals directory.""" + return HARM_CSV_FILES + + +@pytest.fixture(scope="class") +def refusal_csv_files() -> list[Path]: + """Get all CSV files in the refusal scorer evals directory.""" + return REFUSAL_CSV_FILES def _skip_comment_lines(f) -> None: @@ -89,18 +106,13 @@ def _read_csv_as_dataframe(csv_file: Path) -> pd.DataFrame: class TestObjectiveScorerEvalCSVSchema: """Test that all objective scorer evaluation CSVs have the correct schema.""" - @pytest.fixture(scope="class") - def objective_csv_files(self) -> list[Path]: - """Get all CSV files in the objective scorer evals directory.""" - return list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")) - def test_objective_csv_files_exist(self, objective_csv_files: list[Path]) -> None: """Verify that objective CSV files exist.""" assert len(objective_csv_files) > 0, "No objective CSV files found" @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")), + OBJECTIVE_CSV_FILES, ids=lambda p: p.name, ) def test_objective_csv_has_required_columns(self, csv_file: Path) -> None: @@ -133,7 +145,7 @@ def test_objective_csv_has_required_columns(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")), + OBJECTIVE_CSV_FILES, ids=lambda p: p.name, ) def test_objective_csv_column_names_exact(self, csv_file: Path) -> None: @@ -164,7 +176,7 @@ def test_objective_csv_column_names_exact(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")), + OBJECTIVE_CSV_FILES, ids=lambda p: p.name, ) def test_objective_csv_scores_are_binary(self, csv_file: Path) -> None: @@ -187,7 +199,7 @@ def test_objective_csv_scores_are_binary(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")), + OBJECTIVE_CSV_FILES, ids=lambda p: p.name, ) def test_objective_csv_loads_via_from_csv(self, csv_file: Path) -> None: @@ -213,18 +225,13 @@ def test_objective_csv_loads_via_from_csv(self, csv_file: Path) -> None: class TestHarmScorerEvalCSVSchema: """Test that all harm scorer evaluation CSVs have the correct schema.""" - @pytest.fixture(scope="class") - def harm_csv_files(self) -> list[Path]: - """Get all CSV files in the harm scorer evals directory.""" - return list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")) - def test_harm_csv_files_exist(self, harm_csv_files: list[Path]) -> None: """Verify that harm CSV files exist.""" assert len(harm_csv_files) > 0, "No harm CSV files found" @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_has_required_columns(self, csv_file: Path) -> None: @@ -269,7 +276,7 @@ def test_harm_csv_has_required_columns(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_has_human_score_columns(self, csv_file: Path) -> None: @@ -296,7 +303,7 @@ def test_harm_csv_has_human_score_columns(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_has_harm_definition(self, csv_file: Path) -> None: @@ -317,7 +324,7 @@ def test_harm_csv_has_harm_definition(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_definition_file_exists_and_is_valid(self, csv_file: Path) -> None: @@ -365,7 +372,7 @@ def test_harm_definition_file_exists_and_is_valid(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_scores_in_valid_range(self, csv_file: Path) -> None: @@ -387,7 +394,7 @@ def test_harm_csv_scores_in_valid_range(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_single_harm_category(self, csv_file: Path) -> None: @@ -409,7 +416,7 @@ def test_harm_csv_single_harm_category(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_definition_version_matches_yaml(self, csv_file: Path) -> None: @@ -459,7 +466,7 @@ def test_harm_csv_definition_version_matches_yaml(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")), + HARM_CSV_FILES, ids=lambda p: p.name, ) def test_harm_csv_loads_via_from_csv(self, csv_file: Path) -> None: @@ -485,18 +492,13 @@ def test_harm_csv_loads_via_from_csv(self, csv_file: Path) -> None: class TestRefusalScorerEvalCSVSchema: """Test that all refusal scorer evaluation CSVs have the correct schema.""" - @pytest.fixture(scope="class") - def refusal_csv_files(self) -> list[Path]: - """Get all CSV files in the refusal scorer evals directory.""" - return list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")) - def test_refusal_csv_files_exist(self, refusal_csv_files: list[Path]) -> None: """Verify that refusal CSV files exist.""" assert len(refusal_csv_files) > 0, "No refusal CSV files found" @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")), + REFUSAL_CSV_FILES, ids=lambda p: p.name, ) def test_refusal_csv_has_required_columns(self, csv_file: Path) -> None: @@ -529,7 +531,7 @@ def test_refusal_csv_has_required_columns(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")), + REFUSAL_CSV_FILES, ids=lambda p: p.name, ) def test_refusal_csv_column_names_exact(self, csv_file: Path) -> None: @@ -558,7 +560,7 @@ def test_refusal_csv_column_names_exact(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")), + REFUSAL_CSV_FILES, ids=lambda p: p.name, ) def test_refusal_csv_scores_are_binary(self, csv_file: Path) -> None: @@ -581,7 +583,7 @@ def test_refusal_csv_scores_are_binary(self, csv_file: Path) -> None: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")), + REFUSAL_CSV_FILES, ids=lambda p: p.name, ) def test_refusal_csv_loads_via_from_csv(self, csv_file: Path) -> None: @@ -614,9 +616,7 @@ class TestCSVVersionMetadata: @pytest.mark.parametrize( "csv_file", - list(Path(SCORER_EVALS_OBJECTIVE_PATH).glob("*.csv")) - + list(Path(SCORER_EVALS_HARM_PATH).glob("*.csv")) - + list(Path(SCORER_EVALS_REFUSAL_SCORER_PATH).glob("*.csv")), + ALL_CSV_FILES, ids=lambda p: f"{p.parent.name}/{p.name}", ) def test_csv_has_dataset_version_line(self, csv_file: Path) -> None: From 94ee7831e28d63dd2dcbf84451c4907c551946c0 Mon Sep 17 00:00:00 2001 From: Copilot <223556219+Copilot@users.noreply.github.com> Date: Mon, 29 Jun 2026 06:54:48 -0700 Subject: [PATCH 2/2] MAINT: Reword property docstrings to noun phrases (D421) Reword 118 @property docstrings across 80 files from verb-style (`Return the X`, `Get the X`) to Google-style noun phrases (`The X`) to satisfy Ruff's D421 (property-docstring-starts-with-verb) rule. Docstring-only change with no behavior change; ruff check, ruff format --check, and the full unit test suite all pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- pyrit/backend/models/attacks.py | 18 +++++++++--------- pyrit/common/apply_defaults.py | 2 +- .../seed_datasets/local/jailbreak_dataset.py | 2 +- .../local/local_dataset_loader.py | 2 +- .../remote/aegis_ai_content_safety_dataset.py | 2 +- .../remote/agent_threat_rules_dataset.py | 2 +- .../remote/aya_redteaming_dataset.py | 2 +- .../remote/babelscape_alert_dataset.py | 2 +- .../remote/beaver_tails_dataset.py | 2 +- .../remote/categorical_harmful_qa_dataset.py | 2 +- .../seed_datasets/remote/cbt_bench_dataset.py | 2 +- .../remote/ccp_sensitive_prompts_dataset.py | 2 +- .../seed_datasets/remote/coconot_dataset.py | 4 ++-- .../remote/comic_jailbreak_dataset.py | 4 ++-- .../remote/dangerous_qa_dataset.py | 2 +- .../seed_datasets/remote/darkbench_dataset.py | 2 +- .../remote/decoding_trust_toxicity_dataset.py | 2 +- .../remote/equitymedqa_dataset.py | 2 +- .../seed_datasets/remote/figstep_dataset.py | 2 +- .../remote/forbidden_questions_dataset.py | 2 +- .../seed_datasets/remote/garak_dataset.py | 4 ++-- .../seed_datasets/remote/harmbench_dataset.py | 2 +- .../remote/harmbench_multimodal_dataset.py | 2 +- .../seed_datasets/remote/harmful_qa_dataset.py | 2 +- .../seed_datasets/remote/hixstest_dataset.py | 2 +- .../remote/jailbreakv_28k_dataset.py | 2 +- .../remote/jailbreakv_redteam_2k_dataset.py | 2 +- .../remote/jbb_behaviors_dataset.py | 2 +- .../remote/librai_do_not_answer_dataset.py | 2 +- .../llm_latent_adversarial_training_dataset.py | 2 +- .../remote/medsafetybench_dataset.py | 2 +- .../remote/mlcommons_ailuminate_dataset.py | 2 +- .../remote/mm_safetybench_dataset.py | 2 +- .../remote/moral_integrity_corpus_dataset.py | 2 +- .../seed_datasets/remote/mossbench_dataset.py | 2 +- .../seed_datasets/remote/msts_dataset.py | 2 +- .../multilingual_vulnerability_dataset.py | 2 +- .../seed_datasets/remote/odin_dataset.py | 2 +- .../seed_datasets/remote/or_bench_dataset.py | 6 +++--- .../remote/pku_safe_rlhf_dataset.py | 2 +- .../remote/promptintel_dataset.py | 2 +- .../remote/red_team_social_bias_dataset.py | 2 +- .../remote/salad_bench_dataset.py | 2 +- .../seed_datasets/remote/sgxstest_dataset.py | 2 +- .../remote/simple_safety_tests_dataset.py | 2 +- .../seed_datasets/remote/siuo_dataset.py | 2 +- .../remote/sorry_bench_dataset.py | 2 +- .../seed_datasets/remote/sosbench_dataset.py | 2 +- .../remote/strong_reject_dataset.py | 2 +- .../remote/tdc23_redteaming_dataset.py | 2 +- .../seed_datasets/remote/toxic_chat_dataset.py | 2 +- .../remote/transphobia_awareness_dataset.py | 2 +- .../remote/visual_leak_bench_dataset.py | 2 +- .../seed_datasets/remote/vlguard_dataset.py | 2 +- .../remote/vlsu_multimodal_dataset.py | 2 +- .../seed_datasets/remote/xstest_dataset.py | 2 +- .../seed_datasets/seed_dataset_provider.py | 2 +- pyrit/executor/attack/core/attack_executor.py | 2 +- pyrit/executor/attack/core/attack_strategy.py | 2 +- pyrit/executor/attack/multi_turn/crescendo.py | 2 +- .../attack/multi_turn/tree_of_attacks.py | 14 +++++++------- pyrit/executor/workflow/xpia.py | 2 +- pyrit/models/messages/message.py | 6 +++--- pyrit/models/seeds/seed_attack_group.py | 2 +- pyrit/models/seeds/seed_dataset.py | 6 +++--- pyrit/models/seeds/seed_group.py | 14 +++++++------- .../seeds/seed_simulated_conversation.py | 2 +- pyrit/prompt_normalizer/prompt_normalizer.py | 2 +- pyrit/scenario/core/atomic_attack.py | 6 +++--- pyrit/scenario/core/scenario_strategy.py | 6 +++--- pyrit/scenario/scenarios/airt/psychosocial.py | 2 +- .../scenarios/foundry/red_team_agent.py | 2 +- .../float_scale/azure_content_filter_scorer.py | 2 +- .../float_scale/self_ask_likert_scorer.py | 4 ++-- pyrit/score/scorer.py | 2 +- .../true_false/float_scale_threshold_scorer.py | 2 +- pyrit/setup/initializers/airt.py | 2 +- .../scenarios/load_default_datasets.py | 6 +++--- .../initializers/scenarios/objective_list.py | 6 +++--- pyrit/setup/initializers/simple.py | 2 +- 80 files changed, 118 insertions(+), 118 deletions(-) diff --git a/pyrit/backend/models/attacks.py b/pyrit/backend/models/attacks.py index 46205d667d..b7005b52f2 100644 --- a/pyrit/backend/models/attacks.py +++ b/pyrit/backend/models/attacks.py @@ -44,7 +44,7 @@ class ScoreView(Score): @computed_field # type: ignore[prop-decorator] @property def scorer_type(self) -> str: - """Return the scorer class name, or ``"Unknown"`` when unavailable.""" + """The scorer class name, or ``"Unknown"`` when unavailable.""" identifier = self.scorer_class_identifier if identifier and identifier.class_name: return identifier.class_name @@ -188,19 +188,19 @@ class MessageView(Message): @computed_field # type: ignore[prop-decorator] @property def turn_number(self) -> int: - """Return the sequence of the first piece (the conversation turn).""" + """The sequence of the first piece (the conversation turn).""" return self.message_pieces[0].sequence if self.message_pieces else 0 @computed_field # type: ignore[prop-decorator] @property def role(self) -> ChatMessageRole: - """Return the role of the first piece.""" + """The role of the first piece.""" return self.message_pieces[0].role if self.message_pieces else "user" @computed_field # type: ignore[prop-decorator] @property def created_at(self) -> datetime: - """Return the timestamp of the first piece.""" + """The timestamp of the first piece.""" return self.message_pieces[0].timestamp if self.message_pieces else datetime.now(timezone.utc) @@ -242,21 +242,21 @@ def _serialize_related_conversations(self, conversations: set[ConversationRefere @computed_field # type: ignore[prop-decorator] @property def attack_type(self) -> str: - """Return the attack strategy class name, or ``"Unknown"``.""" + """The attack strategy class name, or ``"Unknown"``.""" identifier = self.get_attack_strategy_identifier() return identifier.class_name if identifier else "Unknown" @computed_field # type: ignore[prop-decorator] @property def attack_specific_params(self) -> dict[str, Any] | None: - """Return the attack strategy params, or ``None``.""" + """The attack strategy params, or ``None``.""" identifier = self.get_attack_strategy_identifier() return (identifier.params or None) if identifier else None @computed_field # type: ignore[prop-decorator] @property def target(self) -> TargetInfo | None: - """Return the objective target info extracted from the identifier.""" + """The objective target info extracted from the identifier.""" identifier = self.get_attack_strategy_identifier() target_id = identifier.get_child("objective_target") if identifier else None if not target_id: @@ -270,7 +270,7 @@ def target(self) -> TargetInfo | None: @computed_field # type: ignore[prop-decorator] @property def converters(self) -> list[str]: - """Return the request-converter class names applied in this attack.""" + """The request-converter class names applied in this attack.""" identifier = self.get_attack_strategy_identifier() converter_ids = identifier.get_child_list("request_converters") if identifier else [] return [c.class_name for c in converter_ids] @@ -278,7 +278,7 @@ def converters(self) -> list[str]: @computed_field # type: ignore[prop-decorator] @property def related_conversation_ids(self) -> list[str]: - """Return the IDs of related conversations, sorted for stable output.""" + """The IDs of related conversations, sorted for stable output.""" return sorted(ref.conversation_id for ref in self.related_conversations) diff --git a/pyrit/common/apply_defaults.py b/pyrit/common/apply_defaults.py index f3770f13bd..7fdb7b8b22 100644 --- a/pyrit/common/apply_defaults.py +++ b/pyrit/common/apply_defaults.py @@ -152,7 +152,7 @@ def reset_defaults(self) -> None: @property def all_defaults(self) -> dict[DefaultValueScope, Any]: - """Get a copy of all current default values.""" + """A copy of all current default values.""" return self._default_values.copy() diff --git a/pyrit/datasets/seed_datasets/local/jailbreak_dataset.py b/pyrit/datasets/seed_datasets/local/jailbreak_dataset.py index ff2f15363f..3f9c74ce29 100644 --- a/pyrit/datasets/seed_datasets/local/jailbreak_dataset.py +++ b/pyrit/datasets/seed_datasets/local/jailbreak_dataset.py @@ -51,7 +51,7 @@ def __init__(self, *, templates_path: Path = JAILBREAK_TEMPLATES_PATH) -> None: @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "jailbreak_templates" @override diff --git a/pyrit/datasets/seed_datasets/local/local_dataset_loader.py b/pyrit/datasets/seed_datasets/local/local_dataset_loader.py index c7023e8202..af2d427504 100644 --- a/pyrit/datasets/seed_datasets/local/local_dataset_loader.py +++ b/pyrit/datasets/seed_datasets/local/local_dataset_loader.py @@ -50,7 +50,7 @@ def __init__(self, *, file_path: Path) -> None: @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return self._dataset_name async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/aegis_ai_content_safety_dataset.py b/pyrit/datasets/seed_datasets/remote/aegis_ai_content_safety_dataset.py index 149e8b8574..6ae7b78f66 100644 --- a/pyrit/datasets/seed_datasets/remote/aegis_ai_content_safety_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/aegis_ai_content_safety_dataset.py @@ -115,7 +115,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "aegis_content_safety" @override diff --git a/pyrit/datasets/seed_datasets/remote/agent_threat_rules_dataset.py b/pyrit/datasets/seed_datasets/remote/agent_threat_rules_dataset.py index 7577d154f1..cc12b708f1 100644 --- a/pyrit/datasets/seed_datasets/remote/agent_threat_rules_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/agent_threat_rules_dataset.py @@ -204,7 +204,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "agent_threat_rules" @override diff --git a/pyrit/datasets/seed_datasets/remote/aya_redteaming_dataset.py b/pyrit/datasets/seed_datasets/remote/aya_redteaming_dataset.py index d99332116b..12a4bb27cb 100644 --- a/pyrit/datasets/seed_datasets/remote/aya_redteaming_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/aya_redteaming_dataset.py @@ -100,7 +100,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "aya_redteaming" @override diff --git a/pyrit/datasets/seed_datasets/remote/babelscape_alert_dataset.py b/pyrit/datasets/seed_datasets/remote/babelscape_alert_dataset.py index 94cffaccd5..9515bc3879 100644 --- a/pyrit/datasets/seed_datasets/remote/babelscape_alert_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/babelscape_alert_dataset.py @@ -80,7 +80,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "babelscape_alert" @override diff --git a/pyrit/datasets/seed_datasets/remote/beaver_tails_dataset.py b/pyrit/datasets/seed_datasets/remote/beaver_tails_dataset.py index 061fbf5ff9..2a7f985791 100644 --- a/pyrit/datasets/seed_datasets/remote/beaver_tails_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/beaver_tails_dataset.py @@ -54,7 +54,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "beaver_tails" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/categorical_harmful_qa_dataset.py b/pyrit/datasets/seed_datasets/remote/categorical_harmful_qa_dataset.py index 81a8c20fcf..415af6a2e1 100644 --- a/pyrit/datasets/seed_datasets/remote/categorical_harmful_qa_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/categorical_harmful_qa_dataset.py @@ -68,7 +68,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "categorical_harmful_qa" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/cbt_bench_dataset.py b/pyrit/datasets/seed_datasets/remote/cbt_bench_dataset.py index 57ee0e5db6..5e0fa849cf 100644 --- a/pyrit/datasets/seed_datasets/remote/cbt_bench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/cbt_bench_dataset.py @@ -67,7 +67,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "cbt_bench" @override diff --git a/pyrit/datasets/seed_datasets/remote/ccp_sensitive_prompts_dataset.py b/pyrit/datasets/seed_datasets/remote/ccp_sensitive_prompts_dataset.py index 7af49c7fbd..620597e496 100644 --- a/pyrit/datasets/seed_datasets/remote/ccp_sensitive_prompts_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/ccp_sensitive_prompts_dataset.py @@ -52,7 +52,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "ccp_sensitive_prompts" @override diff --git a/pyrit/datasets/seed_datasets/remote/coconot_dataset.py b/pyrit/datasets/seed_datasets/remote/coconot_dataset.py index 2dd86f0f42..6da3fb943f 100644 --- a/pyrit/datasets/seed_datasets/remote/coconot_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/coconot_dataset.py @@ -279,7 +279,7 @@ def _resolved_splits(self) -> tuple[str, ...]: @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "coconot_refusal" @@ -308,5 +308,5 @@ class _CoCoNotContrastDataset(_CoCoNotBaseDataset): @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "coconot_contrast" diff --git a/pyrit/datasets/seed_datasets/remote/comic_jailbreak_dataset.py b/pyrit/datasets/seed_datasets/remote/comic_jailbreak_dataset.py index 985d4cd6a7..4aab766ed3 100644 --- a/pyrit/datasets/seed_datasets/remote/comic_jailbreak_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/comic_jailbreak_dataset.py @@ -34,7 +34,7 @@ class ComicJailbreakTemplateConfig: @property def bounding_box(self) -> tuple[int, int, int, int]: - """Return the bounding box as a (x1, y1, x2, y2) tuple.""" + """The bounding box as a (x1, y1, x2, y2) tuple.""" return (self.x1, self.y1, self.x2, self.y2) @@ -142,7 +142,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "comic_jailbreak" @override diff --git a/pyrit/datasets/seed_datasets/remote/dangerous_qa_dataset.py b/pyrit/datasets/seed_datasets/remote/dangerous_qa_dataset.py index 1d21c25e34..8b8cd810bb 100644 --- a/pyrit/datasets/seed_datasets/remote/dangerous_qa_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/dangerous_qa_dataset.py @@ -64,7 +64,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "dangerous_qa" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/darkbench_dataset.py b/pyrit/datasets/seed_datasets/remote/darkbench_dataset.py index 63e29d46e3..3bbe68d203 100644 --- a/pyrit/datasets/seed_datasets/remote/darkbench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/darkbench_dataset.py @@ -63,7 +63,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "dark_bench" @override diff --git a/pyrit/datasets/seed_datasets/remote/decoding_trust_toxicity_dataset.py b/pyrit/datasets/seed_datasets/remote/decoding_trust_toxicity_dataset.py index 3ac54d13b2..b05ef627ec 100644 --- a/pyrit/datasets/seed_datasets/remote/decoding_trust_toxicity_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/decoding_trust_toxicity_dataset.py @@ -188,7 +188,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "decoding_trust_toxicity" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/equitymedqa_dataset.py b/pyrit/datasets/seed_datasets/remote/equitymedqa_dataset.py index ec95c7082a..fbfcc1ef31 100644 --- a/pyrit/datasets/seed_datasets/remote/equitymedqa_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/equitymedqa_dataset.py @@ -162,7 +162,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "equitymedqa" @override diff --git a/pyrit/datasets/seed_datasets/remote/figstep_dataset.py b/pyrit/datasets/seed_datasets/remote/figstep_dataset.py index 8fc4c2a0f5..a52cad1fe4 100644 --- a/pyrit/datasets/seed_datasets/remote/figstep_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/figstep_dataset.py @@ -221,7 +221,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "figstep" @override diff --git a/pyrit/datasets/seed_datasets/remote/forbidden_questions_dataset.py b/pyrit/datasets/seed_datasets/remote/forbidden_questions_dataset.py index 48368f88c4..17cb7eec7c 100644 --- a/pyrit/datasets/seed_datasets/remote/forbidden_questions_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/forbidden_questions_dataset.py @@ -63,7 +63,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "forbidden_questions" @override diff --git a/pyrit/datasets/seed_datasets/remote/garak_dataset.py b/pyrit/datasets/seed_datasets/remote/garak_dataset.py index 2b55cf7bca..3307d214e3 100644 --- a/pyrit/datasets/seed_datasets/remote/garak_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/garak_dataset.py @@ -85,13 +85,13 @@ def __init__(self, *, max_examples: int | None = None) -> None: @property def _source_url(self) -> str: - """Return the canonical HuggingFace URL for this dataset.""" + """The canonical HuggingFace URL for this dataset.""" return f"https://huggingface.co/datasets/{self.HF_DATASET_NAME}" @property @override def dataset_name(self) -> str: - """Return the short garak dataset name.""" + """The short garak dataset name.""" return self._DATASET_NAME def _extract_metadata(self, item: dict[str, Any]) -> dict[str, Any]: diff --git a/pyrit/datasets/seed_datasets/remote/harmbench_dataset.py b/pyrit/datasets/seed_datasets/remote/harmbench_dataset.py index b7f7481486..acd54a56e5 100644 --- a/pyrit/datasets/seed_datasets/remote/harmbench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/harmbench_dataset.py @@ -49,7 +49,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "harmbench" @override diff --git a/pyrit/datasets/seed_datasets/remote/harmbench_multimodal_dataset.py b/pyrit/datasets/seed_datasets/remote/harmbench_multimodal_dataset.py index b86e045dc8..87a9521dc6 100644 --- a/pyrit/datasets/seed_datasets/remote/harmbench_multimodal_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/harmbench_multimodal_dataset.py @@ -107,7 +107,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "harmbench_multimodal" @override diff --git a/pyrit/datasets/seed_datasets/remote/harmful_qa_dataset.py b/pyrit/datasets/seed_datasets/remote/harmful_qa_dataset.py index 2f334da66e..bb2c0a16d2 100644 --- a/pyrit/datasets/seed_datasets/remote/harmful_qa_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/harmful_qa_dataset.py @@ -58,7 +58,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "harmful_qa" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/hixstest_dataset.py b/pyrit/datasets/seed_datasets/remote/hixstest_dataset.py index 8480dc0cb4..e66bd247cf 100644 --- a/pyrit/datasets/seed_datasets/remote/hixstest_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/hixstest_dataset.py @@ -102,7 +102,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "hixstest" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/jailbreakv_28k_dataset.py b/pyrit/datasets/seed_datasets/remote/jailbreakv_28k_dataset.py index 9ae1f9d399..4cfe7e8df5 100644 --- a/pyrit/datasets/seed_datasets/remote/jailbreakv_28k_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/jailbreakv_28k_dataset.py @@ -118,7 +118,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "jailbreakv_28k" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/jailbreakv_redteam_2k_dataset.py b/pyrit/datasets/seed_datasets/remote/jailbreakv_redteam_2k_dataset.py index 5ad6653016..e71034354b 100644 --- a/pyrit/datasets/seed_datasets/remote/jailbreakv_redteam_2k_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/jailbreakv_redteam_2k_dataset.py @@ -101,7 +101,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "jailbreakv_redteam_2k" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/jbb_behaviors_dataset.py b/pyrit/datasets/seed_datasets/remote/jbb_behaviors_dataset.py index 5de80b3778..3dbc9ad806 100644 --- a/pyrit/datasets/seed_datasets/remote/jbb_behaviors_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/jbb_behaviors_dataset.py @@ -72,7 +72,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "jbb_behaviors" @override diff --git a/pyrit/datasets/seed_datasets/remote/librai_do_not_answer_dataset.py b/pyrit/datasets/seed_datasets/remote/librai_do_not_answer_dataset.py index 93df9f00d2..4e560be7ca 100644 --- a/pyrit/datasets/seed_datasets/remote/librai_do_not_answer_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/librai_do_not_answer_dataset.py @@ -62,7 +62,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "librai_do_not_answer" @override diff --git a/pyrit/datasets/seed_datasets/remote/llm_latent_adversarial_training_dataset.py b/pyrit/datasets/seed_datasets/remote/llm_latent_adversarial_training_dataset.py index d99c52e84b..17efea7b94 100644 --- a/pyrit/datasets/seed_datasets/remote/llm_latent_adversarial_training_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/llm_latent_adversarial_training_dataset.py @@ -74,7 +74,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "llm_lat_harmful" @override diff --git a/pyrit/datasets/seed_datasets/remote/medsafetybench_dataset.py b/pyrit/datasets/seed_datasets/remote/medsafetybench_dataset.py index f193f3d72b..2008c5ffa5 100644 --- a/pyrit/datasets/seed_datasets/remote/medsafetybench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/medsafetybench_dataset.py @@ -82,7 +82,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "medsafetybench" @override diff --git a/pyrit/datasets/seed_datasets/remote/mlcommons_ailuminate_dataset.py b/pyrit/datasets/seed_datasets/remote/mlcommons_ailuminate_dataset.py index 54c2a39e45..dc68d09cfc 100644 --- a/pyrit/datasets/seed_datasets/remote/mlcommons_ailuminate_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/mlcommons_ailuminate_dataset.py @@ -84,7 +84,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "mlcommons_ailuminate" @override diff --git a/pyrit/datasets/seed_datasets/remote/mm_safetybench_dataset.py b/pyrit/datasets/seed_datasets/remote/mm_safetybench_dataset.py index 0d6d10e63d..4f2cfae50d 100644 --- a/pyrit/datasets/seed_datasets/remote/mm_safetybench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/mm_safetybench_dataset.py @@ -215,7 +215,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "mm_safetybench" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/moral_integrity_corpus_dataset.py b/pyrit/datasets/seed_datasets/remote/moral_integrity_corpus_dataset.py index 1b0231d94f..e9e01f2eeb 100644 --- a/pyrit/datasets/seed_datasets/remote/moral_integrity_corpus_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/moral_integrity_corpus_dataset.py @@ -50,7 +50,7 @@ def __init__(self) -> None: @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "moral_integrity_corpus" @override diff --git a/pyrit/datasets/seed_datasets/remote/mossbench_dataset.py b/pyrit/datasets/seed_datasets/remote/mossbench_dataset.py index 6250c8d396..f8ada64926 100644 --- a/pyrit/datasets/seed_datasets/remote/mossbench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/mossbench_dataset.py @@ -181,7 +181,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "mossbench" @override diff --git a/pyrit/datasets/seed_datasets/remote/msts_dataset.py b/pyrit/datasets/seed_datasets/remote/msts_dataset.py index 05ee1ad88a..35f0a96c8a 100644 --- a/pyrit/datasets/seed_datasets/remote/msts_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/msts_dataset.py @@ -163,7 +163,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "msts" @override diff --git a/pyrit/datasets/seed_datasets/remote/multilingual_vulnerability_dataset.py b/pyrit/datasets/seed_datasets/remote/multilingual_vulnerability_dataset.py index 729f49c2f1..ac55214c33 100644 --- a/pyrit/datasets/seed_datasets/remote/multilingual_vulnerability_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/multilingual_vulnerability_dataset.py @@ -64,7 +64,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "multilingual_vulnerability" @override diff --git a/pyrit/datasets/seed_datasets/remote/odin_dataset.py b/pyrit/datasets/seed_datasets/remote/odin_dataset.py index d9db63ecf3..e220697722 100644 --- a/pyrit/datasets/seed_datasets/remote/odin_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/odin_dataset.py @@ -162,7 +162,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "0din_threatfeed" def _resolve_api_key(self) -> str: diff --git a/pyrit/datasets/seed_datasets/remote/or_bench_dataset.py b/pyrit/datasets/seed_datasets/remote/or_bench_dataset.py index 841cb95a9c..4b12ac0ece 100644 --- a/pyrit/datasets/seed_datasets/remote/or_bench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/or_bench_dataset.py @@ -120,7 +120,7 @@ class _ORBench80KDataset(_ORBenchBaseDataset): @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "or_bench_80k" @@ -142,7 +142,7 @@ class _ORBenchHardDataset(_ORBenchBaseDataset): @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "or_bench_hard" @@ -165,5 +165,5 @@ class _ORBenchToxicDataset(_ORBenchBaseDataset): @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "or_bench_toxic" diff --git a/pyrit/datasets/seed_datasets/remote/pku_safe_rlhf_dataset.py b/pyrit/datasets/seed_datasets/remote/pku_safe_rlhf_dataset.py index f1435bff8b..5da4ad597d 100644 --- a/pyrit/datasets/seed_datasets/remote/pku_safe_rlhf_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/pku_safe_rlhf_dataset.py @@ -98,7 +98,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "pku_safe_rlhf" @override diff --git a/pyrit/datasets/seed_datasets/remote/promptintel_dataset.py b/pyrit/datasets/seed_datasets/remote/promptintel_dataset.py index f530484f2b..5d4a1aa89c 100644 --- a/pyrit/datasets/seed_datasets/remote/promptintel_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/promptintel_dataset.py @@ -114,7 +114,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "promptintel" def _fetch_all_prompts(self) -> list[dict[str, Any]]: diff --git a/pyrit/datasets/seed_datasets/remote/red_team_social_bias_dataset.py b/pyrit/datasets/seed_datasets/remote/red_team_social_bias_dataset.py index bc9334bd7c..f1e2725400 100644 --- a/pyrit/datasets/seed_datasets/remote/red_team_social_bias_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/red_team_social_bias_dataset.py @@ -51,7 +51,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "red_team_social_bias" @override diff --git a/pyrit/datasets/seed_datasets/remote/salad_bench_dataset.py b/pyrit/datasets/seed_datasets/remote/salad_bench_dataset.py index 7a882ec698..aff326bbc2 100644 --- a/pyrit/datasets/seed_datasets/remote/salad_bench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/salad_bench_dataset.py @@ -56,7 +56,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "salad_bench" @staticmethod diff --git a/pyrit/datasets/seed_datasets/remote/sgxstest_dataset.py b/pyrit/datasets/seed_datasets/remote/sgxstest_dataset.py index 9c12c0aa64..214bba06a8 100644 --- a/pyrit/datasets/seed_datasets/remote/sgxstest_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/sgxstest_dataset.py @@ -109,7 +109,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "sgxstest" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/simple_safety_tests_dataset.py b/pyrit/datasets/seed_datasets/remote/simple_safety_tests_dataset.py index 8dfd59232f..d4ab19e848 100644 --- a/pyrit/datasets/seed_datasets/remote/simple_safety_tests_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/simple_safety_tests_dataset.py @@ -58,7 +58,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "simple_safety_tests" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/siuo_dataset.py b/pyrit/datasets/seed_datasets/remote/siuo_dataset.py index 0ab49278a8..ca29d3eb74 100644 --- a/pyrit/datasets/seed_datasets/remote/siuo_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/siuo_dataset.py @@ -143,7 +143,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "siuo" @override diff --git a/pyrit/datasets/seed_datasets/remote/sorry_bench_dataset.py b/pyrit/datasets/seed_datasets/remote/sorry_bench_dataset.py index 478b776497..1ad757a408 100644 --- a/pyrit/datasets/seed_datasets/remote/sorry_bench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/sorry_bench_dataset.py @@ -172,7 +172,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "sorry_bench" @override diff --git a/pyrit/datasets/seed_datasets/remote/sosbench_dataset.py b/pyrit/datasets/seed_datasets/remote/sosbench_dataset.py index 6c1d455c25..b077aee0f8 100644 --- a/pyrit/datasets/seed_datasets/remote/sosbench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/sosbench_dataset.py @@ -45,7 +45,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "sosbench" @override diff --git a/pyrit/datasets/seed_datasets/remote/strong_reject_dataset.py b/pyrit/datasets/seed_datasets/remote/strong_reject_dataset.py index de2cadf2ba..5cc0f731f8 100644 --- a/pyrit/datasets/seed_datasets/remote/strong_reject_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/strong_reject_dataset.py @@ -65,7 +65,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "strong_reject" async def fetch_dataset_async(self, *, cache: bool = True) -> SeedDataset: diff --git a/pyrit/datasets/seed_datasets/remote/tdc23_redteaming_dataset.py b/pyrit/datasets/seed_datasets/remote/tdc23_redteaming_dataset.py index 9aafd8fd6e..b43f382481 100644 --- a/pyrit/datasets/seed_datasets/remote/tdc23_redteaming_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/tdc23_redteaming_dataset.py @@ -70,7 +70,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "tdc23_redteaming" @override diff --git a/pyrit/datasets/seed_datasets/remote/toxic_chat_dataset.py b/pyrit/datasets/seed_datasets/remote/toxic_chat_dataset.py index 4cf5dab9fa..050b1722aa 100644 --- a/pyrit/datasets/seed_datasets/remote/toxic_chat_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/toxic_chat_dataset.py @@ -57,7 +57,7 @@ def __init__( @property def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "toxic_chat" def _extract_harm_categories(self, item: dict[str, Any]) -> list[str]: diff --git a/pyrit/datasets/seed_datasets/remote/transphobia_awareness_dataset.py b/pyrit/datasets/seed_datasets/remote/transphobia_awareness_dataset.py index 99bbd2d8fc..ffee4cf471 100644 --- a/pyrit/datasets/seed_datasets/remote/transphobia_awareness_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/transphobia_awareness_dataset.py @@ -56,7 +56,7 @@ def __init__(self, *, source: str = RATINGS_URL) -> None: @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "transphobia_awareness" @override diff --git a/pyrit/datasets/seed_datasets/remote/visual_leak_bench_dataset.py b/pyrit/datasets/seed_datasets/remote/visual_leak_bench_dataset.py index 620d308b3c..df5ce4f803 100644 --- a/pyrit/datasets/seed_datasets/remote/visual_leak_bench_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/visual_leak_bench_dataset.py @@ -121,7 +121,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "visual_leak_bench" @override diff --git a/pyrit/datasets/seed_datasets/remote/vlguard_dataset.py b/pyrit/datasets/seed_datasets/remote/vlguard_dataset.py index 76e28794e3..e7a0de8786 100644 --- a/pyrit/datasets/seed_datasets/remote/vlguard_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/vlguard_dataset.py @@ -152,7 +152,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "vlguard" @override diff --git a/pyrit/datasets/seed_datasets/remote/vlsu_multimodal_dataset.py b/pyrit/datasets/seed_datasets/remote/vlsu_multimodal_dataset.py index 6574ec9883..5e61b1645e 100644 --- a/pyrit/datasets/seed_datasets/remote/vlsu_multimodal_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/vlsu_multimodal_dataset.py @@ -119,7 +119,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "ml_vlsu" @override diff --git a/pyrit/datasets/seed_datasets/remote/xstest_dataset.py b/pyrit/datasets/seed_datasets/remote/xstest_dataset.py index 7e9d501231..49af0b576b 100644 --- a/pyrit/datasets/seed_datasets/remote/xstest_dataset.py +++ b/pyrit/datasets/seed_datasets/remote/xstest_dataset.py @@ -66,7 +66,7 @@ def __init__( @property @override def dataset_name(self) -> str: - """Return the dataset name.""" + """The dataset name.""" return "xstest" @override diff --git a/pyrit/datasets/seed_datasets/seed_dataset_provider.py b/pyrit/datasets/seed_datasets/seed_dataset_provider.py index 8518b57a5b..8d23a5af03 100644 --- a/pyrit/datasets/seed_datasets/seed_dataset_provider.py +++ b/pyrit/datasets/seed_datasets/seed_dataset_provider.py @@ -69,7 +69,7 @@ def __init_subclass__(cls, **kwargs: Any) -> None: @abstractmethod def dataset_name(self) -> str: """ - Return the human-readable name of the dataset. + The human-readable name of the dataset. Returns: str: The dataset name (e.g., "HarmBench", "JailbreakBench JBB-Behaviors") diff --git a/pyrit/executor/attack/core/attack_executor.py b/pyrit/executor/attack/core/attack_executor.py index 4f3ecb2cbe..661b50b625 100644 --- a/pyrit/executor/attack/core/attack_executor.py +++ b/pyrit/executor/attack/core/attack_executor.py @@ -92,7 +92,7 @@ def all_completed(self) -> bool: @property def exceptions(self) -> list[BaseException]: - """Get all exceptions from incomplete objectives.""" + """All exceptions from incomplete objectives.""" return [exception for _, exception in self.incomplete_objectives] def raise_if_incomplete(self) -> None: diff --git a/pyrit/executor/attack/core/attack_strategy.py b/pyrit/executor/attack/core/attack_strategy.py index 19929f8888..5640b3ca8f 100644 --- a/pyrit/executor/attack/core/attack_strategy.py +++ b/pyrit/executor/attack/core/attack_strategy.py @@ -553,7 +553,7 @@ def _build_identifier(self) -> ComponentIdentifier: @property def params_type(self) -> type[AttackParameters]: """ - Get the parameters type for this attack strategy. + The parameters type for this attack strategy. Returns: type[AttackParameters]: The parameters type this strategy accepts. diff --git a/pyrit/executor/attack/multi_turn/crescendo.py b/pyrit/executor/attack/multi_turn/crescendo.py index 9c70a1d8b4..b1fae4b5b9 100644 --- a/pyrit/executor/attack/multi_turn/crescendo.py +++ b/pyrit/executor/attack/multi_turn/crescendo.py @@ -89,7 +89,7 @@ class CrescendoAttackResult(AttackResult): @property def backtrack_count(self) -> int: """ - Get the number of backtracks performed during the attack. + The number of backtracks performed during the attack. Returns: int: The number of backtracks. diff --git a/pyrit/executor/attack/multi_turn/tree_of_attacks.py b/pyrit/executor/attack/multi_turn/tree_of_attacks.py index c63536f5d7..76f93038e9 100644 --- a/pyrit/executor/attack/multi_turn/tree_of_attacks.py +++ b/pyrit/executor/attack/multi_turn/tree_of_attacks.py @@ -148,7 +148,7 @@ def __init__( @property def threshold(self) -> float: """ - Get the threshold from the objective scorer. + The threshold from the objective scorer. Returns: float: The threshold value from the FloatScaleThresholdScorer. @@ -189,7 +189,7 @@ class TAPAttackResult(AttackResult): @property def tree_visualization(self) -> Tree | None: - """Get the tree visualization from metadata.""" + """The tree visualization from metadata.""" return self.metadata.get("tree_visualization", None) @tree_visualization.setter @@ -199,7 +199,7 @@ def tree_visualization(self, value: Tree) -> None: @property def nodes_explored(self) -> int: - """Get the total number of nodes explored during the attack.""" + """The total number of nodes explored during the attack.""" return cast("int", self.metadata.get("nodes_explored", 0)) @nodes_explored.setter @@ -209,7 +209,7 @@ def nodes_explored(self, value: int) -> None: @property def nodes_pruned(self) -> int: - """Get the number of nodes pruned during the attack.""" + """The number of nodes pruned during the attack.""" return cast("int", self.metadata.get("nodes_pruned", 0)) @nodes_pruned.setter @@ -219,7 +219,7 @@ def nodes_pruned(self, value: int) -> None: @property def max_depth_reached(self) -> int: - """Get the maximum depth reached in the attack tree.""" + """The maximum depth reached in the attack tree.""" return cast("int", self.metadata.get("max_depth_reached", 0)) @max_depth_reached.setter @@ -229,7 +229,7 @@ def max_depth_reached(self, value: int) -> None: @property def auxiliary_scores_summary(self) -> dict[str, float]: - """Get a summary of auxiliary scores from the best node.""" + """A summary of auxiliary scores from the best node.""" return cast("dict[str, float]", self.metadata.get("auxiliary_scores_summary", {})) @auxiliary_scores_summary.setter @@ -239,7 +239,7 @@ def auxiliary_scores_summary(self, value: dict[str, float]) -> None: @property def best_adversarial_conversation_id(self) -> str | None: - """Get the adversarial conversation ID for the best-scoring branch.""" + """The adversarial conversation ID for the best-scoring branch.""" return cast("str | None", self.metadata.get("best_adversarial_conversation_id", None)) @best_adversarial_conversation_id.setter diff --git a/pyrit/executor/workflow/xpia.py b/pyrit/executor/workflow/xpia.py index 80c0fdefd0..b2c1319069 100644 --- a/pyrit/executor/workflow/xpia.py +++ b/pyrit/executor/workflow/xpia.py @@ -118,7 +118,7 @@ def success(self) -> bool: @property def status(self) -> XPIAStatus: """ - Get the status of the attack result. + The status of the attack result. Returns: XPIAStatus: The status of the attack result. diff --git a/pyrit/models/messages/message.py b/pyrit/models/messages/message.py index 3b0a2f5904..9436c671ae 100644 --- a/pyrit/models/messages/message.py +++ b/pyrit/models/messages/message.py @@ -248,7 +248,7 @@ def get_piece_by_type( @property def api_role(self) -> ChatMessageRole: """ - Return the API-compatible role of the first message piece. + The API-compatible role of the first message piece. Maps simulated_assistant to assistant for API compatibility. All message pieces in a Message should have the same role. @@ -279,7 +279,7 @@ def is_simulated(self) -> bool: @property def conversation_id(self) -> str: """ - Return the conversation ID of the first request piece. + The conversation ID of the first request piece. Returns: str: Conversation identifier. @@ -295,7 +295,7 @@ def conversation_id(self) -> str: @property def sequence(self) -> int: """ - Return the sequence value of the first request piece. + The sequence value of the first request piece. Returns: int: Sequence number for the message turn. diff --git a/pyrit/models/seeds/seed_attack_group.py b/pyrit/models/seeds/seed_attack_group.py index cb077755db..1dba1ebaa8 100644 --- a/pyrit/models/seeds/seed_attack_group.py +++ b/pyrit/models/seeds/seed_attack_group.py @@ -67,7 +67,7 @@ def _enforce_exactly_one_objective(self) -> None: @property def objective(self) -> SeedObjective: """ - Get the objective for this attack group. + The objective for this attack group. Unlike SeedGroup.objective which may return None, SeedAttackGroup guarantees exactly one objective exists. diff --git a/pyrit/models/seeds/seed_dataset.py b/pyrit/models/seeds/seed_dataset.py index f8d7b91d6e..de71cf8972 100644 --- a/pyrit/models/seeds/seed_dataset.py +++ b/pyrit/models/seeds/seed_dataset.py @@ -371,7 +371,7 @@ def group_seed_prompts_by_prompt_group_id(seeds: Sequence[Seed]) -> Sequence[See @property def prompts(self) -> Sequence[SeedPrompt]: """ - Return all prompt-type seeds. + All prompt-type seeds. Returns: Sequence[SeedPrompt]: Prompt seeds in this dataset. @@ -382,7 +382,7 @@ def prompts(self) -> Sequence[SeedPrompt]: @property def objectives(self) -> Sequence[SeedObjective]: """ - Return all objective-type seeds. + All objective-type seeds. Returns: Sequence[SeedObjective]: Objective seeds in this dataset. @@ -393,7 +393,7 @@ def objectives(self) -> Sequence[SeedObjective]: @property def seed_groups(self) -> Sequence[SeedGroup]: """ - Returns the seeds grouped by their prompt_group_id. + The seeds grouped by their prompt_group_id. Returns: Sequence[SeedGroup]: A list of SeedGroup objects, with seeds grouped by prompt_group_id. diff --git a/pyrit/models/seeds/seed_group.py b/pyrit/models/seeds/seed_group.py index 5a37c58bd3..81a63afd9c 100644 --- a/pyrit/models/seeds/seed_group.py +++ b/pyrit/models/seeds/seed_group.py @@ -290,18 +290,18 @@ def _get_simulated_conversation(self) -> SeedSimulatedConversation | None: @property def prompts(self) -> Sequence[SeedPrompt]: - """Get all SeedPrompt instances from this group.""" + """All SeedPrompt instances from this group.""" return [seed for seed in self.seeds if isinstance(seed, SeedPrompt)] @property def objective(self) -> SeedObjective | None: - """Get the objective for this group.""" + """The objective for this group.""" return self._get_objective() @property def harm_categories(self) -> list[str]: """ - Returns a deduplicated list of all harm categories from all seeds. + A deduplicated list of all harm categories from all seeds. Returns: List of harm categories with duplicates removed. @@ -319,7 +319,7 @@ def harm_categories(self) -> list[str]: @property def simulated_conversation_config(self) -> SeedSimulatedConversation | None: - """Get the simulated conversation configuration if set.""" + """The simulated conversation configuration if set.""" return self._get_simulated_conversation() @property @@ -334,7 +334,7 @@ def has_simulated_conversation(self) -> bool: @property def prepended_conversation(self) -> list[Message] | None: """ - Returns Messages that should be prepended as conversation history. + Messages that should be prepended as conversation history. Returns all messages except the last user sequence. @@ -364,7 +364,7 @@ def prepended_conversation(self) -> list[Message] | None: @property def next_message(self) -> Message | None: """ - Returns a Message containing only the last turn's prompts if it's a user message. + A Message containing only the last turn's prompts if it's a user message. Returns: Message for the current/last turn if user role, or None otherwise. @@ -391,7 +391,7 @@ def next_message(self) -> Message | None: @property def user_messages(self) -> list[Message]: """ - Returns all prompts as user Messages, one per sequence. + All prompts as user Messages, one per sequence. Returns: All user messages in sequence order, or empty list if no prompts. diff --git a/pyrit/models/seeds/seed_simulated_conversation.py b/pyrit/models/seeds/seed_simulated_conversation.py index 7b5daa0009..f5c29525dc 100644 --- a/pyrit/models/seeds/seed_simulated_conversation.py +++ b/pyrit/models/seeds/seed_simulated_conversation.py @@ -220,7 +220,7 @@ def load_simulated_target_system_prompt( @property def sequence_range(self) -> range: """ - Get the range of sequence numbers this simulated conversation will occupy. + The range of sequence numbers this simulated conversation will occupy. Each turn generates 2 messages (user + assistant), so num_turns generates num_turns * 2 messages. If next_message_system_prompt_path is set, an additional diff --git a/pyrit/prompt_normalizer/prompt_normalizer.py b/pyrit/prompt_normalizer/prompt_normalizer.py index 56c7bcfa3c..811fbd46c2 100644 --- a/pyrit/prompt_normalizer/prompt_normalizer.py +++ b/pyrit/prompt_normalizer/prompt_normalizer.py @@ -44,7 +44,7 @@ class PromptNormalizer: @property def memory(self) -> MemoryInterface: """ - Get the memory instance. + The memory instance. Raises: RuntimeError: If memory is not initialized. diff --git a/pyrit/scenario/core/atomic_attack.py b/pyrit/scenario/core/atomic_attack.py index 0a8b9ba17e..896f950f6a 100644 --- a/pyrit/scenario/core/atomic_attack.py +++ b/pyrit/scenario/core/atomic_attack.py @@ -186,7 +186,7 @@ def _validate_unique_objective_hashes(self) -> None: @property def attack_technique(self) -> AttackTechnique: - """Get the attack technique for this atomic attack.""" + """The attack technique for this atomic attack.""" return self._attack_technique @property @@ -211,7 +211,7 @@ def technique_eval_hash(self) -> str: @property def objectives(self) -> list[str]: """ - Get the objectives from the seed groups. + The objectives from the seed groups. Returns: list[str]: List of objectives from all seed groups. @@ -221,7 +221,7 @@ def objectives(self) -> list[str]: @property def seed_groups(self) -> list[SeedAttackGroup]: """ - Get a copy of the seed groups list for this atomic attack. + A copy of the seed groups list for this atomic attack. Returns: list[SeedAttackGroup]: A copy of the seed groups list. diff --git a/pyrit/scenario/core/scenario_strategy.py b/pyrit/scenario/core/scenario_strategy.py index 006f272233..9ec9fb251a 100644 --- a/pyrit/scenario/core/scenario_strategy.py +++ b/pyrit/scenario/core/scenario_strategy.py @@ -106,7 +106,7 @@ def __new__(cls, value: str, tags: set[str] | None = None) -> ScenarioStrategy: @property def tags(self) -> set[str]: """ - Get the tags for this attack strategy. + The tags for this attack strategy. Tags provide a flexible categorization system, allowing strategies to be classified along multiple dimensions (e.g., by complexity, type, or technique). @@ -326,12 +326,12 @@ def __init__(self, *, strategies: Sequence[ScenarioStrategy]) -> None: @property def name(self) -> str: - """Get the name of the composite strategy.""" + """The name of the composite strategy.""" return self._name @property def strategies(self) -> list[ScenarioStrategy]: - """Get the list of strategies in this composition.""" + """The list of strategies in this composition.""" return self._strategies @property diff --git a/pyrit/scenario/scenarios/airt/psychosocial.py b/pyrit/scenario/scenarios/airt/psychosocial.py index 19a20fd4a8..d50ec200f0 100644 --- a/pyrit/scenario/scenarios/airt/psychosocial.py +++ b/pyrit/scenario/scenarios/airt/psychosocial.py @@ -99,7 +99,7 @@ class PsychosocialStrategy(ScenarioStrategy): @property def harm_category_filter(self) -> str | None: """ - Get the harm category filter for this strategy. + The harm category filter for this strategy. Returns: str | None: The harm category to filter seeds by, or "psychosocial" as default. diff --git a/pyrit/scenario/scenarios/foundry/red_team_agent.py b/pyrit/scenario/scenarios/foundry/red_team_agent.py index 9096fcc9f2..82ccb0eb9f 100644 --- a/pyrit/scenario/scenarios/foundry/red_team_agent.py +++ b/pyrit/scenario/scenarios/foundry/red_team_agent.py @@ -111,7 +111,7 @@ def __post_init__(self) -> None: @property def name(self) -> str: - """Return a human-readable name for this composite.""" + """A human-readable name for this composite.""" if not self.converters: return self.attack.value if self.attack else "baseline" if self.attack is None and len(self.converters) == 1: diff --git a/pyrit/score/float_scale/azure_content_filter_scorer.py b/pyrit/score/float_scale/azure_content_filter_scorer.py index 99d24ef06a..fcfe941f89 100644 --- a/pyrit/score/float_scale/azure_content_filter_scorer.py +++ b/pyrit/score/float_scale/azure_content_filter_scorer.py @@ -157,7 +157,7 @@ def __init__( @property def _category_values(self) -> list[str]: - """Get the string values of the configured harm categories for API calls.""" + """The string values of the configured harm categories for API calls.""" return [category.value for category in self._harm_categories] def _build_identifier(self) -> ComponentIdentifier: diff --git a/pyrit/score/float_scale/self_ask_likert_scorer.py b/pyrit/score/float_scale/self_ask_likert_scorer.py index 811be06b26..2e44b4ff42 100644 --- a/pyrit/score/float_scale/self_ask_likert_scorer.py +++ b/pyrit/score/float_scale/self_ask_likert_scorer.py @@ -153,12 +153,12 @@ class LikertScalePaths(enum.Enum): @property def path(self) -> Path: - """Get the path to the Likert scale YAML file.""" + """The path to the Likert scale YAML file.""" return self.value[0] @property def evaluation_files(self) -> LikertScaleEvalFiles | None: - """Get the evaluation file configuration, or None if no evaluation dataset exists.""" + """The evaluation file configuration, or None if no evaluation dataset exists.""" return self.value[1] diff --git a/pyrit/score/scorer.py b/pyrit/score/scorer.py index 031c7c1553..72c948cbc3 100644 --- a/pyrit/score/scorer.py +++ b/pyrit/score/scorer.py @@ -141,7 +141,7 @@ def get_identifier(self) -> ComponentIdentifier: @property def scorer_type(self) -> ScoreType: """ - Get the scorer type based on class hierarchy. + The scorer type based on class hierarchy. Returns: ScoreType: "true_false" for TrueFalseScorer subclasses, diff --git a/pyrit/score/true_false/float_scale_threshold_scorer.py b/pyrit/score/true_false/float_scale_threshold_scorer.py index c329c80688..294ce33452 100644 --- a/pyrit/score/true_false/float_scale_threshold_scorer.py +++ b/pyrit/score/true_false/float_scale_threshold_scorer.py @@ -54,7 +54,7 @@ def __init__( @property def threshold(self) -> float: - """Get the threshold value used for score comparison.""" + """The threshold value used for score comparison.""" return self._threshold def _build_identifier(self) -> ComponentIdentifier: diff --git a/pyrit/setup/initializers/airt.py b/pyrit/setup/initializers/airt.py index b144b0cb0e..0f990ed8c4 100644 --- a/pyrit/setup/initializers/airt.py +++ b/pyrit/setup/initializers/airt.py @@ -81,7 +81,7 @@ def __init__(self) -> None: @property def required_env_vars(self) -> list[str]: - """Get list of required environment variables.""" + """List of required environment variables.""" return [ "AZURE_OPENAI_GPT4O_UNSAFE_CHAT_ENDPOINT", "AZURE_OPENAI_GPT4O_UNSAFE_CHAT_MODEL", diff --git a/pyrit/setup/initializers/scenarios/load_default_datasets.py b/pyrit/setup/initializers/scenarios/load_default_datasets.py index c6b5924343..a5e8d383b5 100644 --- a/pyrit/setup/initializers/scenarios/load_default_datasets.py +++ b/pyrit/setup/initializers/scenarios/load_default_datasets.py @@ -24,7 +24,7 @@ class LoadDefaultDatasets(PyRITInitializer): @property def name(self) -> str: - """Return the name of this initializer.""" + """The name of this initializer.""" return "Default Dataset Loader for Scenarios" @property @@ -34,7 +34,7 @@ def execution_order(self) -> int: @property def description(self) -> str: - """Return a description of this initializer.""" + """A description of this initializer.""" return textwrap.dedent( """ This configuration uses the DatasetLoader to load default datasets into memory. @@ -47,7 +47,7 @@ def description(self) -> str: @property def required_env_vars(self) -> list[str]: - """Return the list of required environment variables.""" + """The list of required environment variables.""" return [] async def initialize_async(self) -> None: diff --git a/pyrit/setup/initializers/scenarios/objective_list.py b/pyrit/setup/initializers/scenarios/objective_list.py index a07ca9024c..35e7f37f05 100644 --- a/pyrit/setup/initializers/scenarios/objective_list.py +++ b/pyrit/setup/initializers/scenarios/objective_list.py @@ -20,17 +20,17 @@ class ScenarioObjectiveListInitializer(PyRITInitializer): @property def name(self) -> str: - """Return the display name of this initializer.""" + """The display name of this initializer.""" return "Simple Objective List Configuration for Scenarios" @property def execution_order(self) -> int: - """Return the execution order, ensuring this initializer runs after most others.""" + """The execution order, ensuring this initializer runs after most others.""" return 10 @property def required_env_vars(self) -> list[str]: - """Return an empty list because this initializer requires no environment variables.""" + """An empty list because this initializer requires no environment variables.""" return [] async def initialize_async(self) -> None: diff --git a/pyrit/setup/initializers/simple.py b/pyrit/setup/initializers/simple.py index 44baacf1e2..83e5fce102 100644 --- a/pyrit/setup/initializers/simple.py +++ b/pyrit/setup/initializers/simple.py @@ -64,7 +64,7 @@ def __init__(self) -> None: @property def required_env_vars(self) -> list[str]: - """Get list of required environment variables.""" + """List of required environment variables.""" return [ "OPENAI_CHAT_ENDPOINT", "OPENAI_CHAT_MODEL",