Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
40a53d1
Move capytaine to pip deps
petebachant May 11, 2026
c811198
Commit env locks
petebachant May 11, 2026
c0596db
Fix jfm-appendix.tex so it compiles
petebachant May 11, 2026
4a751b4
Merge branch 'jfm-thesis' into pb/macos
rebeccamccabe Jun 8, 2026
697a7e1
Fix condition for dispatching workflows on PR close
rebeccamccabe Jun 8, 2026
c42ce51
Merge pull request #93 from petebachant/pb/macos
rebeccamccabe Jun 8, 2026
f5ce4b4
Add non-fork PR condition to manage-pr-tags job
rebeccamccabe Jun 8, 2026
0f12044
Add Calkit pipeline workflow from mdocean
rebeccamccabe Jun 8, 2026
934d5b6
remove dvc token to use github oauth within calkit action
rebeccamccabe Jun 8, 2026
a2aab81
copy calkit pull with retries from MDOcean
rebeccamccabe Jun 8, 2026
1a7939c
fix underscores should be dashes for calkit pull script
rebeccamccabe Jun 8, 2026
212d46c
use new dvc remove and remove unnecessary python step in calkit CI
rebeccamccabe Jun 9, 2026
01105ad
Run pipeline
github-actions[bot] Jun 9, 2026
a1bdc63
Pull calkit as part of calkit run action instead of retry script
rebeccamccabe Jun 13, 2026
6a2b1eb
add jq install to calkit workflow
rebeccamccabe Jun 13, 2026
1507fe9
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 13, 2026
16083c7
delete dupliate calkit pull with retries
rebeccamccabe Jun 13, 2026
756bcab
set id token permission to write
rebeccamccabe Jun 13, 2026
a1b8dad
Run pipeline
github-actions[bot] Jun 13, 2026
ab37de2
move sea-lab-utils submodule to analysis folder
rebeccamccabe Jun 9, 2026
4ec1c32
repair sea-lab-utils submodule that was accidentally committed as reg…
rebeccamccabe Jun 12, 2026
946d430
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 13, 2026
813fe6c
Run pipeline
github-actions[bot] Jun 13, 2026
f8b61a0
Add sea-lab-util input to validate-w-capy stage
rebeccamccabe Jun 13, 2026
4b802b3
Fix utils_path to sea-lab-utils
rebeccamccabe Jun 13, 2026
bef6bc0
Fix path to sea-lab-utils in slant_data_plots
rebeccamccabe Jun 13, 2026
9a529a8
Run pipeline
github-actions[bot] Jun 13, 2026
c5cd6fe
Add texlive-core to environment-branch.yml
rebeccamccabe Jun 13, 2026
9ab1441
Run pipeline
github-actions[bot] Jun 13, 2026
1a2405a
Run pipeline
github-actions[bot] Jun 13, 2026
9744536
add texlive-bin and dvipng to environment-branch.yml
rebeccamccabe Jun 14, 2026
bcb54d6
Run pipeline
github-actions[bot] Jun 14, 2026
cda416a
add test latex stage for CI debuggin
rebeccamccabe Jun 15, 2026
c759fa0
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 15, 2026
124ab6c
Run pipeline
github-actions[bot] Jun 15, 2026
20dbc9a
fix _ to - in test filename
rebeccamccabe Jun 15, 2026
3b62ddd
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 15, 2026
ae41de2
Run pipeline
github-actions[bot] Jun 15, 2026
c4964e3
comment out test-latex that would fail without latex
rebeccamccabe Jun 15, 2026
1b46e20
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 15, 2026
7f82364
Run pipeline
github-actions[bot] Jun 15, 2026
ff9016b
comment out x y labels on text latex plot
rebeccamccabe Jun 15, 2026
c705cb6
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 15, 2026
6af567b
Run pipeline
github-actions[bot] Jun 15, 2026
6502275
comment out all matplotlib in test
rebeccamccabe Jun 15, 2026
727a1ae
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 15, 2026
ea74ae7
Run pipeline
github-actions[bot] Jun 15, 2026
79918e8
store executed ipynb in git
rebeccamccabe Jun 15, 2026
566e14c
Run pipeline
github-actions[bot] Jun 15, 2026
e17c043
use dockerfile that combines conda and tex
rebeccamccabe Jun 15, 2026
de9f433
Run pipeline
github-actions[bot] Jun 15, 2026
c84b4a0
debug Dockerfile
rebeccamccabe Jun 15, 2026
919730d
Merge branch 'workflow-macos' of github.com:symbiotic-engineering/Ope…
rebeccamccabe Jun 15, 2026
5c51638
Run pipeline
github-actions[bot] Jun 15, 2026
504d8d2
edit dockerfile to move past permission error to now face no such ker…
rebeccamccabe Jun 15, 2026
829dd2d
Run pipeline
github-actions[bot] Jun 15, 2026
8d8df36
Update to allow running TeX/matplotlib Docker env on arm64
petebachant Jun 15, 2026
7c78b1a
Merge pull request #95 from petebachant/workflow-macos-arm64
rebeccamccabe Jun 15, 2026
ac0d31e
Run pipeline
github-actions[bot] Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
FROM condaforge/miniforge3:latest AS miniconda

