| # 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. |
| |
| [project] |
| name = "python_examples" |
| version = "0.1.0" |
| description = "Examples for the Iggy Python SDK" |
| readme = "README.md" |
| requires-python = ">=3.10" |
| dependencies = [ |
| "apache-iggy", |
| "argparse==1.4.0", |
| "loguru==0.7.3", |
| "pyrefly>=1.1.1", |
| "ruff>=0.15.19", |
| ] |
| |
| [tool.ruff.lint] |
| select = [ |
| "S", # detects usage of commands like `exec()` and `eval()`. Also usage of `pickle`, `marshal`, etc. |
| "B", # flake8-bugbear rule family for likely bugs and unsafe exception patterns |
| "E", # pycodestyle errors: basic PEP 8 style violations |
| "F", # Pyflakes: undefined names, unused imports, and other logic issues |
| "W", # pycodestyle warnings: whitespace and other style warnings |
| "I", # isort: import sorting and grouping rules |
| "T10", # flake8-debugger: debugger statements like pdb or breakpoint |
| "C4", # flake8-comprehensions: unnecessary or suboptimal comprehensions |
| "ARG", # flake8-unused-arguments: unused function arguments |
| "SIM", # flake8-simplify: simplify redundant logic and expressions |
| "UP", # pyupgrade: use newer, simpler Python syntax |
| ] |
| |
| [tool.uv.sources] |
| apache-iggy = { path = "../../foreign/python" } |
| |
| [tool.uv] |
| exclude-newer = "7 days" |
| |
| [tool.pyrefly] |
| project-includes = [ |
| "**/*.py*", |
| ] |