|
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