FROM texlive/texlive:latest-full

COPY --from=miniconda /opt/conda /opt/conda

ENV PATH=/opt/conda/bin:$PATH

COPY analysis/environment-branch.yml /tmp/analysis/environment-branch.yml
COPY pyproject.toml /tmp/pyproject.toml
COPY package/src /tmp/package/src
COPY README.md /tmp/README.md
COPY LICENSE /tmp/LICENSE
COPY CITATION.cff /tmp/CITATION.cff

# Build the Conda environment in three phases to work around the absence of
# libquadmath on aarch64: no native libquadmath package exists for arm64, yet
# gfortran still emits -lquadmath, which breaks capytaine's from-source build
# (capytaine ships no arm64 wheel).
#
# 1. Create the environment with the Conda packages only (strip the pip
# section), which installs the compiler toolchain.
RUN sed '/^[[:space:]]*- pip:/,$d' /tmp/analysis/environment-branch.yml \
> /tmp/analysis/environment-nopip.yml \
&& mamba env create \
-n openflash.openflash-on-branch-tex \
-f /tmp/analysis/environment-nopip.yml

# 2. If libquadmath is missing (i.e. on aarch64), drop an empty stub into the
# env so the linker is satisfied. capytaine references no quadmath symbols,
# and Conda links extensions with an rpath to $CONDA_PREFIX/lib, so the stub
# resolves at both link and run time.
RUN mamba run -n openflash.openflash-on-branch-tex bash -c '\
if [ ! -e "$CONDA_PREFIX/lib/libquadmath.so" ]; then \
echo "void __quadmath_stub(void){}" > /tmp/quadmath_stub.c \
&& "$CC" -shared -fPIC -Wl,-soname,libquadmath.so.0 \
-o "$CONDA_PREFIX/lib/libquadmath.so.0" /tmp/quadmath_stub.c \
&& ln -sf libquadmath.so.0 "$CONDA_PREFIX/lib/libquadmath.so" \
&& rm /tmp/quadmath_stub.c; \
fi'

# 3. Install the pip packages; capytaine compiles its Fortran extension against
# the stub.
RUN mamba env update \
-n openflash.openflash-on-branch-tex \
-f /tmp/analysis/environment-branch.yml

ENV PATH=/opt/conda/envs/openflash.openflash-on-branch-tex/bin:$PATH

ENV PYTHONUNBUFFERED=1
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
ENV PIP_NO_CACHE_DIR=1

RUN useradd -m openflash

RUN mkdir -p /workspace \
&& chown -R openflash:openflash /workspace

RUN mkdir -p /home/openflash/.ipython /home/openflash/.cache /home/openflash/.config \
&& chown -R openflash:openflash /home/openflash

RUN mkdir -p /tmp/home/.local /tmp/home/.ipython /tmp/home/.cache /tmp/home/.config \
/tmp/ipython /tmp/matplotlib /tmp/cache /tmp/jupyter \
&& chmod -R 777 /tmp/home /tmp/ipython /tmp/matplotlib /tmp/cache /tmp/jupyter

RUN python -m ipykernel install \
--prefix=/opt/conda/envs/openflash.openflash-on-branch-tex

USER openflash
WORKDIR /workspace

ENV HOME=/tmp/home
ENV IPYTHONDIR=/tmp/home/.ipython
ENV XDG_CACHE_HOME=/tmp/home/.cache
ENV XDG_CONFIG_HOME=/tmp/home/.config
ENV MPLCONFIGDIR=/tmp/matplotlib
ENV JUPYTER_DATA_DIR=/tmp/jupyter

