Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
344 commits
Select commit Hold shift + click to select a range
989f3d7
Small comment change.
Y-Bimali Jul 17, 2025
97406ea
Reorganizes file structure to change hydro folder into dev folder, an…
Y-Bimali Jul 20, 2025
25d2e77
make sure calculating potentials is the same in hydro and package
HopeBestWorld Jul 21, 2025
9845a3e
Update cached matrix generation
HopeBestWorld Jul 27, 2025
cfa7da4
Validate vectorized potential calculation
HopeBestWorld Jul 29, 2025
f337445
velocities match old code numerically
HopeBestWorld Jul 30, 2025
f5c77c3
updated tests for meemengine
HopeBestWorld Jul 30, 2025
8a69985
Correct sqrt in excitation force calc
rebeccamccabe Jul 30, 2025
c91f75a
Merge pull request #7 from symbiotic-engineering/hydro_group
rebeccamccabe Jul 30, 2025
7a56f9e
Merge remote-tracking branch 'origin/main' into time-comparison
rebeccamccabe Jul 30, 2025
e492a4a
move time comparison folder from test to dev
rebeccamccabe Jul 30, 2025
92e5b7e
move joss paper to pubs folder
rebeccamccabe Jul 31, 2025
95bd5ff
delete gitkeep files that are no longer necessary with updated folder…
rebeccamccabe Jul 31, 2025
92ad24f
capitalize OpenFLASH and move matlab section of readme down
rebeccamccabe Jul 31, 2025
15f8ad0
Merge pull request #9 from symbiotic-engineering/time-comparison
HopeBestWorld Aug 1, 2025
b365213
Add MEEMEngine user workflow example
HopeBestWorld Aug 4, 2025
aae44b3
Update MEEMProblem usage example
HopeBestWorld Aug 4, 2025
5c0281e
update tests
HopeBestWorld Aug 6, 2025
25f38a2
update app
HopeBestWorld Aug 6, 2025
3c26907
update hydrodynamic coeffs
HopeBestWorld Aug 6, 2025
bb17140
updated app to inlcude potting hydro coeffs vs frequency
HopeBestWorld Aug 6, 2025
1f9192e
update readme
HopeBestWorld Aug 7, 2025
492f484
reorganize figures
HopeBestWorld Aug 7, 2025
037e1df
move hydro python to dev
HopeBestWorld Aug 8, 2025
95ebf16
relocate joss
HopeBestWorld Aug 8, 2025
2903edd
small update to joss
HopeBestWorld Aug 8, 2025
223beaf
Resolved merge conflicts by keeping main's versions
HopeBestWorld Aug 8, 2025
ff91ee8
remove invalid python_version line
HopeBestWorld Aug 8, 2025
2c80b6c
correct import path
HopeBestWorld Aug 8, 2025
c4aa1b3
Merge pull request #10 from symbiotic-engineering/main-code-review-fixes
HopeBestWorld Aug 8, 2025
bcc6aef
updated docs
HopeBestWorld Aug 11, 2025
9920e0d
Merge pull request #11 from symbiotic-engineering/update-docs
HopeBestWorld Aug 11, 2025
205750f
updating diagrams
HopeBestWorld Aug 13, 2025
51d2dc4
Merge pull request #12 from symbiotic-engineering/update-figs
HopeBestWorld Aug 14, 2025
4db0bce
update prep for pypi and conda
HopeBestWorld Aug 15, 2025
3a8970f
Merge pull request #13 from symbiotic-engineering/update-package
HopeBestWorld Aug 15, 2025
dda4835
update conda version of package
HopeBestWorld Aug 15, 2025
a24e5ab
Merge pull request #14 from symbiotic-engineering/conda-update
HopeBestWorld Aug 15, 2025
0a957c5
making methods in problem_cache private
HopeBestWorld Sep 14, 2025
d1ab306
Merge pull request #15 from symbiotic-engineering/private-methods
HopeBestWorld Sep 14, 2025
b3a8b51
update package requirements
HopeBestWorld Sep 15, 2025
8f8cad7
Merge pull request #16 from symbiotic-engineering/package-update
HopeBestWorld Sep 15, 2025
a1787ed
Automatically set domain boundary conditions
HopeBestWorld Sep 15, 2025
3370d73
Merge pull request #17 from symbiotic-engineering/boundaries
HopeBestWorld Sep 15, 2025
667c5a5
adding index.html for github pages
HopeBestWorld Sep 18, 2025
4d0b3e8
Merge pull request #18 from symbiotic-engineering/app
HopeBestWorld Sep 18, 2025
f16131f
Refactor from_vectors with robust validation and monotonicity enforce…
HopeBestWorld Oct 14, 2025
f8a3812
Add pytest suite for SteppedBody and CoordinateBody
HopeBestWorld Oct 14, 2025
5b7fed4
Add pytest suite for Domain class with randomized stress tests
HopeBestWorld Oct 14, 2025
3c07e98
Fix randomized stress test for Geometry
HopeBestWorld Oct 14, 2025
9919924
finished validating
HopeBestWorld Oct 16, 2025
268d623
updating documentation
HopeBestWorld Oct 16, 2025
674285f
Merge pull request #19 from symbiotic-engineering/updated_classes
HopeBestWorld Oct 16, 2025
23c1235
Initialize DVC
rebeccamccabe Oct 20, 2025
f5a56aa
Set DVC remote
rebeccamccabe Oct 20, 2025
5b696fb
Correct N-body radiation solve in run_and_store_results
HopeBestWorld Oct 24, 2025
f619853
Correct typo and test assertion logic
HopeBestWorld Oct 24, 2025
b0e3cca
Merge pull request #20 from symbiotic-engineering/update-app
HopeBestWorld Oct 24, 2025
672635b
updated package and reuploaded it to pypi
HopeBestWorld Oct 24, 2025
98f8ad6
Merge pull request #21 from symbiotic-engineering/v-0.2.5
HopeBestWorld Oct 24, 2025
b3902f8
updating the streamlit app deployment
HopeBestWorld Oct 24, 2025
e3df03d
Merge pull request #22 from symbiotic-engineering/app_deploy
HopeBestWorld Oct 24, 2025
57ac88a
the new app.html location, the conf.py edit, and the new .github/work…
HopeBestWorld Oct 24, 2025
c65a3d9
Merge pull request #23 from symbiotic-engineering/sphinx-deploy
HopeBestWorld Oct 24, 2025
ca16fa7
installing requirements
HopeBestWorld Oct 24, 2025
9435b2f
Merge pull request #24 from symbiotic-engineering/deploy-fix
HopeBestWorld Oct 24, 2025
7b38871
installing open-flash
HopeBestWorld Oct 24, 2025
12d9fcb
Merge pull request #25 from symbiotic-engineering/update-deploy
HopeBestWorld Oct 24, 2025
54c26be
check that pandoc is installed
HopeBestWorld Oct 24, 2025
2973405
Merge pull request #26 from symbiotic-engineering/add-package
HopeBestWorld Oct 24, 2025
cad7971
Fix pandoc build error and install local package
HopeBestWorld Oct 24, 2025
e171a18
main branch push
HopeBestWorld Oct 24, 2025
e68a177
Merge pull request #27 from symbiotic-engineering/ci-docs
HopeBestWorld Oct 24, 2025
aa0f6f5
Update link to point to stlite app.html
HopeBestWorld Oct 24, 2025
c533a1d
Merge pull request #28 from symbiotic-engineering/docs-app
HopeBestWorld Oct 24, 2025
3f2f399
Fix broken reStructuredText link for stlite app
HopeBestWorld Oct 24, 2025
282a4e6
Merge pull request #29 from symbiotic-engineering/update-docs-app
HopeBestWorld Oct 24, 2025
860eee2
add _static/ to the link in app.rst file
HopeBestWorld Oct 24, 2025
b28ed43
Merge pull request #30 from symbiotic-engineering/change-line
HopeBestWorld Oct 24, 2025
e0aa7e3
updating app.html file name to app_streamlit.html
HopeBestWorld Oct 24, 2025
c97355e
Merge pull request #31 from symbiotic-engineering/update-name
HopeBestWorld Oct 24, 2025
0d4855d
Add Streamlit app HTML for GitHub Pages deployment
HopeBestWorld Oct 24, 2025
2eddab5
Merge pull request #32 from symbiotic-engineering/seperate
HopeBestWorld Oct 24, 2025
ec8fdf1
moving app_streamlit to root directory
HopeBestWorld Oct 24, 2025
771a097
Merge pull request #33 from symbiotic-engineering/moving-app
HopeBestWorld Oct 24, 2025
5916eb4
renaming app_streamlit to index
HopeBestWorld Oct 24, 2025
4ffb8ca
Merge pull request #34 from symbiotic-engineering/rename
HopeBestWorld Oct 24, 2025
42b9d3d
Be deployed alongside your documentation
HopeBestWorld Oct 24, 2025
4a24e02
Merge pull request #35 from symbiotic-engineering/deploy-app
HopeBestWorld Oct 24, 2025
364465e
updating package version in app_streamlit.html
HopeBestWorld Oct 24, 2025
e02f71f
Merge pull request #36 from symbiotic-engineering/update-package-version
HopeBestWorld Oct 24, 2025
301982f
Merge branch 'main' of github.com:symbiotic-engineering/OpenFLASH int…
rebeccamccabe Oct 24, 2025
dc46ded
update readme for joss submission
rebeccamccabe Oct 24, 2025
6f15c80
Create calkit.yaml
rebeccamccabe Oct 25, 2025
771c13f
Remove modes param, infer from body heaving
HopeBestWorld Oct 25, 2025
55a4589
Merge pull request #38 from symbiotic-engineering/refactor-api
HopeBestWorld Oct 25, 2025
a5939e4
put module APIs in a submenu in docs
rebeccamccabe Oct 26, 2025
8eb721e
docs: remove duplicate method in apps and fix spacing
rebeccamccabe Oct 26, 2025
a75ebce
delete unused .nc (results) and .bak (backup) files
rebeccamccabe Oct 26, 2025
7f5e0cc
move more updatd uml diagram to figs folder
rebeccamccabe Oct 26, 2025
86a2713
update readme about and usage sections and add theory section
rebeccamccabe Oct 26, 2025
4d51b4b
update readme citations
rebeccamccabe Oct 26, 2025
83e4a8f
update readme installation instructions
rebeccamccabe Oct 26, 2025
38c278a
fix code block formatting of pip install in tutorial
rebeccamccabe Oct 26, 2025
c2eed90
update dvc url to be lowercase
rebeccamccabe Oct 26, 2025
ba3a268
delete a bunch of results files and unused value files
rebeccamccabe Oct 26, 2025
d11580e
.github
rebeccamccabe Oct 26, 2025
7a6d1a8
bump version to 0.2.7 and use git tag for auto version for conda release
rebeccamccabe Oct 26, 2025
8ed67d0
add ipykernel to dependencies to allow running notebooks
rebeccamccabe Oct 26, 2025
2c52841
Merge remote-tracking branch 'origin/main' into becca-joss-cleanup-re…
rebeccamccabe Oct 26, 2025
5c7ae69
delete unused secrets file
rebeccamccabe Oct 26, 2025
1c2817c
Correct relative image paths in JOSS paper
HopeBestWorld Oct 26, 2025
4b82669
Merge pull request #39 from symbiotic-engineering/fix-docs
HopeBestWorld Oct 26, 2025
fbdfc13
fix recursion error in back to main index link
rebeccamccabe Oct 26, 2025
dd29d88
Bump version to 0.2.7
HopeBestWorld Oct 26, 2025
f20b25c
Merge pull request #40 from symbiotic-engineering/chore-release
HopeBestWorld Oct 26, 2025
6ce2d32
Add frequency sweep and hydro coefficient plotting
HopeBestWorld Oct 26, 2025
07b015f
Merge pull request #41 from symbiotic-engineering/docs-tutorial
HopeBestWorld Oct 26, 2025
cf8c631
Merge branch 'main' into becca-joss-cleanup-readme
HopeBestWorld Oct 26, 2025
94f6c91
merge
HopeBestWorld Oct 26, 2025
d86b3a1
Revert "merge"
HopeBestWorld Oct 26, 2025
b89a129
Merge pull request #37 from symbiotic-engineering/becca-joss-cleanup-…
HopeBestWorld Oct 26, 2025
407115b
trusted publisher
HopeBestWorld Oct 26, 2025
f38078e
Merge pull request #42 from symbiotic-engineering/trusted
HopeBestWorld Oct 26, 2025
b868a7c
Bump version to 0.2.8
HopeBestWorld Oct 26, 2025
3062721
Merge pull request #43 from symbiotic-engineering/bump
HopeBestWorld Oct 26, 2025
7945ca5
updated package version
HopeBestWorld Oct 26, 2025
9205c34
Merge pull request #44 from symbiotic-engineering/update-app-streamlit
HopeBestWorld Oct 26, 2025
72a4a52
do not specify an environment.yml in setup miniconda step in workflow
rebeccamccabe Oct 27, 2025
5b7bc86
add workflow dispatch trigger on package publish
rebeccamccabe Oct 27, 2025
1648d80
docs fix: project title capitalization and version
rebeccamccabe Oct 27, 2025
4f8b470
uncomment the app automodule, since attempt to avoid repeat got rid o…
rebeccamccabe Oct 27, 2025
e99cd6c
fix bullet formatting
rebeccamccabe Oct 27, 2025
1ad4951
fix filepath of domain image and table to account for modules folder
rebeccamccabe Oct 27, 2025
dae68f9
shorten tutorial name
rebeccamccabe Oct 27, 2025
4f32568
Finalize JOSS paper affiliations and formatting
HopeBestWorld Oct 27, 2025
53fe6b4
Merge pull request #45 from symbiotic-engineering/submission
HopeBestWorld Oct 27, 2025
b87872f
update citation.cff with software authors and orcids
rebeccamccabe Oct 27, 2025
f0368a9
Merge remote-tracking branch 'origin/main' into fix-publish-conda
rebeccamccabe Oct 27, 2025
1aa5b45
bump version to 0.2.9
rebeccamccabe Oct 27, 2025
2be2c7d
make a build env yaml with conda-build
rebeccamccabe Oct 27, 2025
3d9e1ba
skip pypi if release already exists
rebeccamccabe Oct 27, 2025
e92137d
add conda-verify to build env
rebeccamccabe Oct 27, 2025
0de7411
use label=main for conda publish
rebeccamccabe Oct 27, 2025
de843c3
give token more permissions to allow release
rebeccamccabe Oct 27, 2025
1e2a710
add git config for actions bot
rebeccamccabe Oct 27, 2025
a6de939
use newer version of conda upload
rebeccamccabe Oct 27, 2025
7b24b35
fix permiissions being overwritten in job
rebeccamccabe Oct 27, 2025
cfc45ef
add anaconda to build env
rebeccamccabe Oct 27, 2025
60bd958
fix name from anaconda to anaconda-client
rebeccamccabe Oct 27, 2025
808fac7
fix and validate citation.cff forzenodo
rebeccamccabe Oct 27, 2025
179cf50
change conda channel from hopeonthestack to sea-lab
rebeccamccabe Oct 27, 2025
9d8a566
add readme badges
rebeccamccabe Oct 27, 2025
be7f937
more badges
rebeccamccabe Oct 27, 2025
bdef5c0
update version numbers automatcally
rebeccamccabe Oct 27, 2025
5f37e10
use a release candidcate so the autocommitted actionsbot version bump…
rebeccamccabe Oct 27, 2025
bc0ea3a
properly push tags
rebeccamccabe Oct 27, 2025
0f562aa
avod detahed head
rebeccamccabe Oct 27, 2025
c0cd5f8
try seprate workflows for tagging and build/publishing
rebeccamccabe Oct 28, 2025
a392de3
use personal access token for rc tag creation so it triggers build wo…
rebeccamccabe Oct 28, 2025
6f05504
use v* for tags while debugging
rebeccamccabe Oct 28, 2025
6797657
trigger build on completion of tag
rebeccamccabe Oct 28, 2025
7a5525e
trigger build on workflow-call
rebeccamccabe Oct 28, 2025
c236da3
workflow call syntax fix
rebeccamccabe Oct 28, 2025
f39ea28
use underscore instead of dash so conda rc tag name is valid
rebeccamccabe Oct 28, 2025
60e0828
add explicit workflow dispatch at end of tag workflow
rebeccamccabe Oct 28, 2025
e32edc6
add rest syntax to workflow dispatch
rebeccamccabe Oct 28, 2025
f08f002
comment explicit dispatch
rebeccamccabe Oct 28, 2025
bf3d212
add more permissions to github token
rebeccamccabe Oct 28, 2025
98d521d
adjust if logic for publishing relese candidates
rebeccamccabe Oct 28, 2025
6e2c014
use testpypi env for release candidates which requires splitting into…
rebeccamccabe Oct 28, 2025
1d13ed2
add forgotten $ to save version
rebeccamccabe Oct 28, 2025
6e8e854
move license file to projects to address deprecation warning and add …
rebeccamccabe Oct 28, 2025
bd5cb1b
remove underscores since testpypi doesnt like them in version numbers
rebeccamccabe Oct 28, 2025
22197b2
add + to version format
rebeccamccabe Oct 28, 2025
cdb6ee9
run verbose on pypi
rebeccamccabe Oct 28, 2025
f997f2b
remove setuptools-scm no local from pyproject.toml
rebeccamccabe Oct 28, 2025
c007a09
Revert "remove setuptools-scm no local from pyproject.toml"
rebeccamccabe Oct 28, 2025
10d3983
replace +pr with .dev to comply with pypi prerelease version rules
rebeccamccabe Oct 28, 2025
0e25797
clean up workflows for merge
rebeccamccabe Oct 28, 2025
41bc027
move original manual release script to scripts folder
rebeccamccabe Oct 28, 2025
d3ab2c5
Merge pull request #46 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 28, 2025
50bd4a7
change contents to write to allow release privileges
rebeccamccabe Oct 28, 2025
1dc9f19
fix zenodo badge
rebeccamccabe Oct 28, 2025
95d6ddb
go back to hardcoded version in docs for now to avoid error
rebeccamccabe Oct 28, 2025
9c3952f
Merge pull request #47 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 28, 2025
55ac7e4
try to fix docs autoversion
rebeccamccabe Oct 28, 2025
6c60b9c
use rc tag not base tag to dispatch
rebeccamccabe Oct 28, 2025
0cfc63c
docs should fetch tags
rebeccamccabe Oct 28, 2025
3298407
use dash in open-flash when finding version and add try/catch for pac…
rebeccamccabe Oct 28, 2025
27627ba
change fetch depth to 0 for pages
rebeccamccabe Oct 28, 2025
4bdf763
delete tags (redundant since using fetch depth of zero)
rebeccamccabe Oct 28, 2025
a32fe42
avoid conflict of version being used as both a function and a string
rebeccamccabe Oct 28, 2025
1f0e903
build docs on pr but only deploy on main
rebeccamccabe Oct 28, 2025
dbd0946
pr tagging dispatches package publish in addition to docs
rebeccamccabe Oct 28, 2025
b21a5b0
change tag to not include dev and use get latest tag action
rebeccamccabe Oct 30, 2025
ce77705
delete unused create rc tag script
rebeccamccabe Oct 30, 2025
8bc7688
fix docs formatting warnings
rebeccamccabe Oct 30, 2025
67a81cf
fix js dispatch syntax
rebeccamccabe Oct 31, 2025
7bc89c5
fix js boolean vs string error
rebeccamccabe Oct 31, 2025
a25d991
simplify workflow dispatch to use github.head_ref || github.ref
rebeccamccabe Oct 31, 2025
e5c54be
better error logging for workflow dispatch
rebeccamccabe Oct 31, 2025
1bc991d
tighten up js and set workflow_id: explicitly
rebeccamccabe Oct 31, 2025
1b546ac
checkout before finding latest tag
rebeccamccabe Oct 31, 2025
487dde8
use shallow checkout for docs
rebeccamccabe Oct 31, 2025
bb86543
fix logic for whether to deploy pages
rebeccamccabe Oct 31, 2025
d032b72
use shallow checkout for publish decide
rebeccamccabe Oct 31, 2025
ce19d4d
replace get latest tag action with git describe --tags
rebeccamccabe Oct 31, 2025
5bb9d8d
back to fetch depth=0 now that no longer using getlatest tag action
rebeccamccabe Oct 31, 2025
1cb46a9
add debug print for tag
rebeccamccabe Oct 31, 2025
04dcbc3
more tag debug
rebeccamccabe Oct 31, 2025
c93ac99
reverse publish logic in package publish
rebeccamccabe Oct 31, 2025
d3b7f3e
remove debug output, fix release string vs bool again
rebeccamccabe Oct 31, 2025
f545e66
change setuptools scm version scheme to prevent pypi version being la…
rebeccamccabe Oct 31, 2025
fbc594c
setuptools only-version doesnt use dev versions, so compute my own de…
rebeccamccabe Oct 31, 2025
48a1f56
update pyproject.toml and requirements.txt to be consistent
rebeccamccabe Oct 31, 2025
44413a3
fix docs list formatting for run and store results
rebeccamccabe Oct 31, 2025
bbe10e9
docs formatting tweaks
rebeccamccabe Oct 31, 2025
e2b26e2
Merge pull request #48 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 31, 2025
5900219
use merge commit for merged prs when dispatching docs and publishing …
rebeccamccabe Oct 31, 2025
14ac8eb
merge commit is github.ref_name not github.ref
rebeccamccabe Oct 31, 2025
6a2d049
fix js syntax error for ref
rebeccamccabe Oct 31, 2025
2049fc2
Merge pull request #49 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 31, 2025
3e1af46
change contains == false to !contains
rebeccamccabe Oct 31, 2025
892beb5
Merge pull request #50 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 31, 2025
bd8782c
read the docs theme, copybutton and git extensions
rebeccamccabe Oct 31, 2025
383ec46
add lab logo to docs
rebeccamccabe Oct 31, 2025
b2a92f6
tests
HopeBestWorld Nov 10, 2025
359fd03
Ensure docs preview artifact is downloadable via GitHub UI
HopeBestWorld Nov 24, 2025
688ca97
Merge pull request #51 from symbiotic-engineering/docs-theme
HopeBestWorld Nov 24, 2025
bc29e5d
Merge pull request #52 from symbiotic-engineering/docs-theme-fix
HopeBestWorld Nov 24, 2025
e47d5f0
updating pypi
HopeBestWorld Nov 24, 2025
65a4564
Merge pull request #53 from symbiotic-engineering/app-streamlit
HopeBestWorld Nov 24, 2025
b582c1d
Add _headers for Cross-Origin Isolation in Stlite app
HopeBestWorld Nov 24, 2025
b8f7f18
Merge pull request #54 from symbiotic-engineering/headers
HopeBestWorld Nov 24, 2025
306241c
Enforce single heaving body constraint
HopeBestWorld Nov 24, 2025
11e0258
Update MEEMEngine fixture to comply with single-heaving constraint
HopeBestWorld Nov 24, 2025
678b1fb
Correct run_and_store_results assertion shape (3, 1, 1)
HopeBestWorld Nov 24, 2025
bcd3638
Merge pull request #55 from symbiotic-engineering/feat-geo
HopeBestWorld Nov 24, 2025
3ef188e
Merge branch 'main' of github.com:symbiotic-engineering/OpenFLASH int…
HopeBestWorld Nov 30, 2025
6f833c8
same hydrocoeffs
HopeBestWorld Dec 15, 2025
e8145ff
Fix critical grid mismatch in R_1n vectorization for regions
HopeBestWorld Dec 19, 2025
934d3e8
Fix double normalization in hydro validation and add phase support
HopeBestWorld Dec 21, 2025
a882f0d
Fix multi-body geometry setup in app.py
HopeBestWorld Dec 21, 2025
595be58
Add OpenFLASH.ipynb with MEEM-style matrix visualization
HopeBestWorld Dec 23, 2025
e717f98
commenting out config3 in test_capytaine_potential.py
HopeBestWorld Dec 23, 2025
9830e1a
updating to be more similar to old assembly
HopeBestWorld Dec 23, 2025
3b9341f
test: align R_2n test cases with outer-radius anchoring logic
HopeBestWorld Dec 23, 2025
a61be31
updating matrix snapshot
HopeBestWorld Dec 23, 2025
5703823
Merge pull request #59 from symbiotic-engineering/cap-v-openflash
HopeBestWorld Dec 23, 2025
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
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .dvc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/config.local
/tmp
/cache
5 changes: 5 additions & 0 deletions .dvc/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[core]
remote = calkit
['remote "calkit"']
url = https://api.calkit.io/projects/symbiotic-engineering/openflash/dvc
auth = custom
3 changes: 3 additions & 0 deletions .dvcignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Add patterns of files dvc should ignore, which could improve
# the performance. Learn more at
# https://dvc.org/doc/user-guide/dvcignore
Empty file removed .github/workflows/.secrets
Empty file.
84 changes: 84 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Deploy Sphinx Docs to GitHub Pages

