|
1 |
| -[tool.poetry] |
| 1 | +[project] |
2 | 2 | name = "nautilus_data"
|
3 |
| -version = "0.15.0" |
4 |
| -description = "" |
5 |
| -authors = [ "Nautech Systems <[email protected]>"] |
6 |
| - |
7 |
| -[tool.poetry.dependencies] |
8 |
| -python = ">=3.11,<3.13" |
9 |
| -nautilus_trader = ">=1.209.0" |
10 |
| -requests = "^2.32" |
| 3 | +version = "0.16.0" |
| 4 | +description = "Example data for use with NautilusTrader" |
| 5 | +authors = [ |
| 6 | + { name = "Nautech Systems", email = "[email protected]"}, |
| 7 | +] |
| 8 | +requires-python = "~=3.12" |
| 9 | +dependencies = [ |
| 10 | + "nautilus_trader>=1.215.0", |
| 11 | + "requests>=2.32.0,<3.0.0", |
| 12 | +] |
11 | 13 |
|
12 | 14 | [build-system]
|
13 |
| -requires = ["poetry-core>=1.9.1"] |
14 |
| -build-backend = "poetry.core.masonry.api" |
| 15 | +requires = ["hatchling"] |
| 16 | +build-backend = "hatchling.build" |
| 17 | + |
| 18 | +[tool.hatch.metadata] |
| 19 | +allow-direct-references = true |
| 20 | + |
| 21 | +[tool.uv.sources] |
| 22 | +nautilus_trader = { index = "nautechsystems" } |
| 23 | + |
| 24 | +[[tool.uv.index]] |
| 25 | +name = "nautechsystems" |
| 26 | +url = "https://packages.nautechsystems.io/simple" |
| 27 | + |
| 28 | +########################################################## |
| 29 | +# Formatter configs # |
| 30 | +########################################################## |
| 31 | +[tool.black] |
| 32 | +target_version = ["py312"] |
| 33 | +line_length = 100 |
15 | 34 |
|
| 35 | +[tool.docformatter] |
| 36 | +black = true |
| 37 | +make-summary-multi-line = true |
| 38 | +pre-summary-new-line = true |
| 39 | +blank = true |
| 40 | +recursive = true |
| 41 | +in-place = true |
| 42 | + |
| 43 | +########################################################## |
| 44 | +# Linter configs # |
| 45 | +########################################################## |
16 | 46 | [tool.ruff]
|
17 |
| -target-version = "py311" |
| 47 | +target-version = "py312" |
18 | 48 | line-length = 100
|
| 49 | + |
| 50 | +exclude = [ |
| 51 | + ".benchmarks", |
| 52 | + ".eggs", |
| 53 | + ".git", |
| 54 | + ".mypy_cache", |
| 55 | + ".pytest_cache", |
| 56 | + ".ruff_cache", |
| 57 | + ".venv", |
| 58 | + "dist", |
| 59 | + "venv", |
| 60 | +] |
| 61 | + |
| 62 | +[tool.ruff.lint] |
19 | 63 | select = [
|
20 | 64 | "C4",
|
21 | 65 | "E",
|
@@ -63,71 +107,41 @@ ignore = [
|
63 | 107 | "D416", # Section name should end with a colon ('Warnings:', not 'Warnings') (incorrect?)
|
64 | 108 | "E741", # Ambiguous variable name (single char)
|
65 | 109 | "PD901", # `df` is a bad variable name. Be kinder to your future self
|
| 110 | + "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar` |
66 | 111 | "S101", # Use of assert detected (OK in test suite)
|
67 |
| - "S105", # Use of hardcoded password (spurious) |
68 |
| - "S106", # Use of hardcoded password (spurious) |
| 112 | + "S105", # Use of hard-coded password (spurious) |
| 113 | + "S106", # Use of hard-coded password (spurious) |
69 | 114 | "S113", # Probable use of requests call without timeout **fix**
|
| 115 | + "S603", # `subprocess` call: check for execution of untrusted input **fix** |
70 | 116 | ]
|
71 | 117 |
|
72 | 118 | # Allow autofix for all enabled rules (when `--fix`) is provided
|
73 |
| -fixable = [ |
74 |
| - "A", |
75 |
| - "B", |
76 |
| - "C", |
77 |
| - "C4", |
78 |
| - "D", |
79 |
| - "DTZ", |
80 |
| - "E", |
81 |
| - "F", |
82 |
| - "UP", |
83 |
| - "S", |
84 |
| - "W", |
85 |
| - "I", |
86 |
| - "PIE", |
87 |
| - "PT", |
88 |
| - "PYI", |
89 |
| - "RSE", |
90 |
| - "TID", |
91 |
| - "ARG", |
92 |
| - "PD", |
93 |
| - "SIM", |
94 |
| - # "PGH", |
95 |
| - "NPY", |
96 |
| - "RUF", |
97 |
| -] |
| 119 | +fixable = ["ALL"] |
98 | 120 |
|
99 | 121 | unfixable = []
|
100 |
| - |
101 |
| -exclude = [ |
102 |
| - ".benchmarks", |
103 |
| - ".eggs", |
104 |
| - ".git", |
105 |
| - ".mypy_cache", |
106 |
| - ".pytest_cache", |
107 |
| - ".ruff_cache", |
108 |
| - ".venv", |
109 |
| - "build", |
110 |
| - "dist", |
111 |
| - "venv", |
112 |
| -] |
113 |
| - |
114 | 122 | # Allow unused variables when underscore-prefixed.
|
115 | 123 | dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
116 | 124 |
|
117 | 125 | [tool.ruff.isort]
|
| 126 | +combine-as-imports = true |
118 | 127 | force-single-line = true
|
119 | 128 | single-line-exclusions = ["typing"]
|
120 | 129 | lines-after-imports = 2
|
| 130 | +split-on-trailing-comma = true |
121 | 131 |
|
122 | 132 | [tool.ruff.mccabe]
|
123 | 133 | max-complexity = 10
|
124 | 134 |
|
| 135 | +########################################################## |
| 136 | +# Static analysis configs # |
| 137 | +########################################################## |
125 | 138 | [tool.mypy]
|
126 |
| -python_version = "3.11" |
127 |
| -disallow_incomplete_defs = true |
| 139 | +python_version = "3.12" |
| 140 | +# disallow_incomplete_defs = true |
128 | 141 | explicit_package_bases = true
|
129 | 142 | ignore_missing_imports = true
|
130 | 143 | namespace_packages = true
|
| 144 | +no_strict_optional = true |
131 | 145 | warn_no_return = true
|
132 | 146 | warn_unused_configs = true
|
133 | 147 | warn_unused_ignores = true
|
0 commit comments