[build-system] build-backend = "poetry.masonry.api" requires = ["poetry>=0.12"] [tool.poetry] authors = ["Matt Love "] 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:CLI" [tool.poetry.dependencies] Pillow = "^7.2" PyJWT = "^2.0.1" PyYAML = "^5.4.1" aiofiles = "^0.7.0" cryptography = "3.0.0" distro = "^1.5.0" fastapi = "^0.63.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.7.2" psutil = "^5.7.2" py-cpuinfo = "^7.0.0" pydantic = {extras = ["dotenv"], version = "^1.8.2"} 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.13.4"} uvloop = "^0.14.0" xmltodict = "^0.12.0" [tool.poetry.dev-dependencies] bandit = "^1.6.2" black = "^19.10b0" flake8 = "^3.8" flake8-bandit = "^2.1.2" flake8-black = "^0.1.1" flake8-breakpoint = "^1.1.0" flake8-bugbear = "^20.1.0" flake8-builtins = "^1.4.2" flake8-comprehensions = "^3.1.4" flake8-deprecated = "^1.3" flake8-docstrings = "^1.5.0" flake8-eradicate = "^0.2.4" flake8-if-expr = "^1.0.0" flake8-isort = "^4.0.0" flake8-pie = "^0.4.2" flake8-plugin-utils = "^1.3.1" flake8-polyfill = "^1.0.2" flake8-print = "^3.1.4" isort = "^5.5.3" mccabe = "^0.6.1" pep8-naming = "^0.9.1" pre-commit = "^1.21.0" pytest = "^6.2.5" pytest-dependency = "^0.5.1" stackprinter = "^0.2.3" taskipy = "^1.8.2" [tool.black] line-length = 100 [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"} 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"}