1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00
checktheroads-hyperglass/pyproject.toml
2022-12-11 17:30:20 -05:00

121 lines
3.8 KiB
TOML

[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core"]
[tool.poetry]
authors = ["Matt Love <matt@hyperglass.dev>"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Information Technology",
"Operating System :: POSIX :: Linux",
"Programming Language :: JavaScript",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Topic :: Internet",
"Topic :: System :: Networking",
]
description = "hyperglass is the modern network looking glass that tries to make the internet better."
documentation = "https://hyperglass.dev"
homepage = "https://hyperglass.dev"
keywords = ["looking glass", "network automation", "isp", "bgp", "routing"]
license = "BSD-3-Clause-Clear"
name = "hyperglass"
readme = "README.md"
repository = "https://github.com/thatmattlove/hyperglass"
version = "2.0.0-dev"
[tool.poetry.scripts]
hyperglass = "hyperglass.console:run"
[tool.poetry.dependencies]
Pillow = "^8.3.2"
PyJWT = "^2.0.1"
PyYAML = "^5.4.1"
aiofiles = "^0.7.0"
distro = "^1.5.0"
fastapi = "^0.73.0"
favicons = ">=0.1.0,<1.0"
gunicorn = "^20.1.0"
httpx = "^0.20.0"
loguru = "^0.5.3"
netmiko = "^3.4.0"
paramiko = "^2.12.0"
psutil = "^5.7.2"
py-cpuinfo = "^8.0.0"
pydantic = {extras = ["dotenv"], version = "^1.9.0"}
python = ">=3.8.1,<4.0"
redis = "^3.5.3"
rich = "^10.11.0"
typer = "^0.4.0"
typing-extensions = "^3.7.4"
uvicorn = {extras = ["standard"], version = "^0.15.0"}
uvloop = "^0.16.0"
xmltodict = "^0.12.0"
[tool.poetry.group.dev.dependencies]
bandit = "^1.7.4"
black = "^22.12.0"
flake8 = "^6.0.0"
flake8-bandit = "^4.1.1"
flake8-black = "^0.3.5"
flake8-breakpoint = "^1.1.0"
flake8-bugbear = "^22.12.6"
flake8-builtins = "^2.0.1"
flake8-comprehensions = "^3.10.1"
flake8-deprecated = "^2.0.1"
flake8-docstrings = "^1.6.0"
flake8-isort = "^5.0.3"
flake8-plugin-utils = "^1.3.2"
flake8-polyfill = "^1.0.2"
flake8-print = "^5.0.0"
isort = "^5.10.1"
pep8-naming = "^0.13.2"
pre-commit = "^1.21.0"
pytest = "^7.2.0"
pytest-dependency = "^0.5.1"
stackprinter = "^0.2.10"
taskipy = "^1.10.3"
[tool.black]
line-length = 100
[tool.isort]
balanced_wrapping = true
force_single_line = false
import_heading_firstparty = "Project"
import_heading_localfolder = "Local"
import_heading_stdlib = "Standard Library"
import_heading_thirdparty = "Third Party"
include_trailing_comma = true
indent = ' '
known_third_party = ["starlette", "fastapi", "inquirer"]
length_sort = true
line_length = 100
multi_line_output = 3
skip_glob = "hyperglass/api/examples/*.py"
[tool.pyright]
exclude = ["**/node_modules", "**/ui", "**/__pycache__"]
include = ["hyperglass"]
pythonVersion = "3.8"
reportMissingImports = true
reportMissingTypeStubs = true
[tool.taskipy.tasks]
check = {cmd = "task lint && task ui-lint", help = "Run all lint checks"}
format = {cmd = "black hyperglass", help = "Run Black"}
lint = {cmd = "flake8 hyperglass", help = "Run Flake8"}
sort = {cmd = "isort hyperglass", help = "Run iSort"}
start = {cmd = "python3 -m hyperglass.main", help = "Start hyperglass"}
start-asgi = {cmd = "uvicorn hyperglass.api:app", help = "Start hyperglass via Uvicorn"}
test = {cmd = "pytest hyperglass --ignore hyperglass/plugins/external", help = "Run hyperglass tests"}
ui-build = {cmd = "python3 -m hyperglass.console build-ui", help = "Run a UI Build"}
ui-dev = {cmd = "yarn --cwd ./hyperglass/ui/ dev", help = "Start the Next.JS dev server"}
ui-format = {cmd = "yarn --cwd ./hyperglass/ui/ format", help = "Run Prettier"}
ui-lint = {cmd = "yarn --cwd ./hyperglass/ui/ lint", help = "Run ESLint"}
ui-typecheck = {cmd = "yarn --cwd ./hyperglass/ui/ typecheck", help = "Run TypeScript Check"}
upgrade = {cmd = "python3 version.py", help = "Upgrade hyperglass version"}
yarn = {cmd = "yarn --cwd ./hyperglass/ui/", help = "Run a yarn command from the UI directory"}