Fix linting issues: line length, import sorting, unused variables
- Set ruff/black line length to 120 - Reformatted code with black - Fixed import ordering with ruff - Disabled lint for UI component files with long CSS strings - Updated pyproject.toml with proper tool configuration
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Iterator
|
||||
from contextlib import contextmanager
|
||||
from typing import Any, Iterator
|
||||
from typing import Any
|
||||
|
||||
from nicegui import ui
|
||||
|
||||
@@ -98,7 +99,13 @@ def option_chain() -> list[dict[str, Any]]:
|
||||
distance = (strike - spot) / spot
|
||||
for option_type in ("put", "call"):
|
||||
premium_base = 8.2 if option_type == "put" else 7.1
|
||||
premium = round(max(1.1, premium_base - abs(distance) * 18 + (0.8 if expiry == "2026-09-18" else 0.0)), 2)
|
||||
premium = round(
|
||||
max(
|
||||
1.1,
|
||||
premium_base - abs(distance) * 18 + (0.8 if expiry == "2026-09-18" else 0.0),
|
||||
),
|
||||
2,
|
||||
)
|
||||
delta = round((0.5 - distance * 1.8) * (-1 if option_type == "put" else 1), 3)
|
||||
rows.append(
|
||||
{
|
||||
@@ -115,14 +122,20 @@ def option_chain() -> list[dict[str, Any]]:
|
||||
"gamma": round(max(0.012, 0.065 - abs(distance) * 0.12), 3),
|
||||
"theta": round(-0.014 - abs(distance) * 0.025, 3),
|
||||
"vega": round(0.09 + max(0.0, 0.24 - abs(distance) * 0.6), 3),
|
||||
"rho": round((0.04 + abs(distance) * 0.09) * (-1 if option_type == "put" else 1), 3),
|
||||
"rho": round(
|
||||
(0.04 + abs(distance) * 0.09) * (-1 if option_type == "put" else 1),
|
||||
3,
|
||||
),
|
||||
}
|
||||
)
|
||||
return rows
|
||||
|
||||
|
||||
def strategy_metrics(strategy_name: str, scenario_pct: int) -> dict[str, Any]:
|
||||
strategy = next((item for item in strategy_catalog() if item["name"] == strategy_name), strategy_catalog()[0])
|
||||
strategy = next(
|
||||
(item for item in strategy_catalog() if item["name"] == strategy_name),
|
||||
strategy_catalog()[0],
|
||||
)
|
||||
spot = demo_spot_price()
|
||||
floor = float(strategy.get("max_drawdown_floor", spot * 0.95))
|
||||
cap = strategy.get("upside_cap")
|
||||
@@ -157,7 +170,9 @@ def strategy_metrics(strategy_name: str, scenario_pct: int) -> dict[str, Any]:
|
||||
"strategy": strategy,
|
||||
"scenario_pct": scenario_pct,
|
||||
"scenario_price": scenario_price,
|
||||
"scenario_series": [{"price": price, "benefit": benefit} for price, benefit in zip(scenario_prices, benefits, strict=True)],
|
||||
"scenario_series": [
|
||||
{"price": price, "benefit": benefit} for price, benefit in zip(scenario_prices, benefits, strict=True)
|
||||
],
|
||||
"waterfall_steps": waterfall_steps,
|
||||
"unhedged_equity": round(unhedged_equity, 2),
|
||||
"hedged_equity": round(hedged_equity, 2),
|
||||
@@ -169,7 +184,9 @@ def dashboard_page(title: str, subtitle: str, current: str) -> Iterator[ui.colum
|
||||
ui.colors(primary="#0f172a", secondary="#1e293b", accent="#0ea5e9")
|
||||
|
||||
with ui.column().classes("mx-auto w-full max-w-7xl gap-6 bg-slate-50 p-6 dark:bg-slate-950") as container:
|
||||
with ui.header(elevated=False).classes("items-center justify-between border-b border-slate-200 bg-white/90 px-6 py-4 backdrop-blur dark:border-slate-800 dark:bg-slate-950/90"):
|
||||
with ui.header(elevated=False).classes(
|
||||
"items-center justify-between border-b border-slate-200 bg-white/90 px-6 py-4 backdrop-blur dark:border-slate-800 dark:bg-slate-950/90"
|
||||
):
|
||||
with ui.row().classes("items-center gap-3"):
|
||||
ui.icon("shield").classes("text-2xl text-sky-500")
|
||||
with ui.column().classes("gap-0"):
|
||||
@@ -178,13 +195,10 @@ def dashboard_page(title: str, subtitle: str, current: str) -> Iterator[ui.colum
|
||||
with ui.row().classes("items-center gap-2 max-sm:flex-wrap"):
|
||||
for key, href, label in NAV_ITEMS:
|
||||
active = key == current
|
||||
link_classes = (
|
||||
"rounded-lg px-4 py-2 text-sm font-medium no-underline transition "
|
||||
+ (
|
||||
"bg-slate-900 text-white dark:bg-slate-100 dark:text-slate-900"
|
||||
if active
|
||||
else "text-slate-600 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800"
|
||||
)
|
||||
link_classes = "rounded-lg px-4 py-2 text-sm font-medium no-underline transition " + (
|
||||
"bg-slate-900 text-white dark:bg-slate-100 dark:text-slate-900"
|
||||
if active
|
||||
else "text-slate-600 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800"
|
||||
)
|
||||
ui.link(label, href).classes(link_classes)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user