|
| 1 | +[build-system] |
| 2 | +requires = ["poetry-core"] |
| 3 | +build-backend = "poetry.core.masonry.api" |
| 4 | + |
| 5 | +[tool.poetry] |
| 6 | +name = "pycm" |
| 7 | +version = "1.0.0" |
| 8 | +description = "Command-line tool for checking Python compatibility" |
| 9 | +license = "MIT" |
| 10 | +authors = [ |
| 11 | + "Cyrus Leung <[email protected]>", |
| 12 | +] |
| 13 | +homepage = "https://github.com/DarkLight1337/pycm" |
| 14 | +repository = "https://github.com/DarkLight1337/pycm" |
| 15 | +keywords = [ |
| 16 | + "cli", "dependencies" |
| 17 | +] |
| 18 | +classifiers = [ |
| 19 | + "License :: OSI Approved :: MIT License", |
| 20 | + "Software Development :: Libraries :: Python Modules", |
| 21 | +] |
| 22 | + |
| 23 | +[tool.poetry.scripts] |
| 24 | +pycm = "pycm:cli" |
| 25 | + |
| 26 | +[tool.poetry.dependencies] |
| 27 | +python = "^3.8" |
| 28 | + |
| 29 | +click = ">=8.1" |
| 30 | +pandas = ">=2.0" |
| 31 | + |
| 32 | +[tool.poetry.group.dev] |
| 33 | +optional = true |
| 34 | + |
| 35 | +[tool.poetry.group.dev.dependencies] |
| 36 | +deptry = ">=0.14" |
| 37 | +ruff = ">=0.3" |
| 38 | +pyright = ">=1.1.354" |
| 39 | + |
| 40 | +[tool.deptry] |
| 41 | +extend_exclude = ["__pycache__"] |
| 42 | + |
| 43 | +[tool.deptry.per_rule_ignores] |
| 44 | +DEP001 = ["_typeshed", "pkg_resources"] |
| 45 | + |
| 46 | +[tool.ruff] |
| 47 | +line-length = 100 |
| 48 | +target-version = "py38" |
| 49 | + |
| 50 | +[tool.ruff.lint] |
| 51 | +select = [ |
| 52 | + # Pyflakes |
| 53 | + "F", |
| 54 | + # pycodestyle |
| 55 | + "E", "W", |
| 56 | + # flake8-boolean-trap |
| 57 | + "FBT", |
| 58 | + # flake8-bugbear |
| 59 | + "B", |
| 60 | + # flake8-builtins |
| 61 | + "A", |
| 62 | + # flake8-commas |
| 63 | + "COM", |
| 64 | + # flake8-comprehensions |
| 65 | + "C4", |
| 66 | + # flake8-datetimez |
| 67 | + "DTZ", |
| 68 | + # flake8-debugger |
| 69 | + "T10", |
| 70 | + # flake8-errmsg |
| 71 | + "EM", |
| 72 | + # flake8-future-annotations |
| 73 | + "FA", |
| 74 | + # flake8-implicit-str-concat |
| 75 | + "ISC", |
| 76 | + # flake8-import-conventions |
| 77 | + "ICN", |
| 78 | + # flake8-logging |
| 79 | + "LOG", |
| 80 | + # flake8-logging-format |
| 81 | + "G", |
| 82 | + # flake8-no-pep420 |
| 83 | + "INP", |
| 84 | + # flake8-pie |
| 85 | + "PIE", |
| 86 | + # flake8-print |
| 87 | + "T20", |
| 88 | + # flake8-raise |
| 89 | + "RSE", |
| 90 | + # flake8-simplify |
| 91 | + "SIM", |
| 92 | + # flake8-use-pathlib |
| 93 | + "PTH", |
| 94 | + # NumPy-specific rules |
| 95 | + "NPY", |
| 96 | + # Pandas-specific rules |
| 97 | + "PD", |
| 98 | + # Ruff-specific rules |
| 99 | + "RUF", |
| 100 | + # isort |
| 101 | + "I", |
| 102 | + # pydocstyle |
| 103 | + "D", |
| 104 | + # pyupgrade |
| 105 | + "UP", |
| 106 | +] |
| 107 | +ignore = [ |
| 108 | + "F403", "F405", |
| 109 | + "E501", |
| 110 | + "SIM102", "SIM117", "SIM118", |
| 111 | + "PIE790", |
| 112 | + "D1", "D205", "D401", |
| 113 | +] |
| 114 | + |
| 115 | +[tool.ruff.lint.per-file-ignores] |
| 116 | +"__init__.py" = ["F401"] |
| 117 | + |
| 118 | +[tool.ruff.lint.flake8-builtins] |
| 119 | +builtins-ignorelist = ["copyright", "hash", "id", "type"] |
| 120 | + |
| 121 | +[tool.ruff.lint.flake8-comprehensions] |
| 122 | +allow-dict-calls-with-keyword-arguments = true |
| 123 | + |
| 124 | +[tool.ruff.lint.isort] |
| 125 | +classes = [ |
| 126 | + # Standard library |
| 127 | + "ABC", "IO", |
| 128 | +] |
| 129 | +extra-standard-library = ["typing_extensions"] |
| 130 | + |
| 131 | +section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"] |
| 132 | +combine-as-imports = true |
| 133 | +force-sort-within-sections = true |
| 134 | + |
| 135 | +[tool.ruff.lint.pydocstyle] |
| 136 | +convention = "numpy" |
| 137 | + |
| 138 | +[tool.ruff.lint.pyupgrade] |
| 139 | +keep-runtime-typing = true |
| 140 | + |
| 141 | +[tool.pyright] |
| 142 | +# These are set to "error" in "strict" mode |
| 143 | +reportConstantRedefinition = "warning" |
| 144 | +reportDeprecated = "warning" |
| 145 | +reportDuplicateImport = "warning" |
| 146 | +reportFunctionMemberAccess = "warning" |
| 147 | +reportIncompatibleMethodOverride = "warning" |
| 148 | +reportIncompatibleVariableOverride = "warning" |
| 149 | +reportIncompleteStub = "warning" |
| 150 | +reportInconsistentConstructor = "warning" |
| 151 | +reportInvalidStubStatement = "warning" |
| 152 | +reportMatchNotExhaustive = "warning" |
| 153 | +reportMissingParameterType = "warning" |
| 154 | +reportMissingTypeArgument = "warning" |
| 155 | +reportOverlappingOverload = "warning" |
| 156 | +reportPrivateUsage = "warning" |
| 157 | +reportTypeCommentUsage = "warning" |
| 158 | +# reportUnknownArgumentType = "warning" |
| 159 | +# reportUnknownLambdaType = "warning" |
| 160 | +# reportUnknownMemberType = "warning" |
| 161 | +# reportUnknownParameterType = "warning" |
| 162 | +# reportUnknownVariableType = "warning" |
| 163 | +reportUnnecessaryCast = "warning" |
| 164 | +reportUnnecessaryComparison = "warning" |
| 165 | +reportUnnecessaryContains = "warning" |
| 166 | +reportUnnecessaryIsInstance = "warning" |
| 167 | +# reportUnusedClass = "warning" |
| 168 | +reportUnusedImport = "warning" |
| 169 | +# reportUnusedFunction = "warning" |
| 170 | +reportUnusedVariable = "warning" |
| 171 | +reportUntypedBaseClass = "warning" |
| 172 | +reportUntypedClassDecorator = "warning" |
| 173 | +reportUntypedFunctionDecorator = "warning" |
| 174 | +reportUntypedNamedTuple = "warning" |
| 175 | + |
| 176 | +# These are set to "none" even in "strict" mode |
| 177 | +reportCallInDefaultInitializer = "warning" |
| 178 | +# reportImplicitOverride = "warning" |
| 179 | +reportImplicitStringConcatenation = "warning" |
| 180 | +# reportImportCycles = "warning" |
| 181 | +reportMissingSuperCall = "warning" |
| 182 | +reportPropertyTypeMismatch = "warning" |
| 183 | +reportShadowedImports = "warning" |
| 184 | +reportUninitializedInstanceVariable = "warning" |
| 185 | +reportUnnecessaryTypeIgnoreComment = "information" |
| 186 | +# reportUnusedCallResult = "warning" |
0 commit comments