forked from GitHubSecurityLab/seclab-taskflows
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
122 lines (113 loc) · 4.85 KB
/
pyproject.toml
File metadata and controls
122 lines (113 loc) · 4.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "seclab-taskflows"
dynamic = ["version"]
description = 'Example taskflows to use with the the GitHub Security Lab Taskflow Agent Framework (https://github.com/GitHubSecurityLab/seclab-taskflow-agent)'
readme = "README.md"
requires-python = ">=3.9"
license = "MIT"
keywords = []
authors = [
{ name = "GitHub Security Lab", email = "securitylab@github.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
"seclab-taskflow-agent==0.3.1",
]
[project.urls]
Source = "https://github.com/GitHubSecurityLab/seclab-taskflows"
Issues = "https://github.com/GitHubSecurityLab/seclab-taskflows/issues"
[tool.hatch.version]
path = "src/seclab_taskflows/__about__.py"
[tool.hatch.envs.types]
extra-dependencies = [
"mypy>=1.0.0",
]
[tool.hatch.envs.types.scripts]
check = "mypy --install-types --non-interactive {args:src/seclab_taskflows tests}"
[tool.coverage.run]
source_pkgs = ["seclab_taskflows", "tests"]
branch = true
parallel = true
omit = [
"src/seclab_taskflows/__about__.py",
]
[tool.coverage.paths]
seclab_taskflows = ["src/seclab_taskflows", "*/seclab-taskflows/src/seclab_taskflows"]
tests = ["tests", "*/seclab-taskflows/tests"]
[tool.coverage.report]
exclude_lines = [
"no cov",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]
[tool.ruff.lint]
ignore = [
"A001", # Variable name shadows a builtin
"A002", # Argument name shadows a builtin
"ARG001", # Unused function argument
"B007", # Loop control variable not used within loop body
"B008", # Do not perform function calls in argument defaults
"BLE001", # Do not catch blind exception
"C403", # Unnecessary list comprehension - rewrite as a set comprehension
"C405", # Unnecessary list literal - rewrite as a set literal
"E713", # Test for membership should be `not in`
"EM102", # Exception must not use an f-string literal
"F401", # Imported but unused
"F541", # f-string without any placeholders
"F841", # Local variable assigned but never used
"FA100", # Missing `from __future__ import annotations`
"FA102", # Missing `from __future__ import annotations` for `typing.Optional`
"FBT001", # Boolean-typed positional argument in function definition
"FBT002", # Boolean default positional argument in function definition
"G004", # Logging statement uses f-string
"I001", # Import block is un-sorted or un-formatted
"INP001", # File is part of an implicit namespace package
"LOG015", # `root` should be used instead of logger
"N802", # Function name should be lowercase
"PERF102", # Incorrect `dict` comprehension for combining two dicts
"PERF401", # Use a list comprehension to create a transformed list
"PIE810", # Call `startswith` once with a tuple
"PLC0206", # Dict should be used instead of tuple
"PLR1730", # Replace `if` statement with `min()`
"PLR2004", # Magic value used in comparison
"PLW0602", # Using global for variable but no assignment is done
"PLW0603", # Using the global statement to update a variable is discouraged
"PLW1508", # Invalid type for environment variable default
"PLW1510", # `subprocess.run` without explicit `check` argument
"RET504", # Unnecessary assignment before `return` statement
"RET505", # Unnecessary `else` after `return` statement
"RUF003", # Comment contains ambiguous character
"RUF013", # PEP 484 prohibits implicit `Optional`
"RUF015", # Prefer `next(iter())` over single element slice
"S607", # Starting a process with a partial executable path
"SIM101", # Use a ternary expression instead of if-else-block
"SIM114", # Combine `if` branches using logical `or` operator
"SIM117", # Use a single `with` statement with multiple contexts
"SIM118", # Use `key in dict` instead of `key in dict.keys()`
"SIM300", # Yoda condition detected
"T201", # `print` found
"TID252", # Prefer absolute imports over relative imports
"TRY003", # Avoid specifying long messages outside the exception class
"TRY300", # Consider moving this statement to an `else` block
"UP032", # Use f-string instead of `format` call
"W291", # Trailing whitespace
"W293", # Blank line contains whitespace
]
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"S101", # Use of assert (standard in pytest)
"SLF001", # Private member accessed (tests legitimately access module internals)
]