openc3/python/pyproject.toml
[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