remarshal/pyproject.toml

146 lines
4.0 KiB
TOML

[tool.poetry]
name = "Remarshal"
version = "0.17.0"
description = "Convert between CBOR, JSON, MessagePack, TOML, and YAML"
authors = ["D. Bohdan <dbohdan@dbohdan.com>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/remarshal-project/remarshal"
keywords = ["converter", "cbor", "json", "messagepack", "msgpack", "toml", "yaml"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Topic :: File Formats",
"Topic :: File Formats :: JSON",
"Topic :: Utilities"
]
[tool.poetry.dependencies]
python = "^3.8"
cbor2 = "^5.4"
python-dateutil = "^2.8"
PyYAML = "^6.0"
tomlkit = "^0.12"
u-msgpack-python = "^2.8"
pytest = "^7.4.0"
[tool.poetry.dev-dependencies]
pytest = "^7.4"
[tool.poetry.group.dev.dependencies]
black = "^23.3.0"
ruff = "^0.0.277"
types-python-dateutil = "^2.8.19.13"
types-pyyaml = "^6.0.12.10"
codespell = {extras = ["toml"], version = "^2.2.5"}
pyright = "^1.1.318"
[build-system]
requires = ["poetry-core>=1.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
remarshal = 'remarshal:main'
cbor2cbor = 'remarshal:main'
cbor2json = 'remarshal:main'
cbor2msgpack = 'remarshal:main'
cbor2toml = 'remarshal:main'
cbor2yaml = 'remarshal:main'
json2cbor = 'remarshal:main'
json2json = 'remarshal:main'
json2msgpack = 'remarshal:main'
json2toml = 'remarshal:main'
json2yaml = 'remarshal:main'
msgpack2cbor = 'remarshal:main'
msgpack2json = 'remarshal:main'
msgpack2msgpack = 'remarshal:main'
msgpack2toml = 'remarshal:main'
msgpack2yaml = 'remarshal:main'
toml2cbor = 'remarshal:main'
toml2json = 'remarshal:main'
toml2msgpack = 'remarshal:main'
toml2toml = 'remarshal:main'
toml2yaml = 'remarshal:main'
yaml2cbor = 'remarshal:main'
yaml2json = 'remarshal:main'
yaml2msgpack = 'remarshal:main'
yaml2toml = 'remarshal:main'
yaml2yaml = 'remarshal:main'
[tool.ruff]
select = [
"A", # flake8-builtins
"AIR", # Airflow
"ARG", # flake8-unused-arguments
"ASYNC", # flake8-async
"B", # flake8-bugbear
"BLE", # flake8-blind-except
"C4", # flake8-comprehensions
"C90", # McCabe cyclomatic complexity
"CPY", # Copyright-related rules
"DTZ", # flake8-datetimez
"E", # pycodestyle
"EM", # flake8-errmsg
"EXE", # flake8-executable
"F", # Pyflakes
"FA", # flake8-future-annotations
"FBT", # flake8-boolean-trap
"FIX", # flake8-fixme
"FLY", # flynt
"G", # flake8-logging-format
"I", # isort
"ICN", # flake8-import-conventions
"INP", # flake8-no-pep420
"INT", # flake8-gettext
"ISC", # flake8-implicit-str-concat
"N", # pep8-naming
"PERF", # Perflint
"PGH", # pygrep-hooks
"PIE", # flake8-pie
"PL", # Pylint
"PT", # flake8-pytest-style
"PYI", # flake8-pyi
"RET", # flake8-return
"RSE", # flake8-raise
"RUF", # Ruff-specific rules
"S", # flake8-bandit
"SIM", # flake8-simplify
"SLF", # flake8-self
"SLOT", # flake8-slots
"T10", # flake8-debugger
"T20", # flake8-print
"TCH", # flake8-type-checking
"TD", # flake8-todos
"TID", # flake8-tidy-imports
"W", # pycodestyle
"YTT", # flake8-2020
# "ANN", # flake8-annotations
# "COM", # flake8-commas
# "D", # pydocstyle
# "DJ", # flake8-django
# "ERA", # eradicate
# "NPY", # NumPy-specific rules
# "PD", # pandas-vet
# "PTH", # flake8-use-pathlib
# "Q", # flake8-quotes
# "TRY", # tryceratops
# "UP", # pyupgrade
]
ignore = ["A002", "B006", "FBT002", "PGH003"]
target-version = "py37"
[tool.ruff.mccabe]
max-complexity = 14
[tool.ruff.pylint]
allow-magic-value-types = ["int", "str"]
max-args = 11
max-branches = 19
[tool.ruff.per-file-ignores]
"remarshal.py" = ["ARG001", "B904", "EM103", "RET506", "S506", "SIM115"]
"tests/test_remarshal.py" = ["F841", "PT011"]
"tests/*" = ["S101"]