CMD ["bash"]
47 changes: 47 additions & 0 deletions .calkit/env-locks/openflash-on-branch-tex/amd64.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"RepoTags": [
"openflash-on-branch-tex"
],
"RepoDigests": [],
"Architecture": "amd64",
"Os": "linux",
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:4d416f5802b27e35b72bc7cf23b9a0135b5810f321b33213976f7b6e603004e2",
"sha256:1d70e638e6fc47166ab7f99695374817b8bd1a4f76f6855add9723e5d4600ad8",
"sha256:f6abbfcb16d15267190636a64d129388c1017c63e0ba88d6645cc7e2ba96cf71",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:084a300d9aa225c7c8dddcf1f4b52943962a71f5293bfe315fb45b4979b26d98",
"sha256:94341c5a851fa791ecf9496f0d4b80d81d358681972644d599b088683ea29f60",
"sha256:64a8268e4aa9457c8301cc85de712ae83298f3cb67bd9e4e69a8b687e854963b",
"sha256:da4b7294439259ab23e03a525267ddfb3fda5dcf90094ca1657a402fcefdc76a",
"sha256:498fe8fca7f3a287f0e2d91505c4e2576f243fcf18175b0ee0b9a1bc64f8d340",
"sha256:0d1f4606c616748fae54b09ff503ad65a71d78f2fcd5b021fe0687620df8ea2f",
"sha256:081d458749d39610b2a48b06865f1dc02c33881b2eef43d92340bd1d9f7baf05",
"sha256:dd2cbea58177687881831968274f139b28a824be1b62d511d1dafa6bcf07c7bb",
"sha256:76b11e3c8b4ed6ba20c6f9c9d2a730fc43dff6dee005a328a2c9d50478bfd2ed",
"sha256:09d66d49f79d73649ee359f0e779424bf1ad2ae39e0cf6a2ca549ead8c72ea7b",
"sha256:5f0703082b86eda911eeeb51dad3bad9edb031dd036f7c2ff1741a6f9a8d5f48",
"sha256:57c7c0264d0699c6e96bff84a05897a7ec2f2858c59f5027c6d1a9dfe99ddb66",
"sha256:7000b23019a134e7b1d0bdb2fb2e5bf2117feb6bc3b660d65388c74df7c3a241",
"sha256:4c92e5e694696c39f1fbc9404a87c32e8fe8fec5f726bddde89911af56e8844a",
"sha256:69df376923a6706959fc106e1baeb3c4b1c3d41df6a090ef79046511490c4dde",
"sha256:5397c133875e96b819e46b889469d637e3821052f15f209b1ccb55369b8ac897",
"sha256:5ad73e56b66b7cf5f680a53edaf1188f76cfa8cc5f2bb5bc56b77d1d4622250c",
"sha256:48a6ff8201487f933d23983f02a3bdf238a1f0fae8fbfab065728b5b8848227e",
"sha256:957ef72c745080f61639ca84baaefe26f25d857b9e37a0caa98946f02cd033c3",
"sha256:033aa7700526dc25d2e8c8f2b4313a7d5c77f6ed154f0d02d3445ed75f2a9b1b",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
]
},
"DockerfileMD5": "8930fae8c7fef0feb3311446fba042be",
"DepsMD5s": {
"analysis/environment-branch.yml": "4be82009aeae596a40be0248e15d2f2f",
"package/src": "fb1d513041f63ba9e0fd9703f43b59ac",
"pyproject.toml": "c036c82893293e1fa9eae68f5731d451",
"README.md": "d4ecb4e9de12fcfac2094778ad29fbf5",
"LICENSE": "313afdf541ca2b338eaa77f1b698333c",
"CITATION.cff": "0ee89a93fb410b3526806206205500af"
}
}
2 changes: 1 addition & 1 deletion .calkit/env-locks/openflash-on-branch/linux-64.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
name: openflash-openflash-on-branch
channels:
- conda-forge
- defaults
Expand Down Expand Up @@ -289,4 +290,3 @@ dependencies:
- numpy==1.26.4
- -e ../../..
- scipy==1.13.1
name: openflash-openflash-on-branch
221 changes: 221 additions & 0 deletions .calkit/env-locks/openflash-on-branch/osx-arm64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
name: openflash-openflash-on-branch
channels:
- conda-forge
dependencies:
- _openmp_mutex=4.5=7_kmp_llvm
- _python_abi3_support=1.0=hd8ed1ab_2
- altair=6.1.0=pyhd8ed1ab_0
- anyio=4.13.0=pyhcf101f3_0
- appnope=0.1.4=pyhd8ed1ab_1
- asttokens=3.0.1=pyhd8ed1ab_0
- attrs=26.1.0=pyhcf101f3_0
- aws-c-auth=0.10.1=ha7d4cc1_3
- aws-c-cal=0.9.13=h6ee9776_1
- aws-c-common=0.12.6=hc919400_0
- aws-c-compression=0.3.2=h3e7f9b5_0
- aws-c-event-stream=0.7.0=h351c84d_0
- aws-c-http=0.10.13=h95cdebe_0
- aws-c-io=0.26.3=h4137820_1
- aws-c-mqtt=0.15.2=h8860bc9_2
- aws-c-s3=0.12.2=h07b101a_1
- aws-c-sdkutils=0.2.4=h16f91aa_4
- aws-checksums=0.2.10=h3e7f9b5_0
- aws-crt-cpp=0.38.3=hba17502_1
- aws-sdk-cpp=1.11.747=h30a6df1_4
- azure-core-cpp=1.16.2=he5ae378_0
- azure-identity-cpp=1.13.3=h810541e_1
- azure-storage-blobs-cpp=12.16.0=hc57151b_1
- azure-storage-common-cpp=12.12.0=he467506_1
- azure-storage-files-datalake-cpp=12.14.0=hf8a9d22_1
- backports.zstd=1.4.0=py314h680f03e_0
- blinker=1.9.0=pyhff2d567_0
- brotli=1.2.0=h7d5ae5b_1
- brotli-bin=1.2.0=hc919400_1
- brotli-python=1.2.0=py314h3daef5d_1
- bzip2=1.0.8=hd037594_9
- c-ares=1.34.6=hc919400_0
- ca-certificates=2026.4.22=hbd8a1cb_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cachetools=7.1.1=pyhd8ed1ab_0
- certifi=2026.4.22=pyhd8ed1ab_0
- charset-normalizer=3.4.7=pyhd8ed1ab_0
- click=8.3.3=pyhc90fa1f_0
- comm=0.2.3=pyhe01879c_0
- contourpy=1.3.3=py314hf8a3a22_4
- cpython=3.14.4=py314hd8ed1ab_100
- cycler=0.12.1=pyhcf101f3_2
- debugpy=1.8.20=py314he609de1_0
- decorator=5.2.1=pyhd8ed1ab_0
- exceptiongroup=1.3.1=pyhd8ed1ab_0
- executing=2.2.1=pyhd8ed1ab_0
- fonttools=4.62.1=pyh7db6752_0
- freetype=2.14.3=hce30654_0
- gflags=2.2.2=hf9b8971_1005
- gitdb=4.0.12=pyhd8ed1ab_0
- gitpython=3.1.50=pyhd8ed1ab_0
- glog=0.7.1=heb240a5_0
- h11=0.16.0=pyhcf101f3_1
- h2=4.3.0=pyhcf101f3_0
- h5netcdf=1.8.1=pyhd8ed1ab_0
- h5py=3.16.0=nompi_py314h658a3ac_102
- hdf5=2.1.0=nompi_he586413_105
- hpack=4.1.0=pyhd8ed1ab_0
- httptools=0.7.1=py314h0612a62_1
- hyperframe=6.1.0=pyhd8ed1ab_0
- idna=3.13=pyhcf101f3_0
- importlib-metadata=8.8.0=pyhcf101f3_0
- ipykernel=7.2.0=pyh5552912_1
- ipython=9.13.0=pyh53cf698_0
- ipython_pygments_lexers=1.1.1=pyhd8ed1ab_0
- itsdangerous=2.2.0=pyhd8ed1ab_1
- jedi=0.19.2=pyhd8ed1ab_1
- jinja2=3.1.6=pyhcf101f3_1
- jsonschema=4.26.0=pyhcf101f3_0
- jsonschema-specifications=2025.9.1=pyhcf101f3_0
- jupyter_client=8.8.0=pyhcf101f3_0
- jupyter_core=5.9.1=pyhc90fa1f_0
- kiwisolver=1.5.0=py314hf8a3a22_0
- krb5=1.22.2=h385eeb1_0
- lcms2=2.19.1=hdfa7624_0
- lerc=4.1.0=h1eee2c3_0
- libabseil=20260107.1=cxx17_h2062a1b_0
- libaec=1.1.5=h8664d51_0
- libarrow=24.0.0=h37fbca7_1_cpu
- libarrow-acero=24.0.0=hee8fe31_1_cpu
- libarrow-compute=24.0.0=h3b6a98a_1_cpu
- libarrow-dataset=24.0.0=hee8fe31_1_cpu
- libarrow-substrait=24.0.0=h05be00f_1_cpu
- libblas=3.11.0=6_h51639a9_openblas
- libbrotlicommon=1.2.0=hc919400_1
- libbrotlidec=1.2.0=hc919400_1
- libbrotlienc=1.2.0=hc919400_1
- libcblas=3.11.0=6_hb0561ab_openblas
- libcrc32c=1.1.2=hbdafb3b_0
- libcurl=8.20.0=hd5a2499_0
- libcxx=22.1.5=h55c6f16_1
- libdeflate=1.25=hc11a715_0
- libedit=3.1.20250104=pl5321hafb1f1b_0
- libev=4.33=h93a5062_2
- libevent=2.1.12=h2757513_1
- libexpat=2.8.0=hf6b4638_0
- libffi=3.5.2=hcf2aa1b_0
- libfreetype=2.14.3=hce30654_0
- libfreetype6=2.14.3=hdfa99f5_0
- libgcc=15.2.0=hcbb3090_19
- libgfortran=15.2.0=h07b0088_19
- libgfortran5=15.2.0=hdae7583_19
- libgoogle-cloud=3.3.0=he41eb1d_1
- libgoogle-cloud-storage=3.3.0=ha114238_1
- libgrpc=1.78.1=h3e3f78d_0
- libiconv=1.18=h23cfdf5_2
- libjpeg-turbo=3.1.4.1=h84a0fba_0
- liblapack=3.11.0=6_hd9741b5_openblas
- liblzma=5.8.3=h8088a28_0
- libmpdec=4.0.0=h84a0fba_1
- libnghttp2=1.68.1=h8f3e76b_0
- libopenblas=0.3.32=openmp_he657e61_0
- libopentelemetry-cpp=1.26.0=h08d5cc3_0
- libopentelemetry-cpp-headers=1.26.0=hce30654_0
- libparquet=24.0.0=h16c0493_1_cpu
- libpng=1.6.58=h132b30e_0
- libprotobuf=6.33.5=h4a5acfd_0
- libre2-11=2025.11.05=h4c27e2a_1
- libsodium=1.0.21=h1a92334_3
- libsqlite=3.53.1=h1b79a29_0
- libssh2=1.11.1=h1590b86_0
- libthrift=0.22.0=h1fb9c8a_2
- libtiff=4.7.1=h4030677_1
- libutf8proc=2.11.3=h2431656_0
- libwebp-base=1.6.0=h07db88b_0
- libxcb=1.17.0=hdb1d25a_0
- libxml2=2.15.3=heed7d32_0
- libxml2-16=2.15.3=h6967ea9_0
- libzlib=1.3.2=h8088a28_2
- llvm-openmp=22.1.5=hc7d1edf_1
- lz4-c=1.10.0=h286801f_1
- markupsafe=3.0.3=py314h6e9b3f0_1
- matplotlib=3.10.9=py314he55896b_0
- matplotlib-base=3.10.9=py314hc042b31_0
- matplotlib-inline=0.2.2=pyhd8ed1ab_0
- munkres=1.1.4=pyhd8ed1ab_1
- narwhals=2.21.0=pyhcf101f3_0
- ncurses=6.6=h1d4f5a5_0
- nest-asyncio=1.6.0=pyhd8ed1ab_1
- nlohmann_json=3.12.0=h784d473_1
- numpy=2.4.3=py314h1569ea8_0
- openjpeg=2.5.4=hd9e9057_0
- openssl=3.6.2=hd24854e_0
- orc=2.3.0=hd11884d_0
- packaging=26.2=pyhc364b38_0
- parso=0.8.7=pyhcf101f3_0
- pexpect=4.9.0=pyhd8ed1ab_1
- pillow=12.2.0=py314hab283cf_0
- pip=26.1.1=pyh145f28c_0
- platformdirs=4.9.6=pyhcf101f3_0
- prometheus-cpp=1.3.0=h0967b3e_0
- prompt-toolkit=3.0.52=pyha770c72_0
- protobuf=6.33.5=py314he407d35_2
- psutil=7.2.2=py314ha14b1ff_0
- pthread-stubs=0.4=hd74edd7_1002
- ptyprocess=0.7.0=pyhd8ed1ab_1
- pure_eval=0.2.3=pyhd8ed1ab_1
- pyarrow=24.0.0=py314he55896b_0
- pyarrow-core=24.0.0=py314h109bba2_0_cpu
- pydeck=0.9.2=pyhd8ed1ab_0
- pygments=2.20.0=pyhd8ed1ab_0
- pyparsing=3.3.2=pyhcf101f3_0
- pysocks=1.7.1=pyha55dd90_7
- python=3.14.4=h4c637c5_100_cp314
- python-dateutil=2.9.0.post0=pyhe01879c_2
- python-gil=3.14.4=h4df99d1_100
- python-multipart=0.0.28=pyhcf101f3_0
- python_abi=3.14=8_cp314
- pyyaml=6.0.3=py314h6e9b3f0_1
- pyzmq=27.1.0=py312h022ad19_2
- qhull=2020.2=h420ef59_5
- re2=2025.11.05=ha480c28_1
- readline=8.3=h46df422_0
- referencing=0.37.0=pyhcf101f3_0
- requests=2.33.1=pyhcf101f3_1
- rpds-py=0.30.0=py314haad56a0_0
- scipy=1.17.1=py314hfc1f868_0
- setuptools=82.0.1=pyh332efcf_0
- six=1.17.0=pyhe01879c_1
- smmap=5.0.3=pyhd8ed1ab_0
- snappy=1.2.2=hada39a4_1
- stack_data=0.6.3=pyhd8ed1ab_1
- starlette=1.0.0=pyhcf101f3_0
- streamlit=1.57.0=pyhd8ed1ab_0
- tenacity=9.1.4=pyhcf101f3_0
- tk=8.6.13=h010d191_3
- toml=0.10.2=pyhcf101f3_3
- tornado=6.5.5=py314h6c2aa35_0
- traitlets=5.15.0=pyhcf101f3_0
- typing-extensions=4.15.0=h396c80c_0
- typing_extensions=4.15.0=pyhcf101f3_0
- unicodedata2=17.0.1=py314h6c2aa35_0
- urllib3=2.7.0=pyhd8ed1ab_0
- uvicorn=0.46.0=pyhc90fa1f_0
- watchdog=6.0.0=py314ha14b1ff_3
- wcwidth=0.7.0=pyhd8ed1ab_0
- websockets=16.0=py314ha14b1ff_1
- wheel=0.47.0=pyhd8ed1ab_0
- xarray=2026.4.0=pyhc364b38_0
- xorg-libxau=1.0.12=hc919400_1
- xorg-libxdmcp=1.1.5=hc919400_1
- yaml=0.2.5=h925e9cb_3
- zeromq=4.3.5=h4818236_10
- zipp=3.23.1=pyhcf101f3_0
- zlib=1.3.2=h8088a28_2
- zlib-ng=2.3.3=hed4e4f5_1
- zstd=1.5.7=hbf9d68e_6
- pip:
- capytaine==2.3.1
- markdown-it-py==4.2.0
- mdurl==0.1.2
- -e ../../..
- pandas==2.3.3
- pytz==2026.2
- rich==15.0.0
- tzdata==2026.2
4 changes: 2 additions & 2 deletions .calkit/env-locks/openflash-on-main/linux-64.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: openflash-openflash-on-main
channels:
- sea-lab
- conda-forge
- sea-lab
- defaults
dependencies:
- _openmp_mutex=4.5=20_gnu
Expand Down Expand Up @@ -283,4 +284,3 @@ dependencies:
- zlib=1.3.2=h25fd6f3_2
- zlib-ng=2.3.3=hceb46e0_1
- zstd=1.5.7=hb78ec9c_6
name: openflash-openflash-on-main
Loading