fix: Resolve Ruff E402 warnings and clean up imports across multiple modules
Some checks failed
CI / lint (push) Successful in 15s
CI / test (push) Failing after 27s
CI / build (push) Has been skipped

This commit is contained in:
2025-11-12 11:10:50 +01:00
parent ce7f4aa776
commit 4cfc5d9ffa
14 changed files with 28 additions and 28 deletions

View File

@@ -1,7 +1,7 @@
from __future__ import annotations
"""Financial calculation helpers for project evaluation metrics."""
from __future__ import annotations
from dataclasses import dataclass
from datetime import date, datetime
from math import isclose, isfinite
@@ -151,7 +151,8 @@ def internal_rate_of_return(
amounts = [amount for amount, _ in flows]
if not any(amount < 0 for amount in amounts) or not any(amount > 0 for amount in amounts):
raise ValueError("cash_flows must include both negative and positive values")
raise ValueError(
"cash_flows must include both negative and positive values")
def _npv_with_flows(rate: float) -> float:
periodic_rate = rate / float(compounds_per_year)
@@ -170,7 +171,8 @@ def internal_rate_of_return(
derivative = 0.0
for amount, periods in flows:
factor = (1.0 + periodic_rate) ** (-periods - 1.0)
derivative += -amount * periods * factor / float(compounds_per_year)
derivative += -amount * periods * \
factor / float(compounds_per_year)
return derivative
rate = float(guess)
@@ -199,7 +201,8 @@ def internal_rate_of_return(
attempts += 1
if lower_value * upper_value > 0:
raise ConvergenceError("IRR could not be bracketed within default bounds")
raise ConvergenceError(
"IRR could not be bracketed within default bounds")
for _ in range(max_iterations * 2):
midpoint = (lower_bound + upper_bound) / 2.0
@@ -245,4 +248,5 @@ def payback_period(
cumulative = next_cumulative
previous_period = periods
raise PaybackNotReachedError("Cumulative cash flow never becomes non-negative")
raise PaybackNotReachedError(
"Cumulative cash flow never becomes non-negative")