| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| src = ['pyiceberg','tests'] |
| extend-exclude = ["dev/provision.py"] |
| |
| # Exclude a variety of commonly ignored directories. |
| exclude = [ |
| ".bzr", |
| ".direnv", |
| ".eggs", |
| ".git", |
| ".git-rewrite", |
| ".hg", |
| ".mypy_cache", |
| ".nox", |
| ".pants.d", |
| ".pytype", |
| ".ruff_cache", |
| ".svn", |
| ".tox", |
| ".venv", |
| "__pypackages__", |
| "_build", |
| "buck-out", |
| "build", |
| "dist", |
| "node_modules", |
| "venv", |
| ] |
| |
| # Ignore _all_ violations. |
| # Same as Black. |
| line-length = 130 |
| |
| [lint] |
| select = [ |
| "E", # pycodestyle |
| "W", # pycodestyle |
| "F", # Pyflakes |
| "B", # flake8-bugbear |
| "PIE", # flake8-pie |
| "C4", # flake8-comprehensions |
| "I", # isort |
| "UP", # pyupgrade |
| ] |
| ignore = ["E501","E203","B024","B028","UP037"] |
| |
| # Allow autofix for all enabled rules (when `--fix`) is provided. |
| fixable = ["ALL"] |
| unfixable = [] |
| |
| per-file-ignores = {} |
| |
| # Allow unused variables when underscore-prefixed. |
| dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" |
| |
| [lint.pyupgrade] |
| # Preserve types, even if a file imports `from __future__ import annotations`. |
| keep-runtime-typing = true |
| |
| [lint.isort] |
| detect-same-package = true |
| lines-between-types = 0 |
| known-first-party = ["pyiceberg", "tests"] |
| section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"] |
| |
| [format] |
| quote-style = "double" |