Adding upstream version 0.8.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
b16cc97368
commit
55e5e7ac79
49 changed files with 4592 additions and 0 deletions
189
pyproject.toml
Normal file
189
pyproject.toml
Normal file
|
@ -0,0 +1,189 @@
|
|||
# content of pyproject.toml
|
||||
|
||||
[build-system]
|
||||
requires = ["setuptools>=64.0.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "eos_downloader"
|
||||
version = "v0.8.1-dev1"
|
||||
readme = "README.md"
|
||||
authors = [{ name = "Thomas Grimonet", email = "thomas.grimonet@gmail.com" }]
|
||||
maintainers = [
|
||||
{ name = "Thomas Grimonet", email = "thomas.grimonet@gmail.com" },
|
||||
]
|
||||
description = "Arista EOS/CVP downloader script"
|
||||
license = { file = "LICENSE" }
|
||||
dependencies = [
|
||||
"cryptography",
|
||||
"paramiko",
|
||||
"requests>=2.20.0",
|
||||
"requests-toolbelt",
|
||||
"scp",
|
||||
"tqdm",
|
||||
"loguru",
|
||||
"rich==12.0.1",
|
||||
"cvprac>=1.0.7",
|
||||
"click==8.1.3",
|
||||
"click-help-colors==0.9.1",
|
||||
"pydantic==1.10.4",
|
||||
]
|
||||
keywords = ["eos_downloader", "Arista", "eos", "cvp", "network", "automation", "networking", "devops", "netdevops"]
|
||||
classifiers = [
|
||||
'Development Status :: 4 - Beta',
|
||||
'Intended Audience :: Developers',
|
||||
'Intended Audience :: System Administrators',
|
||||
'Intended Audience :: Information Technology',
|
||||
'Topic :: System :: Software Distribution',
|
||||
'Topic :: Terminals',
|
||||
'Topic :: Utilities',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.8',
|
||||
'Programming Language :: Python :: 3.9',
|
||||
'Programming Language :: Python :: 3.10',
|
||||
'Programming Language :: Python :: 3 :: Only',
|
||||
'Programming Language :: Python :: Implementation :: PyPy',
|
||||
]
|
||||
requires-python = ">=3.8"
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"isort==5.12.0",
|
||||
"mypy==0.991",
|
||||
"mypy-extensions>=0.4.3",
|
||||
"pre-commit>=2.20.0",
|
||||
"pylint",
|
||||
"pytest>=7.1.2",
|
||||
"pytest-cov>=2.11.1",
|
||||
"pytest-dependency",
|
||||
"pytest-html>=3.1.1",
|
||||
"pytest-metadata>=1.11.0",
|
||||
"pylint-pydantic>=0.1.4",
|
||||
"tox==4.0.11",
|
||||
"types-PyYAML",
|
||||
"types-paramiko",
|
||||
"types-requests",
|
||||
"typing-extensions",
|
||||
"yamllint",
|
||||
"flake8==4.0.1",
|
||||
"pyflakes==2.4.0"
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://www.github.com/titom73/eos-downloader"
|
||||
"Bug Tracker" = "https://www.github.com/titom73/eos-downloader/issues"
|
||||
Contributing = "https://www.github.com/titom73/eos-downloader"
|
||||
|
||||
[project.scripts]
|
||||
ardl = "eos_downloader.cli.cli:cli"
|
||||
lard = "eos_downloader.cli.cli:cli"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
include = ["eos_downloader*"]
|
||||
namespaces = false
|
||||
|
||||
# mypy as per https://pydantic-docs.helpmanual.io/mypy_plugin/#enabling-the-plugin
|
||||
[tool.mypy]
|
||||
plugins = [
|
||||
"pydantic.mypy",
|
||||
]
|
||||
follow_imports = "skip"
|
||||
ignore_missing_imports = true
|
||||
warn_redundant_casts = true
|
||||
# Note: tox find some unused type ignore which are required for pre-commit.. to
|
||||
# investigate
|
||||
# warn_unused_ignores = true
|
||||
disallow_any_generics = true
|
||||
check_untyped_defs = true
|
||||
no_implicit_reexport = true
|
||||
strict_optional = true
|
||||
|
||||
# for strict mypy: (this is the tricky one :-))
|
||||
disallow_untyped_defs = true
|
||||
|
||||
mypy_path = "eos_downloader"
|
||||
|
||||
[tool.pydantic-mypy]
|
||||
init_forbid_extra = true
|
||||
init_typed = true
|
||||
warn_required_dynamic_aliases = true
|
||||
warn_untyped_fields = true
|
||||
|
||||
|
||||
[tool.tox]
|
||||
legacy_tox_ini = """
|
||||
[tox]
|
||||
min_version = 4.0
|
||||
envlist =
|
||||
clean,
|
||||
lint,
|
||||
type
|
||||
|
||||
|
||||
[tox-full]
|
||||
min_version = 4.0
|
||||
envlist =
|
||||
clean,
|
||||
py{38,39,310},
|
||||
lint,
|
||||
type,
|
||||
report
|
||||
|
||||
[gh-actions]
|
||||
python =
|
||||
3.8: lint, type
|
||||
3.9: lint, type
|
||||
3.10: lint, type
|
||||
|
||||
[gh-actions-full]
|
||||
python =
|
||||
3.8: py38
|
||||
3.9: py39
|
||||
3.10: py310, lint, type, coverage
|
||||
|
||||
[testenv]
|
||||
description = run the test driver with {basepython}
|
||||
extras = dev
|
||||
commands =
|
||||
pytest -rA -q --cov-report term:skip-covered --cov-report term:skip-covered --html=report.html --self-contained-html --cov-report=html --color yes --cov=eos_downloader
|
||||
|
||||
[testenv:lint]
|
||||
description = check the code style
|
||||
commands =
|
||||
flake8 --max-line-length=165 --config=/dev/null eos_downloader
|
||||
pylint eos_downloader
|
||||
|
||||
[testenv:type]
|
||||
description = check typing
|
||||
commands =
|
||||
type: mypy --config-file=pyproject.toml eos_downloader
|
||||
|
||||
[testenv:clean]
|
||||
deps = coverage[toml]
|
||||
skip_install = true
|
||||
commands = coverage erase
|
||||
|
||||
[testenv:report]
|
||||
deps = coverage[toml]
|
||||
commands = coverage report
|
||||
# add the following to make the report fail under some percentage
|
||||
# commands = coverage report --fail-under=80
|
||||
depends = py310
|
||||
|
||||
"""
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
addopts = "-ra -q -s -vv --capture=tee-sys --cov --cov-append"
|
||||
log_level = "INFO"
|
||||
log_cli = "True"
|
||||
|
||||
[tool.coverage.run]
|
||||
source = ['eos_downloader']
|
||||
# omit = []
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
line_length = 165
|
Loading…
Add table
Add a link
Reference in a new issue