OpenC3/cosmos

View on GitHub
openc3/python/pyproject.toml

Summary

Maintainability
Test Coverage
[tool.poetry]
name = "openc3"
version = "5.21.0-beta0"
description = "Python support for OpenC3 COSMOS"
authors = ["Support <support@openc3.com>"]
readme = "README.md"
include = ["README.md"]

[tool.poetry.dependencies]
python = "^3.10"
boto3 = "^1.28.34"
cbor2 = "^5.4.6"
certifi = ">=2023.7.22,<2025.0.0"
chardet = "^5.1.0"
lxml = "^4.9.2"
hiredis = "2.2.3"
idna = "^3.7"
jsonpath-ng = "^1.6.0"
requests = "^2.32.3"
redis = {version = "4.6.0", extras = ["hiredis"]}
schedule = "^1.2.0"
websockets = "^11.0.3"


[tool.poetry.group.dev.dependencies]
appdirs = "1.4.4"
atomicwrites = "1.4.1"
attrs = "23.1.0"
black = "24.3.0"
boto3 = "1.28.34"
certifi = "2024.7.4"
chardet = "5.1.0"
click = "8.1.3"
colorama = "0.4.6"
coverage = "7.2.7"
fakeredis = "2.19.0"
flake8 = "6.0.0"
idna = "3.7"
iniconfig = "2.0.0"
mccabe = "0.7.0"
moto = "4.2.0"
mypy-extensions = "1.0.0"
packaging = "23.1"
pathspec = "0.11.1"
pluggy = "1.0.0"
py = "1.11.0"
pycodestyle = "2.10.0"
pyflakes = "3.0.1"
pyparsing = "3.0.9"
pytest = "7.3.1"
regex = "2023.6.3"
toml = "0.10.2"
websockets = "11.0.3"
sphinx = "7.0.1"
ruff = "0.0.282"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


[tool.black]
line-length = 120
target-version = ['py310']
include = '\.pyi?$'
exclude = '''

(
  /(
      \.eggs         # exclude a few common directories in the
    | \.git          # root of the project
    | \.hg
    | \.mypy_cache
    | \.tox
    | \.venv
    | _build
    | buck-out
    | build
    | dist
  )/
  | foo.py           # also separately exclude a file named foo.py in
                     # the root of the project
)
'''

[tool.ruff]
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
select = ["E", "F"]
ignore = ["E402","E501","F402","F403","F405"]

# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
unfixable = []

# 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",
]

# Same as Black.
line-length = 120

# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

# Assume Python 3.10.
target-version = "py310"

[tool.ruff.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10