plot_envelope.py grows a --show flag. With it, matplotlib's WebAgg backend spins up a localhost server with a real interactive figure (zoom, pan, hover, axes lock) — equivalent to a matlab plot window without needing tkinter or Qt locally. tools/show_envelope.sh is a NixOS-aware wrapper: it locates libstdc++.so.6 in /nix/store (numpy's prebuilt wheel needs it on LD_LIBRARY_PATH) and then exec's the python script with --show. Default port 8988, override via --port. Bound to 0.0.0.0 so the figure is reachable over WG too. tornado is added to dev deps because WebAgg requires it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
518 B
TOML
25 lines
518 B
TOML
[project]
|
|
name = "cis490"
|
|
version = "0.0.1"
|
|
description = "CIS490 behavioral malware detection — dataset, transport, training"
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"starlette>=0.36",
|
|
"uvicorn[standard]>=0.27",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8",
|
|
"pytest-asyncio>=0.23",
|
|
"httpx>=0.27",
|
|
"matplotlib>=3.8",
|
|
"tornado>=6", # required by matplotlib's WebAgg interactive backend
|
|
]
|
|
|
|
[tool.uv]
|
|
package = false
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|