Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
751 commits
Select commit Hold shift + click to select a range
9c74dcd
removing time_season_all and time_season_to_sequential tables from s…
ParticularlyPythonicBS Dec 18, 2025
bc54f3b
updating migrators for schema change
ParticularlyPythonicBS Dec 18, 2025
2ebdc49
removing time_season_all and time_season_to_sequential tables from e…
ParticularlyPythonicBS Dec 18, 2025
32a21e6
Merge pull request #238 from TemoaProject/schema/remove_derivable_tables
ParticularlyPythonicBS Dec 18, 2025
8b39a16
removing stale pydoe dependency
ParticularlyPythonicBS Dec 15, 2025
b1b315e
Merge pull request #237 from TemoaProject/maintainance/stale_dep_pydoe
ParticularlyPythonicBS Dec 18, 2025
e637077
logging refactor with context manager for operation timing
ParticularlyPythonicBS Dec 7, 2025
c855830
Merge pull request #234 from TemoaProject/ref/task_timer_context_manager
ParticularlyPythonicBS Dec 18, 2025
44ba20a
Update issue templates
ParticularlyPythonicBS Nov 24, 2025
5ddcf8b
Merge pull request #224 from TemoaProject/maintainance/issue_templates
ParticularlyPythonicBS Dec 18, 2025
3753005
Update preface and quick start guide
jdecarolis Dec 29, 2025
bee743e
Merge pull request #241 from TemoaProject/doc_updates
jdecarolis Jan 4, 2026
b284706
docs: adding mapping between code elements and database tables
ParticularlyPythonicBS Jan 1, 2026
2ce5dcd
deduplicating testing databases by separating central schema from mo…
ParticularlyPythonicBS Dec 18, 2025
48d339b
docs: fixing regressions in pdf documentation building and correcting…
ParticularlyPythonicBS Jan 5, 2026
7b6af0f
Merge pull request #239 from TemoaProject/ref/consolidating_testing_dbs
ParticularlyPythonicBS Jan 6, 2026
1eefec4
Merge pull request #243 from TemoaProject/docs/pdf_builder
jdecarolis Jan 6, 2026
ded5d59
fix monte carlo to work on multiprocessing with highs and add full i…
ParticularlyPythonicBS Jan 6, 2026
9e8014e
docs: documenting monte carlo functionality
ParticularlyPythonicBS Jan 6, 2026
bc49845
Merge pull request #244 from TemoaProject/tests/mc_full_run
jdecarolis Jan 7, 2026
952072f
switching license to MIT
ParticularlyPythonicBS Dec 1, 2025
ac21b26
Merge pull request #230 from TemoaProject/maintainance/license_transf…
ParticularlyPythonicBS Jan 7, 2026
2caa113
adding mpi-sppy as core dependency
ParticularlyPythonicBS Jan 8, 2026
500fe66
feat: implementing basic stochastics for temoa using mpi-sppy
ParticularlyPythonicBS Jan 8, 2026
a94788b
interfacing stochastics implementation with configuration and modeli…
ParticularlyPythonicBS Jan 8, 2026
7c9f813
adding tests for stochastic modelling
ParticularlyPythonicBS Jan 8, 2026
5cca55e
docs: documenting stochastics implementation
ParticularlyPythonicBS Jan 8, 2026
03f34d3
removing legacy stochastics code
ParticularlyPythonicBS Jan 8, 2026
9ba9489
Merge pull request #246 from TemoaProject/feat/stochastics
jdecarolis Jan 8, 2026
4e61163
update docs and readme with pypi info
ParticularlyPythonicBS Jan 8, 2026
39c85fe
Merge pull request #247 from TemoaProject/docs/readme_update_pypi
ParticularlyPythonicBS Jan 8, 2026
274ca23
adding sphinx mermaid plugin for docs
ParticularlyPythonicBS Jan 9, 2026
a8c0670
adding mermaid diagram for showing temoa execution flow
ParticularlyPythonicBS Jan 9, 2026
ca0cc4f
adding entity relationship diagram for v4 schema
ParticularlyPythonicBS Jan 9, 2026
4b49909
Merge pull request #248 from TemoaProject/docs/mermaid_diagrams
jdecarolis Jan 11, 2026
9ab789d
docs: switching from rtd to book theme and changing logo
ParticularlyPythonicBS Jan 15, 2026
e0093b3
Merge pull request #253 from TemoaProject/docs/theme_update
ParticularlyPythonicBS Jan 15, 2026
8f6871a
chore: updating packages to latest compatible versions, making filter…
ParticularlyPythonicBS Jan 23, 2026
b4054d7
infra: expanding ci matrix to cover 3.14 and updating uv version
ParticularlyPythonicBS Jan 23, 2026
8fc70a2
Merge pull request #257 from TemoaProject/chore/package_updates
ParticularlyPythonicBS Jan 26, 2026
0f11620
docs: adding docs for myopic feature
ParticularlyPythonicBS Jan 16, 2026
f277302
docs: adding notes and caveats to myopic docs
ParticularlyPythonicBS Jan 17, 2026
72e243d
Make minor editorial changes to improve clarity
jdecarolis Feb 4, 2026
b469c7f
Fix single spelling issue
jdecarolis Feb 4, 2026
89f94b6
Merge pull request #254 from TemoaProject/docs/myopic_docs
jdecarolis Feb 4, 2026
b2f1501
docs: adding docs for mga feature
ParticularlyPythonicBS Jan 19, 2026
c464790
Update and clarify MGA documentation
jdecarolis Feb 6, 2026
c7cd1f9
Merge pull request #255 from TemoaProject/docs/mga_docs
jdecarolis Feb 8, 2026
b4b0663
Fix survival curve initialisation lifetime check
idelder Feb 12, 2026
93b5888
Merge pull request #258 from idelder/survival_curve_check
ParticularlyPythonicBS Feb 13, 2026
bb32cb6
Fix network model checking lifetime_survival_curve
idelder Feb 25, 2026
1644913
Merge pull request #260 from idelder/fix/survival_curve_network_check
ParticularlyPythonicBS Feb 26, 2026
1a3a530
refactor: remove unmaintained breakeven extension
ParticularlyPythonicBS Mar 5, 2026
23e3343
Merge pull request #262 from TemoaProject/ref/removing_breakeven
ParticularlyPythonicBS Mar 5, 2026
fb98145
ref: remove outdated make_output_plots.py and related docs
ParticularlyPythonicBS Mar 5, 2026
e918b1b
Merge pull request #263 from TemoaProject/ref/removing_make_output_plots
ParticularlyPythonicBS Mar 5, 2026
e2e8115
feat: implementing configurability for cycle detection in commodity …
ParticularlyPythonicBS Feb 26, 2026
e3dc837
docs: adding cycle config info to source tracing docs
ParticularlyPythonicBS Feb 28, 2026
a54fd6e
Merge pull request #261 from TemoaProject/feat/220_cycle_dection_conf…
jdecarolis Mar 9, 2026
9f2f833
Change orphan behaviour to freeze branches rather than remove them
idelder Mar 8, 2026
74fdfb3
Add new commodity_sink to docs
idelder Mar 8, 2026
137ee70
Reorder efficiency_indices check
idelder Mar 8, 2026
a1af15a
Add commodity_sink to model-only elements in docs
idelder Mar 8, 2026
7f7ff86
Merge pull request #269 from idelder/rework/orphan_management
jdecarolis Mar 9, 2026
f40d4fc
Add v_storage_init variable for non-seasonal storage
SutubraResearch Mar 12, 2026
d4c7cbf
Update JSON set caches for storage-init changes
SutubraResearch Mar 12, 2026
27dbb14
Drop DemandActivity constraints for single-tech demands
SutubraResearch Mar 18, 2026
327142d
Move singleton demand check to separate buildaction
idelder Mar 18, 2026
0416df0
Update test sets
idelder Mar 18, 2026
467f7c9
Fix mypy attr-defined errors and update set caches for DAC skip
SutubraResearch Mar 19, 2026
afdb529
Merge branch 'pr/demand-formulation' into pr/demand-formulation
SutubraResearch Mar 20, 2026
3aad18e
Merge pull request #1 from idelder/pr/demand-formulation
SutubraResearch Mar 20, 2026
1d26770
Remove unused type: ignore comments from test_storage
SutubraResearch Mar 20, 2026
9773eff
Merge pull request #274 from SutubraResearch/pr/demand-formulation
ParticularlyPythonicBS Mar 20, 2026
c67a2c0
Add configurable output threshold filtering
SutubraResearch Mar 12, 2026
3e2b3cd
Read myopic capacity threshold from config
SutubraResearch Mar 12, 2026
7a77877
Fix incorrect precedence comment in config sample
SutubraResearch Mar 17, 2026
fdc8ab0
Clean up output thresholds and wire myopic capacity filter
SutubraResearch Mar 18, 2026
514a7fe
Merge pull request #272 from SutubraResearch/pr/small-features
ParticularlyPythonicBS Mar 20, 2026
133bfbe
Match solver tolerances to standard defaults
SutubraResearch Feb 19, 2026
7f7c1d0
Set Gurobi BarOrder to automatic ordering
SutubraResearch Mar 11, 2026
6284a38
Merge pull request #273 from SutubraResearch/pr/solver-tuning
ParticularlyPythonicBS Mar 20, 2026
b7cdcbd
Filter construction input and embodied emissions for myopic
idelder Mar 17, 2026
41e2e40
Filter end of life output data separately
idelder Mar 17, 2026
2490074
Check for unlimited capacity for material flows
idelder Mar 17, 2026
0566c26
Make periods an ordered list as intended and filter construction inpu…
idelder Mar 17, 2026
c0c6632
Check that the end of life output process is valid
idelder Mar 17, 2026
3af5120
Make input/output of material flows that technology and add rtv_eol v…
idelder Mar 17, 2026
9a9aa5b
Also silently validate emission end of life existing capacities retir…
idelder Mar 17, 2026
1ba769e
On the output side make in and out commodities for material flows nul…
idelder Mar 17, 2026
2be286d
Change loader filtering to info in myopic mode to avoid incessant war…
idelder Mar 17, 2026
9ad590d
Update used techs checks
idelder Mar 17, 2026
6e9a29f
Apply same process checks to construction of retirement periods
idelder Mar 17, 2026
cf014ed
Setup lifetime lookups for all existing capacity data
idelder Mar 17, 2026
e304fb0
Update checks on existing capacity data
idelder Mar 17, 2026
aeed198
Stop outputs of negative capacities or retirements with warnings
idelder Mar 17, 2026
8170627
Update materials test to stress test myopic
idelder Mar 17, 2026
16e2c30
Update network model data test for new data pulls
idelder Mar 17, 2026
6ff587a
Remove invalid existing capacity entry in mediumville
idelder Mar 17, 2026
729b8cf
Fix foreign key issues in schemas
idelder Mar 17, 2026
5666612
Use set comprehension for commodity balance indices
idelder Mar 17, 2026
dc78420
Update a warning for changes
idelder Mar 17, 2026
020248e
Add tech groups to some validation indices sets
idelder Mar 18, 2026
60c1cfc
Add rtvo and rpt validation sets
idelder Mar 18, 2026
66eef0a
Change limit_annual_capacity_factor from period to vintage table index
idelder Mar 18, 2026
ea4d861
Enable tech groups for limit_seasonal_capacity_factor
idelder Mar 18, 2026
3032bec
Change period index to vintage (with same behaviour) for limit_new_ca…
idelder Mar 18, 2026
6efd9cf
Add viable index set filtering for some other limit tables
idelder Mar 18, 2026
e944250
Fix summation in limit_seasonal_capacity_factor_constraint
idelder Mar 18, 2026
b678180
Update v3.1 schema to support updated migrator
idelder Mar 18, 2026
1e1b4fb
Add evolving to config
idelder Mar 13, 2026
5b443a8
Add call to evolution script to myopic sequencer
idelder Mar 13, 2026
078e4b0
Update iteration logic
idelder Mar 13, 2026
ee0c582
Yes I really added a guard rail for that
idelder Mar 13, 2026
9902e22
Change loading filter warning to info for myopic as is necessary for …
idelder Mar 13, 2026
f6622ed
Update myopic sequencer test for on and off evolving mode
idelder Mar 13, 2026
b1a3070
Update config file path for unix systems
idelder Mar 14, 2026
0bed97b
Add logging to evolution script boilerplate
idelder Mar 14, 2026
24448bd
Add checks to evolution script run and refactor
idelder Mar 14, 2026
07c93c9
Make myopic non-evolving default in configs
idelder Mar 14, 2026
8f16fcc
Merge pull request #279 from idelder/bugfix/redo/materials_myopic
ParticularlyPythonicBS Mar 20, 2026
96f0b93
Merge branch 'unstable' into pr/storage-init
SutubraResearch Mar 20, 2026
582f8c9
Merge pull request #275 from SutubraResearch/pr/storage-init
ParticularlyPythonicBS Mar 20, 2026
a72900e
Fix region index in reserve_margin_dynamic
idelder Mar 8, 2026
908757f
Subtract exchange reserve commitments from upstream region
idelder Mar 8, 2026
ea6ae3b
Nitpicking
idelder Mar 8, 2026
e8eeb36
Merge pull request #270 from idelder/fix/reserve_margin
ParticularlyPythonicBS Mar 20, 2026
f32afa6
Fix limit_capacity_constraint missing index check
SutubraResearch Mar 11, 2026
278a0c9
Fix loan_lifetime_process KeyError in myopic mode
SutubraResearch Mar 11, 2026
6060e6a
Disable season ramp constraints for seasonal_timeslices
SutubraResearch Mar 11, 2026
598c0fb
Add bool guards to limit capacity constraints and sync schema FK
SutubraResearch Mar 18, 2026
527e008
Add comment explaining seasonal_timeslices ramp skip
SutubraResearch Mar 18, 2026
0b0c68f
Update JSON set caches for bug-fix changes
SutubraResearch Mar 20, 2026
74357b5
Guard limit_capacity against tech_uncap KeyError
SutubraResearch Mar 20, 2026
5c382aa
Merge pull request #271 from SutubraResearch/pr/bug-fixes
ParticularlyPythonicBS Mar 20, 2026
f5e7755
Merge branch 'unstable' into rework/vintage_limit_tables
idelder Mar 20, 2026
4788834
Merge branch 'unstable' into feature/myopic_evolving
idelder Mar 20, 2026
2f0bc0d
Fix botched merge resolve
idelder Mar 21, 2026
782ce76
Add to rpt validation set from silent_rptv
idelder Mar 21, 2026
026b22a
Update docstring for variable change
idelder Mar 21, 2026
dfe5d49
Fix myopicindex type for evolution script runner
idelder Mar 21, 2026
a64b0da
Merge pull request #281 from idelder/rework/vintage_limit_tables
ParticularlyPythonicBS Mar 21, 2026
65635c9
Merge branch 'unstable' into feature/myopic_evolving
idelder Mar 23, 2026
697d9a7
Merge pull request #278 from idelder/feature/myopic_evolving
ParticularlyPythonicBS Mar 23, 2026
a88c972
Rework the definition of seasons (#264)
idelder Mar 24, 2026
892f692
updating all dependencies to latest version
ParticularlyPythonicBS Mar 17, 2026
63f7de5
sparse_iterkeys -> sparse_keys
ParticularlyPythonicBS Mar 20, 2026
11be18a
Merge pull request #280 from TemoaProject/update_pyomo_and_fix
ParticularlyPythonicBS Mar 24, 2026
6cc3594
tests(data): Replacing massive JSON set caches with deterministic hashes
ParticularlyPythonicBS Mar 21, 2026
12c1373
refactoring hash utilities to separate file and removing dead code
ParticularlyPythonicBS Mar 24, 2026
41ae6d3
Merge pull request #282 from TemoaProject/ref/testing_data_improvements
jdecarolis Mar 24, 2026
ca4afcc
typing: adding types to extensions outside of breakeven
ParticularlyPythonicBS Jan 12, 2026
6a0ef52
improving robustness and type safety of extensions
ParticularlyPythonicBS Mar 24, 2026
4f97ad6
Update descriptions of Temoa sets in documentation
jdecarolis Jan 12, 2026
6237a1b
docs: update descriptions of Temoa parameters
ParticularlyPythonicBS Feb 2, 2026
6ff3812
Update and reorganize parameter mapping tables
jdecarolis Mar 3, 2026
89a986d
Update mathematical formulation within documentation
jdecarolis Mar 3, 2026
0e16c05
Address annoying but incredibly useful coderabbitai suggestions
jdecarolis Mar 4, 2026
507291d
Merge pull request #251 from TemoaProject/typing/extensions
ParticularlyPythonicBS Mar 24, 2026
a620716
removing data_files
ParticularlyPythonicBS Mar 24, 2026
7637310
Update CLI migration tests to use `utopia.sql` from `temoa/tutorial_a…
ParticularlyPythonicBS Mar 24, 2026
cb703e5
Merge pull request #283 from TemoaProject/remove_data_files
ParticularlyPythonicBS Mar 24, 2026
61f319c
Update anatomy of a constraint section to reflect current code
idelder Mar 25, 2026
67ded40
Update some changed references in computational_implementation
idelder Mar 25, 2026
2c2df6f
Update treatment of time for many new changes
idelder Mar 25, 2026
d39f869
AI assisted mega-audit of param and variable descriptions
idelder Mar 25, 2026
30d8b6d
Audit parameter tables
idelder Mar 25, 2026
61429bd
Audit set tables
idelder Mar 25, 2026
52b088f
Audit quick start
idelder Mar 25, 2026
70eae02
Couple minor fixes in unit_checking docs
idelder Mar 25, 2026
b5fd009
Audit capacity constraint docstrings
idelder Mar 25, 2026
38abb05
Audit demand and commodity constraint docstrings
idelder Mar 25, 2026
b4e7a51
Audit some param indices in total cost docstring
idelder Mar 25, 2026
071fdbd
Updated linked_emissions_tech docstring and add to docs
idelder Mar 25, 2026
2f7a799
Audit limit docstrings and include operator notation
idelder Mar 25, 2026
fff0ab4
Audit ramping constraint docstrings
idelder Mar 25, 2026
1dfaf33
Audit reserve margin docstrings
idelder Mar 25, 2026
624169d
Audit storage constraint docstrings
idelder Mar 25, 2026
acc2209
Remove old Sets section
idelder Mar 25, 2026
ee32a17
Overwrite old visualization.rst with new visualization section
idelder Mar 25, 2026
37570c0
Add a section on evolving myopic mode
idelder Mar 25, 2026
386e18d
Fix limit_activity_share_constraint docstring equation
idelder Mar 25, 2026
3964304
Fix reserve generation summation for annual techs
idelder Mar 25, 2026
b0848e5
Update typing, model reference and some other stuff around anatomy of…
idelder Mar 26, 2026
5627935
Clean up capacity index sets (#289)
idelder Mar 27, 2026
214d1ab
font size slider for visualizer (#256)
ParticularlyPythonicBS Mar 27, 2026
cd69763
Merge pull request #286 from idelder/audit_docs
jdecarolis Mar 29, 2026
72ad71b
docs: restructure for better sidebar
ParticularlyPythonicBS Mar 29, 2026
022995c
updating logos
ParticularlyPythonicBS Mar 29, 2026
b9ad196
updating outdated references to data_files and mailing list
ParticularlyPythonicBS Mar 29, 2026
c57e79d
fixing broken links
ParticularlyPythonicBS Mar 30, 2026
31a1702
docs: rename topics and reorder alphabetically
ParticularlyPythonicBS Apr 1, 2026
999ac0c
docs: absorbing commodity network markdown into the sphinx docs
ParticularlyPythonicBS Apr 1, 2026
6c30c2c
docs: adding platform specific instructions for linux, macOs, and Win…
ParticularlyPythonicBS Apr 1, 2026
be7c60b
docs: escaping slashes and fixing broken links
ParticularlyPythonicBS Apr 2, 2026
8cef6e2
docs: fix pdf rendering
ParticularlyPythonicBS Apr 2, 2026
5994935
docs: more broken links fixed
ParticularlyPythonicBS Apr 2, 2026
429a2bb
docs: fixing minor nits
ParticularlyPythonicBS Apr 2, 2026
3e29e07
Merge pull request #290 from TemoaProject/docs_restructure
jdecarolis Apr 2, 2026
ce28067
Update DSD definition to include period index
idelder Mar 26, 2026
4e03bd8
Update demand instantiation logic
idelder Mar 26, 2026
51a2a75
Update all DSD references to include p index
idelder Mar 26, 2026
6bdda77
Update datasets to include DSD period index
idelder Mar 26, 2026
50c1346
Merge pull request #287 from idelder/dsd_periods
ParticularlyPythonicBS Apr 8, 2026
b0e0983
Add rtv_new validation set for newly built processes
idelder Mar 31, 2026
bcadf95
Apply rtv_new set to various new capacity tables
idelder Mar 31, 2026
7e82fb1
Remove now unneeded custom loaders that only filtered vintage
idelder Apr 8, 2026
61980d5
Fix tech_or_group column in limit_seasonal_capacity_factor component …
idelder Apr 8, 2026
f7eac00
Fix retirement accounting logic to properly handle early retirements
idelder Apr 8, 2026
babc151
Fix str, Enum typing that ruff doesnt like
idelder Apr 8, 2026
6f3f250
Merge pull request #292 from idelder/tbf
ParticularlyPythonicBS Apr 8, 2026
a43c8c6
updated contributing.md file
ParticularlyPythonicBS Mar 27, 2026
82a2b1e
Merge pull request #288 from TemoaProject/contributor_file_update
ParticularlyPythonicBS Apr 8, 2026
84de010
Refactor to a unified v3 to v4 master migrator
ParticularlyPythonicBS Mar 25, 2026
8a899d8
Fix Windows CI test failure caused by rich word wrapping in tests/tes…
ParticularlyPythonicBS Mar 25, 2026
7eda18a
Finalize migration refactor: address code review, purge legacy script…
ParticularlyPythonicBS Mar 25, 2026
1e55f17
Harden migration refactor: modular helpers, atomic SQL exports, and e…
ParticularlyPythonicBS Mar 25, 2026
153786e
Final hardening: cross-fs safety, input validation, and operator-tabl…
ParticularlyPythonicBS Mar 25, 2026
3ec2512
Merge pull request #284 from TemoaProject/ref/combine_migrators
ParticularlyPythonicBS Apr 8, 2026
d5d57ec
typing: adding types to utilities
ParticularlyPythonicBS Apr 8, 2026
1489892
Merge pull request #252 from TemoaProject/typing/utilities
ParticularlyPythonicBS Apr 8, 2026
43a28df
Fill DSD from segfrac by r, p, dem, not just by dem, and tidy up gene…
idelder Apr 8, 2026
e9f34ca
Refactor DSD key check as a dictionary for efficiency (rabbit)
idelder Apr 8, 2026
3dae0d5
Merge pull request #293 from idelder/fix/dsd_backfill
ParticularlyPythonicBS Apr 8, 2026
20f0e62
Fix check on v_retired_capacity for survival curve case
idelder Apr 8, 2026
db2d4f7
Consolidate and solidify survival curve validation
idelder Apr 8, 2026
bd791d0
Check survival curves for early zeros and raise error to avoid crypti…
idelder Apr 8, 2026
ec0e2e5
Merge pull request #294 from idelder/fix/survival_curve_retirements
ParticularlyPythonicBS Apr 8, 2026
b5e78a4
perf: sqlite performance improvements
ParticularlyPythonicBS Apr 7, 2026
a77d767
docs: adding sqlite config details to docs
ParticularlyPythonicBS Apr 7, 2026
ccfa004
PR feedback fixes
ParticularlyPythonicBS Apr 7, 2026
d20ca55
Merge pull request #291 from TemoaProject/perf/sqllite_optimization
ParticularlyPythonicBS Apr 8, 2026
3fc8abb
removing and mitigating all remaining references to data_files
ParticularlyPythonicBS Apr 8, 2026
fab1c72
Merge pull request #295 from TemoaProject/maintainance/state_data_fil…
ParticularlyPythonicBS Apr 8, 2026
bfdab2a
docs/cli: enhance tutorial guidance and example verification
ParticularlyPythonicBS Apr 9, 2026
e7e93b4
build: suppress syntax warnings from mpi-sppy
ParticularlyPythonicBS Apr 9, 2026
7b74cce
fix(tutorial): relocate [sqlite] to maintain root key parsing
ParticularlyPythonicBS Apr 9, 2026
b12237e
Merge pull request #296 from TemoaProject/maintainance/minor_fixes
ParticularlyPythonicBS Apr 9, 2026
f83bfe0
docs: modernize and synchronize documentation for v4 and Typer CLI
ParticularlyPythonicBS Apr 9, 2026
0d540c3
Merge pull request #297 from TemoaProject/docs/fix_discrepancies
ParticularlyPythonicBS Apr 9, 2026
deb4379
ci: add dependency canary workflow
ParticularlyPythonicBS Apr 9, 2026
b26602b
ci: pin GitHub Actions to commit SHAs
ParticularlyPythonicBS Apr 9, 2026
2a9c251
ci: fix label format and include dev groups in canary
ParticularlyPythonicBS Apr 9, 2026
ef4b6be
Merge pull request #298 from TemoaProject/ci/dependency-canary
ParticularlyPythonicBS Apr 9, 2026
c4d76ac
infra: pypi trusted publishing ci
ParticularlyPythonicBS Jan 6, 2026
ed9bd27
ci: secure and enhance publish workflow
ParticularlyPythonicBS Apr 9, 2026
5c24fa1
dev: add version bumping utility and robust smoke tests
ParticularlyPythonicBS Apr 9, 2026
a07775c
Merge pull request #245 from TemoaProject/infra/publish_ci
ParticularlyPythonicBS Apr 9, 2026
e03128f
infra: removing nightly publishing workflows
ParticularlyPythonicBS Apr 9, 2026
409def9
Merge pull request #299 from TemoaProject/ci/remove_nightly
ParticularlyPythonicBS Apr 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
728 changes: 728 additions & 0 deletions .coderabbit.yaml

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Auto-detect text files and normalize them to LF on checkin.
# Force LF on checkout for all text files to avoid Windows CRLF issues.
* text=auto eol=lf

# Explicitly force LF for text files, redundant but explicit
*.toml text eol=lf
*.txt text eol=lf
*.md text eol=lf
*.rst text eol=lf
*.py text eol=lf
*.json text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.sh text eol=lf

# Explicitly declare binary files to avoid accidental corruption
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.sqlite binary
*.db binary
*.pyc binary
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
name: Bug report
about: Report a reproducible bug or unexpected behavior.
title: "[Bug]: Clear and concise description of the bug"
labels: bug, needs-triage
assignees: ''

---

## Bug Description

Clearly and concisely describe the bug you've encountered. What is the unexpected behavior? What did you expect to happen instead?

## Steps to Reproduce

Provide a clear, step-by-step procedure to reproduce the bug. This is crucial for us to understand and fix the issue.

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error '....'

## Code or Configuration Example

If the bug involves code or configuration, please provide a minimal, reproducible example that demonstrates the issue. This should be the smallest amount of code/config necessary to trigger the bug.

```python
# Example of bug-inducing code (if relevant)
import my_library

# Setup or initialization
config = {
"setting_a": "value",
"setting_b": 123
}
processor = my_library.Processor(**config)

# Action that triggers the bug
try:
processor.process_data(invalid_data)
except Exception as e:
print(f"Error: {e}")
```

## Error Message / Stack Trace

If an error message or stack trace was produced, please include it here. Use code blocks for better readability.

```text
# Example Error Message/Stack Trace
Traceback (most recent call last):
File "<stdin>", line 7, in <module>
processor.process_data(invalid_data)
File "/path/to/my_library/processor.py", line 42, in process_data
raise ValueError("Invalid data provided")
ValueError: Invalid data provided
```

## Screenshots / Videos

If applicable, add screenshots to help explain the problem. You can drag and drop images directly into the issue description.

## Expected Behavior

Describe what you expected to happen when following the reproduction steps.

## Actual Behavior

Describe what actually happened, including any unexpected output or results.

## Environment

Please provide details about your environment. This helps us reproduce the issue.

* **Operating System:**
* **Python Version:**
* **Project Version:**
* **Relevant Dependencies:**

## Checklist

* [ ] I have searched existing issues to ensure this bug hasn't already been reported.
* [ ] I have provided clear steps to reproduce the bug.
* [ ] I have provided a minimal, reproducible code example (if applicable).
* [ ] I have included any relevant error messages or stack traces.
* [ ] I have described the expected and actual behavior.
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Feature request
about: Suggest an idea for a new feature or enhancement.
title: "[Feature]: Concise title for your feature request"
labels: enhancement, needs-triage
assignees: ''

---

## Feature Request

Clearly and concisely describe the new feature or enhancement you are requesting.

## Problem Statement

What problem does this new feature or enhancement solve? Why is it needed? Describe the current limitations or pain points that this feature would address.

## Proposed Solution (optional)

Describe your proposed solution or how you envision this feature working. Be as specific as possible. Consider:

* **User Interface/API Changes:** How would a user interact with this new feature?
* **Configuration:** Would new configuration options be needed?
* **Examples of Usage:** Provide a hypothetical example of how this feature would be used.
## Benefits

What are the benefits of implementing this feature? How would it improve the project for users?

* (e.g., "It would simplify X workflow for users.")
* (e.g., "It would enable Y functionality that is currently impossible.")
* (e.g., "It would improve performance by Z% in certain scenarios.")

## Alternatives Considered

Have you considered any alternative approaches or workarounds for the problem you're trying to solve? If so, why do you think this feature request is a better solution?

## Additional Context

Add any other context, links, or information about the feature request here. This could include:

* Similar features in other projects.
* Relevant research papers or articles.
* Any potential challenges or considerations for implementation.

## Checklist

* [ ] I have searched existing issues to ensure this feature hasn't already been requested.
* [ ] I have clearly described the problem this feature solves.
* [ ] I have provided a detailed proposed solution (optional).
* [ ] I have explained the benefits of this feature.
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: Question
about: Questions about the usage or working of a feature
title: "[Question]: Your concise question title here"
labels: needs-triage, question
assignees: ''

---

## Question
Clearly and concisely state your question here. What are you trying to understand or achieve?

## Context
Provide any relevant background information or context that might help us understand your question better. For example:

* **What are you trying to do?** (e.g., "I'm trying to integrate X with Y," "I'm trying to achieve Z functionality.")
* **Why is this question important to you?** (e.g., "This is blocking my progress on feature A," "I'm trying to decide between two approaches.")
* **What steps have you already taken to find an answer?** (e.g., "I've checked the documentation for X," "I've searched existing issues for similar topics," "I've tried searching on Stack Overflow.")

## Details & Examples

If applicable, provide specific details, code snippets, or examples that illustrate your question. This is especially helpful for questions related to:

* **Usage:** How are you currently trying to use the project?
* **Configuration:** What relevant configuration are you using?
* **Code:** If your question involves code, please provide a minimal, reproducible example.

## Environment

Please provide details about your environment. This helps us reproduce issues or understand potential incompatibilities.

* **Operating System:**
* **Python Version:**
* **Project Version:**
* **Relevant Dependencies:**

## Checklist

* [ ] I have checked the [documentation](https://docs.temoaproject.org/en/latest/) for an answer.
* [ ] I have searched existing issues to ensure my question hasn't already been asked.
* [ ] I have provided as much detail as possible to help answer my question.
85 changes: 85 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: CI

on:
push:
branches:
[
"main",
"temoa_alpha",
"ci_testing",
"1.0.0-dev-operator",
"temoa_davey_code",
"unstable",
]
pull_request:
branches:
[
"main",
"temoa_alpha",
"ci_testing",
"1.0.0-dev-operator",
"temoa_davey_code",
"unstable",
]

jobs:
test:
name: setup and test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1

- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
version: "0.9.26"
python-version: ${{ matrix.python-version }}
enable-cache: true

- name: Install the project
run: uv sync --locked --all-extras --dev

- name: Install Graphviz (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get install -y graphviz

- name: Install Graphviz (macOS)
if: runner.os == 'macOS'
run: brew install graphviz

- name: Install Graphviz (Windows)
if: runner.os == 'Windows'
run: choco install graphviz -y

- name: Run tests
env:
CI: 1
run: uv run pytest tests

type-check:
name: type check
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]

steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1

- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
version: "0.9.26"
python-version: ${{ matrix.python-version }}
enable-cache: true

- name: Install the project
run: uv sync --locked --all-extras --dev

- name: Run mypy
run: uv run mypy --config-file=pyproject.toml .
Loading
Loading