on:
workflow_dispatch: # gets dispatched from PR tagging workflow or manually

concurrency:
group: "pages"
cancel-in-progress: true

jobs:
build-and-deploy:
runs-on: ubuntu-latest

permissions:
pages: write
id-token: write

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install pandoc (system-level)
run: |
sudo apt-get update
sudo apt-get install -y pandoc

- name: Install Python dependencies and local package
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install .

- name: Build Sphinx documentation
run: |
sphinx-build -b html docs/ docs/_build/html

- name: Copy Streamlit app to docs output root
run: |
cp docs/_static/app_streamlit.html docs/_build/html/

# Add _headers for Stlite Cross-Origin Isolation ---
- name: Add Cross-Origin Headers for Stlite
run: |
echo "/*" > docs/_build/html/_headers
echo " Cross-Origin-Opener-Policy: same-origin" >> docs/_build/html/_headers
echo " Cross-Origin-Embedder-Policy: require-corp" >> docs/_build/html/_headers

# Create ZIP Artifact for Download
- name: Compress Docs to ZIP
run: zip -r docs-preview.zip docs/_build/html

- name: Upload Docs Preview Artifact
uses: actions/upload-artifact@v4
with:
name: docs-preview
path: docs-preview.zip # Uploads the newly created .zip file
retention-days: 1

