Skip to content

Commit 28a0ec0

Browse files
Add _types.py for uncertainty calculator data structures
Introduced a new module, _types.py, containing dataclass definitions for Equation, Variable, and Digits, which are essential for the uncertainty calculator's functionality. Updated imports in calculator, compute, parsing, and rendering modules to utilize the new types. Adjusted the last_unit attribute in UncertaintyCalculator and RenderOptions to accept a string or None, enhancing type flexibility. This update aims to improve code organization and type safety across the project.
1 parent 05e9af2 commit 28a0ec0

6 files changed

Lines changed: 7 additions & 9 deletions

File tree

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,3 @@ def __post_init__(self) -> None:
6767

6868
# Type definitions matching Python 3.12 style
6969
type Variables = Iterable[Variable]
70-
type LastUnit = str | None

src/uncertainty_calculator/calculator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
from __future__ import annotations
44

5+
from uncertainty_calculator._types import Digits, Equation, Variables
56
from uncertainty_calculator.compute import ComputeState, compute
67
from uncertainty_calculator.parsing import ParseState, parse_inputs
78
from uncertainty_calculator.rendering import RenderOptions, render_output
8-
from uncertainty_calculator.types import Digits, Equation, LastUnit, Variables
99
from uncertainty_calculator.validation import validate_inputs
1010

1111

@@ -15,7 +15,7 @@ class UncertaintyCalculator:
1515
def __init__(
1616
self,
1717
digits: Digits,
18-
last_unit: LastUnit,
18+
last_unit: str | None,
1919
separate: bool,
2020
insert: bool,
2121
include_equation_number: bool,

src/uncertainty_calculator/compute.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
from sympy import S, diff, simplify, sqrt
99

10+
from uncertainty_calculator._types import Digits
1011
from uncertainty_calculator.formatting import latex_number
1112
from uncertainty_calculator.parsing import ParseState
12-
from uncertainty_calculator.types import Digits
1313

1414

1515
@dataclass

src/uncertainty_calculator/parsing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
from sympy import Symbol, symbols, sympify
1010

11+
from uncertainty_calculator._types import Equation, Variables
1112
from uncertainty_calculator.formatting import latex_number
12-
from uncertainty_calculator.types import Equation, Variables
1313

1414

1515
@dataclass

src/uncertainty_calculator/rendering.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@
99
from uncertainty_calculator.compute import ComputeState
1010
from uncertainty_calculator.formatting import latex_number, latex_symbol, latex_value
1111
from uncertainty_calculator.parsing import ParseState
12-
from uncertainty_calculator.types import LastUnit
1312

1413

1514
@dataclass
1615
class RenderOptions:
1716
"""Rendering configuration for the output."""
1817

19-
last_unit: LastUnit
18+
last_unit: str | None
2019
separate: bool
2120
insert: bool
2221
include_equation_number: bool

tests/legacy_calculator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
from collections.abc import Iterable, Sequence
99

1010
from sympy import diff, latex, simplify, sqrt, symbols, sympify
11-
from uncertainty_calculator import Digits, LastUnit
11+
from uncertainty_calculator import Digits
1212

1313

1414
def run_legacy_calculator( # noqa: C901
1515
equation: Sequence[str],
1616
variables: Iterable[tuple[str, str]],
1717
digits: Digits,
18-
last_unit: LastUnit,
18+
last_unit: str | None,
1919
separate: bool,
2020
insert: bool,
2121
include_equation_number: bool,

0 commit comments

Comments
 (0)