-
Notifications
You must be signed in to change notification settings - Fork 1
Upgrade dependencies #114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Upgrade dependencies #114
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
19260f9
chore: batch upgrade patch dependencies
voj adb0da2
chore: upgrade black from 26.1.0 to 26.3.1
voj 0f87aa5
chore: upgrade certifi from 2026.1.4 to 2026.2.25
voj b783482
chore: upgrade fonttools from 4.61.1 to 4.62.1
voj 71e02bc
chore: upgrade kiwisolver from 1.4.9 to 1.5.0
voj 9782010
chore: upgrade pandera from 0.28.1 to 0.30.1
voj 34fb0d4
chore: upgrade platformdirs from 4.5.1 to 4.9.4
voj ba9fb51
chore: upgrade pooch from 1.8.2 to 1.9.0
voj e49ce1c
chore: upgrade typeguard from 4.4.4 to 4.5.1
voj ff3caa0
chore: upgrade pyvista from 0.46.5 to 0.47.1
voj 5a2b778
chore: upgrade packaging from 25.0 to 26.0
voj 4a28f84
chore: upgrade pytz from 2025.2 to 2026.1
voj 44b39d8
chore: update CHANGELOG with dependency upgrades
voj ad9ded8
manual fixes
voj 4daf4bb
tests unreliably fail and pass on GitHub
voj 8500207
tests unreliably fail and pass on GitHub
voj 945544d
shorten changelog
voj 3f2bc2f
Bump version: 1.3.1 → 1.3.2
voj aa7951f
bump changelog
voj File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -115,3 +115,5 @@ ENV/ | |
|
|
||
| # mkdocs build dir | ||
| site/ | ||
| audit.txt | ||
| .claude/settings.local.json | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| # CLAUDE.md | ||
|
|
||
| This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. | ||
|
|
||
| ## Project Overview | ||
|
|
||
| Solvis is a Python library for analysis of OpenSHA Modular Fault System Solution files, used for New Zealand National Seismic Hazard Model (NSHM) research. License: AGPL-3.0-or-later. | ||
|
|
||
| ## Development Commands | ||
|
|
||
| ### Setup | ||
| ``` | ||
| pyenv local 3.10 | ||
| poetry env use 3.10 | ||
| poetry sync --all-groups | ||
| ``` | ||
|
|
||
| ### Testing | ||
| - `poetry run pytest` — run all tests | ||
| - `poetry run pytest test/<file>.py` — run a single test file | ||
| - `poetry run pytest -k <keyword>` — filter tests by name | ||
| - `poetry run tox` — full QA suite (tests across Python 3.10/3.11/3.12, lint, format) | ||
| - `poetry run tox -e py310` — tests with coverage for a specific Python version | ||
|
|
||
| ### Code Quality | ||
| - `poetry run tox -e format` — apply formatting (black + isort) | ||
| - `poetry run tox -e lint` — lint and type checking (flake8 + mypy) | ||
| - `poetry run black solvis test` — format code (line-length 120, skip string normalization) | ||
| - `poetry run isort solvis test` — sort imports | ||
| - `poetry run mypy solvis test` — type checking (uses pandera plugin) | ||
|
|
||
| ### Documentation | ||
| - `mkdocs serve` — preview docs locally | ||
|
|
||
| ## Architecture | ||
|
|
||
| ### Core Classes (solvis/solution/) | ||
| - **InversionSolution** (`inversion_solution/`) — interface to a single OpenSHA inversion solution archive (zip file). Loads ruptures, fault sections, rates as DataFrames. | ||
| - **FaultSystemSolution** (`fault_system_solution/`) — aggregates multiple InversionSolutions sharing the same rupture set. | ||
| - **CompositeSolution** (`composite_solution.py`) — container for a complete NSHM model and its logic tree. | ||
|
|
||
| All three are exported from `solvis/__init__.py`. | ||
|
|
||
| ### Filters (solvis/filter/) | ||
| Chainable, set-like filter classes for selecting ruptures: | ||
| - `RuptureIdFilter` — filter by rupture ID | ||
| - `ParentFaultIdFilter` — filter by parent fault | ||
| - `SubsectionIdFilter` — filter by subsection | ||
| - All inherit from `ChainableSetBase` and support set operations (union, intersection, difference). | ||
|
|
||
| ### Key Modules | ||
| - `solvis/solution/dataframe_models.py` — Pandera DataFrameModel schemas for runtime DataFrame validation | ||
| - `solvis/solution/solution_participation.py` — rupture participation rate calculations | ||
| - `solvis/solution/solution_surfaces_builder.py` — geometry building for fault surfaces | ||
| - `solvis/solution/typing.py` — Protocol definitions for interfaces | ||
| - `solvis/geometry.py` — geometric calculations (Shapely-based; optional pyvista for 3D) | ||
| - `solvis/utils.py` — utilities including MFD histogram generation and GeoJSON export | ||
| - `solvis/scripts/cli.py` — Click-based CLI | ||
|
|
||
| ### Dependencies | ||
| Core: geopandas, pandas, pandera, pyproj, nzshm-common, nzshm-model. Optional: pyvista (vtk extra), shapely (demo extra). | ||
|
|
||
| ## Code Conventions | ||
|
|
||
| - **Line length:** 120 characters | ||
| - **Docstrings:** Google style | ||
| - **Formatting:** black (skip-string-normalization) + isort | ||
| - **Linting:** flake8 (max-complexity 18) + mypy with pandera plugin | ||
| - **Test framework:** pytest with markers: `slow`, `performance`, `TODO_check_values` | ||
| - **Test fixtures:** test archives in `test/fixtures/`; fixtures defined in `test/conftest.py` | ||
| - **DataFrame validation:** Use Pandera DataFrameModel schemas for any new DataFrame structures | ||
| - **TYPE_CHECKING guards:** Used throughout for imports only needed by type checkers |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.