- name: Upload artifact # This is the Pages artifact uploader
uses: actions/upload-pages-artifact@v3
with:
path: docs/_build/html

- name: Get latest tag to decide whether to deploy
run: |
echo "tag=$(git describe --tags --abbrev=0)"
echo "tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
id: get-tag

- name: Deploy to GitHub Pages
id: deployment
if: ${{ !contains(steps.get-tag.outputs.tag , 'rc') }}
uses: actions/deploy-pages@v4
30 changes: 30 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Draft PDF
on:
push:
paths:
- 'pubs/joss/paper.md'
- 'pubs/joss/paper.bib'
- 'pubs/figs/**' # To trigger on image changes
- '.github/workflows/draft-pdf.yml' # To trigger on workflow changes

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: pubs/joss/paper.md
- name: Upload
uses: actions/upload-artifact@v4
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: pubs/joss/paper.pdf
97 changes: 97 additions & 0 deletions .github/workflows/pr-tagging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: PR Tagging and RC Tag Management

# This workflow creates a tag for pull requests into the main branch.
# The tag for open pull requests is of the form vX.Y.ZrcPRNUM
# where X.Y.Z is the base version (which is incremented according to the PR title)
# and PRNUM is the pull request number (to prevent conflicts for multiple PRs open at once).
# By default the Z number is incremented, but if the PR title contains [major] or [minor],
# the X or Y version numbers are incremented respectively.
# The tag for merged pull requests is of the form vX.Y.Z with no additions.

