Dependabot/GitHub actions/davidslusser/actions python ruff 1.0.3 - #83
Merged
AadilLatif merged 5 commits intoJul 15, 2026
Merged
AadilLatif merged 5 commits into
AadilLatif merged 5 commits into
Conversation
- New src/erad/engine/ module with vectorized computation via DuckDB - Custom UDFs: haversine, Holland wind model, earthquake MMI/PGA/PGV, CDF eval - Hazard vector computation as SQL CROSS JOINs (all assets x all models at once) - Fragility curve evaluation via vectorized CDF UDFs - Monte Carlo scenario generation (vectorized numpy path for 50K+ assets) - Export: Parquet (ZSTD), SQLite, CSV, Arrow, DataFrame - Direct array/DataFrame loading path (bypasses Pydantic for 1M+ scale) - Preserves existing API: HazardSimulator.run() with engine='duckdb'|'legacy' - hydrate=False option skips Pydantic object creation for scale workloads - Benchmark: 1M assets x 1 earthquake in ~60s (load + compute + export)
AadilLatif
deleted the
dependabot/github_actions/davidslusser/actions_python_ruff-1.0.3
branch
July 15, 2026 23:42
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request introduces a high-performance, DuckDB-powered simulation engine to ERAD, enabling scalable, vectorized computations for simulations involving millions of assets. It adds new documentation, updates dependencies, and provides multiple ways to load assets and export results, all while maintaining the existing API for backward compatibility.
Major feature: DuckDB-powered simulation engine
SimulationEngineinsrc/erad/engine/core.pyand exposed it viasrc/erad/engine/__init__.py, enabling vectorized, parallelized hazard simulations using DuckDB. This engine replaces Python loops with SQL operations and custom UDFs, supporting direct loading from arrays or DataFrames, and multiple export formats. [1] [2]Documentation updates
docs/_toc.yml) and a comprehensivenew_features.ipynbnotebook describing major features, usage examples, and dependency changes for recent versions. [1] [2]Dependency and configuration updates
duckdbandpyarrowas core dependencies inpyproject.tomlto support the new simulation engine.These changes significantly improve ERAD's scalability, performance, and usability for large-scale hazard simulations.