# The scientific stack pre-baked into every shipped desktop bundle. # # Single source of truth, read by BOTH sides on BOTH platforms so they cannot # drift: # - scripts/build_macos_dmg.sh installs the pip names into the embedded runtime # - scripts/build_linux_bundle.sh installs the same names into the Linux runtime # - scripts/verify_macos_bundle.py / verify_linux_bundle.py assert each import # name resolves from inside the shipped bundle # # The Windows package carries the Linux bundle as its WSL2 payload, so it # inherits this same set rather than declaring one of its own. # # One package per line: [skip_arch=...] # (# starts a comment). A `skip_arch=` column excludes the package from # bundles built for that architecture — and from that bundle's verifier — # because no wheel exists there; the in-tree consumer degrades gracefully. # # This is the pip-installable superset of the DEFAULT python.yml kernel env plus # the stdlib-networking helpers, so a downloaded app runs the common # cheminformatics / single-cell / dataframe workflows offline with no # `pip install` and no `openai4s setup`. Every entry here has been verified to # wheel on macOS arm64 and Linux x86_64 CPython 3.13 and to import without # pulling numpy below 2.x. # # Deliberately NOT here: torch + fair-esm (torch is ~200MB and belongs to the # GPU/struct env), and the R kernel + bioconda CLIs (mafft/iqtree/fasttree) which # are conda-only binaries pip cannot install. Those stay behind `openai4s setup`. # --- numeric / dataframe / plotting baseline --- numpy numpy pandas pandas scipy scipy matplotlib matplotlib seaborn seaborn plotly plotly pillow PIL sympy sympy statsmodels statsmodels networkx networkx # --- machine learning --- scikit-learn sklearn umap-learn umap numba numba # --- cheminformatics --- rdkit rdkit # --- single-cell --- scanpy[harmony]==1.11.5 scanpy # seurat_v3 HVG needs scikit-misc; it has no linux-aarch64 wheel and the # single-cell Skill falls back to the seurat flavor without it. scikit-misc==0.5.2 skmisc skip_arch=aarch64 anndata anndata leidenalg leidenalg igraph igraph pydeseq2==0.5.4 pydeseq2 # --- bio / IO / storage --- biopython Bio h5py h5py zarr zarr pyarrow pyarrow openpyxl openpyxl pypdf pypdf pypdfium2 pypdfium2 # --- web / parsing / networking --- requests requests httpx httpx socksio socksio PySocks socks beautifulsoup4 bs4 lxml lxml # --- utilities --- tabulate tabulate tqdm tqdm pyyaml yaml python-dateutil dateutil regex regex