on:
pull_request:
types: [opened, reopened, synchronize, closed]
branches:
- main
workflow_dispatch:

permissions:
contents: write
issues: write
actions: write
packages: write
id-token: write

jobs:
manage-pr-tags:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Compute base version (bump patch/minor/major from PR title)
id: compute_base
run: |
PR_TITLE="${{ github.event.pull_request.title || '' }}"
base=$(bash scripts/compute_base.sh "$PR_TITLE")
echo "base=$base" >> $GITHUB_OUTPUT

- name: Check if rc tag already exists and if so compute rc-dev tag
id: check_rc
run: |
rc_tag="${{ steps.compute_base.outputs.base }}rc${{ github.event.pull_request.number }}"
if git rev-parse "$rc_tag" >/dev/null 2>&1; then
devN=$(git rev-list --count $rc_tag..HEAD)
rc_dev_tag="${rc_tag}dev${devN}"
else
rc_dev_tag="${rc_tag}"
fi
echo "rc_dev_tag=${rc_dev_tag}" >> $GITHUB_OUTPUT

- name: Create rc tag
id: create_rc
if: ${{ github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize' }}
uses: rickstaa/action-create-tag@v1
with:
tag: "${{ steps.check_rc.outputs.rc_dev_tag }}"
message: "Release ${{ steps.check_rc.outputs.rc_dev_tag }}"
commit_sha: ${{ github.event.pull_request.head.sha }}

- name: Create final tag
if: ${{ github.event.action == 'closed' && github.event.pull_request.merged == true }}
uses: rickstaa/action-create-tag@v1
with:
tag: ${{ steps.compute_base.outputs.base }}
message: "Release ${{ steps.compute_base.outputs.base }}"
commit_sha: ${{ github.event.pull_request.merge_commit_sha }}

- name: Dispatch docs deploy and publish package workflows
if: ${{ github.event.action == 'closed' && github.event.pull_request.merged == false }} == false
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
try {
const owner = context.repo.owner;
const repo = context.repo.repo;
const workflow_id_1 = 'deploy-docs.yml';
const workflow_id_2 = 'publish-package.yml';

let ref;
if (${{ github.event.action == 'closed' && github.event.pull_request.merged == true }}) {
ref = '${{ github.ref_name }}';
}
else {
ref = '${{ github.head_ref || github.ref }}';
}

const resp = await github.rest.actions.createWorkflowDispatch({ owner, repo, workflow_id: workflow_id_1, ref });
const resp2 = await github.rest.actions.createWorkflowDispatch({ owner, repo, workflow_id: workflow_id_2, ref });
console.log('docs dispatch response', resp && resp.status ? resp.status : resp);
console.log('package dispatch response', resp2 && resp2.status ? resp2.status : resp2);
} catch (err) {
console.error('dispatch failed', err && err.status ? { status: err.status, message: err.message } : err);
throw err;
}
109 changes: 109 additions & 0 deletions .github/workflows/publish-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Build and Publish on Tag

# This workflow builds and publishes the package to PyPI and Anaconda
# when a tag is pushed. If the tag is a release candidate (contains 'rc'),
# it is published to TestPyPI and the Anaconda package is not uploaded.

on:
push:
tags:
- 'v*.*.*'
workflow_dispatch: # gets dispatched from PR tagging workflow or manually
workflow_call:

permissions:
contents: write
packages: write
id-token: write

jobs:
determine-tag:
runs-on: ubuntu-latest
outputs:
publish: ${{ steps.decide.outputs.publish }}
tag: ${{ steps.get-tag.outputs.tag }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get latest tag to decide whether to publish
id: get-tag
run: |
echo "tag=$(git describe --tags --abbrev=0)"
echo "tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
- name: Decide whether to publish
id: decide
run: |
echo "publish=${{ !contains(steps.get-tag.outputs.tag, 'rc') }}" >> $GITHUB_OUTPUT

build-and-publish:
runs-on: ubuntu-latest
needs: determine-tag
environment:
name: ${{ needs.determine-tag.outputs.publish == 'true' && 'pypi' || 'testpypi' }}
# the fact that the environment name uses an output is the reason this workflow is split into two jobs
url: https://pypi.org/project/open-flash/
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install build tools
run: pip install build twine

- name: Build distribution packages
run: python -m build

- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: ${{ needs.determine-tag.outputs.publish == 'true' && 'https://upload.pypi.org/legacy/' || 'https://test.pypi.org/legacy/' }}
verbose: true

- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
python-version: 3.11
environment-file: conda-recipe/build_env.yaml
auto-update-conda: false
auto-activate-base: false
show-channel-urls: true

- name: Build and upload conda packages
uses: uibcdf/action-build-and-upload-conda-packages@2a98398b2f382f5ead0feebda695a13474e107f8
id: conda-build-and-upload
with:
meta_yaml_dir: conda-recipe
label: main
user: sea-lab
token: ${{ secrets.ANACONDA_TOKEN }}
upload: ${{ needs.determine-tag.outputs.publish }}

- name: Re-format output paths
id: reformat-paths
# Needed to have the correct newline-separated files format for the following release step
run: |
paths=$(tr ' ' '\n' <<< "${{steps.conda-build-and-upload.outputs.paths}}")
echo "newline-separated-paths=$paths" >> $GITHUB_OUTPUT

- name: Check validity of citation.cff
uses: citation-file-format/cffconvert-github-action@2.0.0
if: always()
with:
args: "-i ./CITATION.cff -f zenodo --validate --show-trace"

- name: Create GitHub release
if: ${{ needs.determine-tag.outputs.publish == 'true' }}
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ needs.determine-tag.outputs.tag }}
generate_release_notes: true
fail_on_unmatched_files: true
files: ${{steps.reformat-paths.outputs.newline-separated-paths}}
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ venv/
ENV/
env.bak/
venv.bak/
.new_env

# Spyder project settings
.spyderproject
Expand Down Expand Up @@ -204,4 +205,5 @@ html/
# mat data files
*.mat

.vscode/settings.json
# vscode configuration files
.vscode/
6 changes: 0 additions & 6 deletions .vscode/settings.json

This file was deleted.

Loading
Loading