refactor: unify and modernize periodic table utilities and typing

- Replace atomsymb and atommass tuples with AtomInfo dataclass and PTable enum for atomic data
- Refactor all usages to access atomic symbol and mass via PTable methods
- Remove nptyping dependency, switch to numpy.typing for type annotations
- Update molecule and atom classes to use new typing and atomic data access
- Bump numpy version to 2.x and remove nptyping from dependencies
This commit is contained in:
2026-02-27 17:56:11 -03:00
parent b6e57bc1c5
commit d400970e8f
8 changed files with 242 additions and 356 deletions

View File

@@ -18,11 +18,10 @@ version = "0.0.0"
[tool.poetry.dependencies]
numpy = "^1.26.4"
numpy = "^2.0.2"
argparse = "^1.4.0"
setproctitle = "^1.3.2"
pyyaml = "^6.0"
nptyping = "^2.5.0"
pydantic = "^2.12.5"
typing-extensions = "^4.15.0"
@@ -65,6 +64,9 @@ omit = [
# Linters
[tool.ruff.lint]
extend-select = ["I"]
ignore = [
"E741" # ambiguous variable name 'l', 'O', or 'I'
]
[tool.ruff.lint.isort]
known-first-party = ["jambo"]