Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native Windows build #38872

Open
wants to merge 90 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
89d7cc5
Merge remote-tracking branch 'origin/conda-improv' into meson-win
tobiasdiez Oct 23, 2024
22c75a5
Generate conda environment files for windows
tobiasdiez Oct 23, 2024
0769f31
Mark a few dependencies as optional on windows
tobiasdiez Oct 23, 2024
149c569
Merge remote-tracking branch 'upstream/develop' into meson-win
tobiasdiez Oct 28, 2024
6cde21b
Minor improvements to meson build files
tobiasdiez Oct 28, 2024
b10e365
Meson: mark some dependencies as optional on Windows
tobiasdiez Oct 28, 2024
6846003
Require cysignals again
tobiasdiez Oct 28, 2024
e950d9d
Meson: Improve handling of dependencies
tobiasdiez Oct 28, 2024
6c70e45
Meson: add singular (factory) as subproject
tobiasdiez Oct 28, 2024
a5d70af
Meson: a few more minor revisions
tobiasdiez Oct 28, 2024
526eae4
Meson: improve handling of dependencies
tobiasdiez Oct 28, 2024
8fc3cb6
Exclude a few files from compilation due to errors on windows
tobiasdiez Oct 28, 2024
8f705dc
fix meson build
tobiasdiez Oct 28, 2024
1861ec0
fix singular factory declaration in meson
tobiasdiez Oct 28, 2024
bed071f
Provide wrappers srandom and random for Windows
tobiasdiez Oct 28, 2024
a5d85ce
Replace division by zero with +-inf
tobiasdiez Oct 28, 2024
0e70b7a
Fix Ginac cast error
tobiasdiez Oct 28, 2024
73e22d2
Replace deprecated/removed mem_fun_ref
tobiasdiez Oct 28, 2024
bb916ae
Remove `register` macro in Ginac
tobiasdiez Oct 28, 2024
694d86b
Fix `get_tinfo` specialization for Ginac
tobiasdiez Oct 28, 2024
5062be7
Replace `unistd.h` by `windows.h` on Windows
tobiasdiez Oct 28, 2024
a9e0cb1
Narrow down imports
tobiasdiez Oct 28, 2024
d8b6466
Replace `os.uname` by more universal `platform.system`
tobiasdiez Oct 28, 2024
5a885aa
hide some errors for now
tobiasdiez Oct 28, 2024
6014f7e
Fix syntax error
tobiasdiez Oct 28, 2024
bbd8b48
Catch missing singular dependency
tobiasdiez Oct 28, 2024
37934e0
Replace bootstrap-conda by grayskull and update conda lock files
tobiasdiez Nov 17, 2024
3f456d0
Merge branch 'pr/tobiasdiez/37447' into meson-win
tobiasdiez Nov 19, 2024
f2a2793
Update windows lock files
tobiasdiez Nov 19, 2024
ef8f97c
fix compilation
tobiasdiez Nov 19, 2024
5a8624e
Run ci also on windows
tobiasdiez Nov 19, 2024
c020b20
fix path to env
tobiasdiez Nov 19, 2024
822e408
fix cypari2 detection on linux
tobiasdiez Nov 19, 2024
44c53e7
delete git linker
tobiasdiez Nov 19, 2024
95182ae
fix meson file
tobiasdiez Nov 19, 2024
79d6cfe
Fix singular/factory subproject
tobiasdiez Nov 19, 2024
048fc93
don't use ccache on windows
tobiasdiez Nov 19, 2024
e5f69d0
use pathlib to generate init files
tobiasdiez Nov 19, 2024
6d95aa8
Git-ignore subproject
tobiasdiez Nov 19, 2024
7b73128
fix path
tobiasdiez Nov 19, 2024
625fa8f
Append conda to lib
tobiasdiez Nov 19, 2024
e560ce7
use editable install for now
tobiasdiez Nov 19, 2024
e7d37bd
Format meson files
tobiasdiez Nov 20, 2024
cbcf4a5
hide ci errors on windows
tobiasdiez Nov 25, 2024
c554a90
Compile giac part with c++11 on windows
tobiasdiez Nov 25, 2024
162f873
Install cysignals from upstream
tobiasdiez Nov 25, 2024
5494e8d
Fix type narrowing conversion exception on Windows
tobiasdiez Nov 25, 2024
52124ad
Fix Min/Max macro clash in symmetrica on Windows
tobiasdiez Nov 25, 2024
b93a287
Cleanup meson files
tobiasdiez Nov 25, 2024
1ad7a91
cleanup python
tobiasdiez Nov 25, 2024
5d70778
add change_ring also uses flint
tobiasdiez Nov 27, 2024
04baf44
improve meson build files of singular
tobiasdiez Nov 27, 2024
0f6ba3f
cleanup
tobiasdiez Nov 27, 2024
69c0cf6
compile complex_double as c++
tobiasdiez Nov 28, 2024
5d1b25d
require cysignals again on windows
tobiasdiez Nov 30, 2024
17b5178
Format meson files
tobiasdiez Nov 30, 2024
b38b6a6
Use meson as backend for numpy.f2py
tobiasdiez Oct 29, 2024
9ac4650
Add dependency groups to `pyproject.toml`
tobiasdiez Nov 26, 2024
28583a3
Replace bootstrap-conda by grayskull and update conda lock files
tobiasdiez Nov 17, 2024
7d2a7f7
Add toml as requirement to running the `update-conda` script
tobiasdiez Nov 26, 2024
ab65ab1
Add prerequisites for bootstrap/configure to conda lock files
tobiasdiez Nov 26, 2024
f8b1d44
Downgrade macos again
tobiasdiez Nov 26, 2024
706af72
Manually add expat to conda lock files
tobiasdiez Nov 29, 2024
6a498f7
Add fortran compiler as host requirement
tobiasdiez Nov 29, 2024
baeb2ae
No editable on install on linux
tobiasdiez Dec 2, 2024
0892c0d
Merge remote-tracking branch 'origin/conda-grayskull' into meson-win
tobiasdiez Dec 4, 2024
2939535
Merge remote-tracking branch 'upstream/develop' into meson-win
tobiasdiez Dec 4, 2024
5bb211f
Fix script
tobiasdiez Dec 4, 2024
8ee1c4a
Add docs
tobiasdiez Dec 4, 2024
17e7910
Merge remote-tracking branch 'origin/conda-grayskull' into meson-win
tobiasdiez Dec 9, 2024
bd63f49
Fix non-editable install on windows
tobiasdiez Dec 9, 2024
e755a5a
Fix mtx/meataxe detection on Windows
tobiasdiez Dec 9, 2024
d4924b0
update win lock files to include cysignals and gmpy2
tobiasdiez Dec 9, 2024
20e46c9
No longer need to install cysignals and gmpy2 manually
tobiasdiez Dec 10, 2024
fc3e84c
Merge branch 'ship-init' into meson-win
tobiasdiez Dec 16, 2024
bb5b0fa
Merge branch 'meson-win' of https://github.com/tobiasdiez/sage into m…
tobiasdiez Dec 17, 2024
4b29be4
Merge branch 'develop' into meson-win
tobiasdiez Dec 23, 2024
1686052
Merge branch 'meson-win' of https://github.com/tobiasdiez/sage into m…
tobiasdiez Jan 4, 2025
21a896e
cleanup
tobiasdiez Jan 4, 2025
7877543
Fix linter
tobiasdiez Jan 4, 2025
d4cc54e
Merge remote-tracking branch 'upstream/develop' into meson-win
tobiasdiez Jan 5, 2025
0445ffb
fix sysconf import
tobiasdiez Jan 5, 2025
5fe38f7
Add mpfi subproject
tobiasdiez Jan 11, 2025
f06182e
Fix singular subproject
tobiasdiez Jan 11, 2025
424cc74
Reenable flint compilation for most modules
tobiasdiez Jan 11, 2025
738aae7
delete old factory subproject
tobiasdiez Jan 11, 2025
9e41805
Expand on installation instructions
tobiasdiez Jan 11, 2025
f540844
Revert "Reenable flint compilation for most modules"
tobiasdiez Jan 11, 2025
26761cc
fix build
tobiasdiez Jan 12, 2025
ce1702f
add flint as dependency of matrix_complex_ball_dense
tobiasdiez Jan 12, 2025
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
33 changes: 27 additions & 6 deletions .github/workflows/ci-meson.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu]
os: [ubuntu, windows]
python: ['3.9', '3.10', '3.11']

steps:
Expand All @@ -40,6 +40,17 @@ jobs:
path: ~/conda_pkgs_dir
key:
${{ runner.os }}-conda-${{ hashFiles('environment-3.11-linux.yml') }}

- name: Setup MSVC environment
if: runner.os == 'windows'
uses: ilammy/msvc-dev-cmd@v1

- name: Remove Git link.exe
if: runner.os == 'windows'
# It conflicts with the vs linker
# So we delete it, following the advice on https://github.com/ilammy/msvc-dev-cmd?tab=readme-ov-file#name-conflicts-with-shell-bash
run: rm -f "C:/Program Files/Git/usr/bin/link.exe"
shell: bash

- name: Compiler cache
uses: hendrikmuhs/[email protected]
Expand All @@ -55,7 +66,7 @@ jobs:
channels: conda-forge
channel-priority: true
activate-environment: sage-dev
environment-file: environment-${{ matrix.python }}-${{ startsWith(matrix.os, 'macos') && (startsWith(runner.arch, 'ARM') && 'macos' || 'macos-x86_64') || 'linux' }}.yml
environment-file: environment-${{ matrix.python }}-${{ startsWith(matrix.os, 'macos') && (startsWith(runner.arch, 'ARM') && 'macos' || 'macos-x86_64') || startsWith(matrix.os, 'ubuntu') && 'linux' || 'win' }}.yml

- name: Print Conda environment
shell: bash -l {0}
Expand All @@ -66,9 +77,14 @@ jobs:
- name: Build
shell: bash -l {0}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
export CC="ccache $CC"
export CXX="ccache $CXX"
if [[ "$RUNNER_OS" != "Windows" ]]; then
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
export CC="ccache $CC"
export CXX="ccache $CXX"
else
export LIB="$LIB;$CONDA_PREFIX\\Library\\lib"
fi

# Use --no-deps and pip check below to verify that all necessary dependencies are installed via conda
pip install --no-build-isolation --no-deps --config-settings=builddir=builddir . -v

Expand All @@ -81,7 +97,12 @@ jobs:
run: |
# We don't install sage_setup, so don't try to test it
rm -R ./src/sage_setup/
./sage -t --all -p4
if [[ "$RUNNER_OS" == "Windows" ]]; then
# Ignore errors on Windows, for now
pytest --doctest-ignore-import-errors --doctest -rfEs -s src || true
else
./sage -t --all -p4
fi

- name: Upload log
uses: actions/[email protected]
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,11 @@ builddir-*
build-install
build/cp*

# Meson subprojects
/subprojects/*
!/subprojects/*.wrap
!/subprojects/packagefiles

# Meson temporary files
subprojects/wrapdb.json
src/sage/interfaces/__init__.py
Expand Down
5 changes: 3 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// This settings file is not ignored by git.
"files.exclude": {
"**/__pycache__": true,
"src/**/*.cpp": true,
"src/**/*.so": true
},
"search.exclude": {
Expand Down Expand Up @@ -108,5 +107,7 @@
"zmin"
],
"editor.formatOnType": true,
"esbonio.sphinx.confDir": ""
"esbonio.sphinx.confDir": "",
"C_Cpp.default.compileCommands": "d:\\Programming\\sage\\builddir/compile_commands.json",
"C_Cpp.default.configurationProvider": "mesonbuild.mesonbuild"
}
281 changes: 281 additions & 0 deletions environment-3.10-win.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
name: sage-dev
# Generated by conda-lock.
# platform: win-64
# input_hash: 757f6eb194ca4b7deaace0ae83886655065cf1c8c76cae0552d24605623624f8

channels:
- conda-forge
dependencies:
- _openmp_mutex=4.5=2_gnu
- alabaster=1.0.0=pyhd8ed1ab_1
- annotated-types=0.7.0=pyhd8ed1ab_1
- appdirs=1.4.4=pyh9f0ad1d_0
- asttokens=3.0.0=pyhd8ed1ab_1
- babel=2.16.0=pyhd8ed1ab_1
- backports=1.0=pyhd8ed1ab_5
- backports.tarfile=1.2.0=pyhd8ed1ab_1
- beautifulsoup4=4.12.3=pyha770c72_1
- blas=2.125=openblas
- blas-devel=3.9.0=25_win64_openblas
- boost-cpp=1.85.0=ha5ead02_4
- brotli=1.1.0=h2466b09_2
- brotli-bin=1.1.0=h2466b09_2
- brotli-python=1.1.0=py310h9e98ed7_2
- bzip2=1.0.8=h2466b09_7
- ca-certificates=2024.8.30=h56e8100_0
- cachecontrol=0.14.1=pyha770c72_1
- cachecontrol-with-filecache=0.14.1=pyhd8ed1ab_1
- cachy=0.3.0=pyhd8ed1ab_1
- cairo=1.18.2=h5782bbf_0
- certifi=2024.8.30=pyhd8ed1ab_0
- charset-normalizer=3.4.0=pyhd8ed1ab_1
- clangdev=5.0.0=flang_3
- click=8.1.7=win_pyh7428d3b_1
- click-default-group=1.2.4=pyhd8ed1ab_0
- clikit=0.6.2=pyhd8ed1ab_2
- colorama=0.4.6=pyhd8ed1ab_1
- comm=0.2.2=pyhd8ed1ab_1
- conda-lock=2.5.7=pyhd8ed1ab_0
- conda-souschef=2.2.3=pyhd8ed1ab_0
- contourpy=1.3.1=py310hc19bc0b_0
- conway-polynomials=0.10=pyhd8ed1ab_0
- coverage=7.6.9=py310h38315fa_0
- cpython=3.10.16=py310hd8ed1ab_1
- crashtest=0.4.1=pyhd8ed1ab_1
- cycler=0.12.1=pyhd8ed1ab_1
- cysignals=1.12.0=py310h9e98ed7_0
- cython=3.0.11=py310he320566_3
- debugpy=1.8.9=py310h9e98ed7_0
- decorator=5.1.1=pyhd8ed1ab_1
- distlib=0.3.9=pyhd8ed1ab_1
- docutils=0.21.2=pyhd8ed1ab_1
- double-conversion=3.3.0=h63175ca_0
- ensureconda=1.4.4=pyhd8ed1ab_0
- exceptiongroup=1.2.2=pyhd8ed1ab_1
- execnet=2.1.1=pyhd8ed1ab_1
- executing=2.1.0=pyhd8ed1ab_1
- expat=2.6.4=he0c23c2_0
- filelock=3.16.1=pyhd8ed1ab_1
- flang=5.0.0=he025d50_20180525
- flang_win-64=5.0.0=h13ae965_20180526
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=h77eed37_3
- fontconfig=2.15.0=h765892d_1
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.55.2=py310h38315fa_0
- fortran-compiler=1.8.0=h9655429_0
- freetype=2.12.1=hdaf720e_2
- furo=2024.8.6=pyhd8ed1ab_1
- gitdb=4.0.11=pyhd8ed1ab_1
- gitpython=3.1.43=pyhff2d567_1
- glpk=5.0=h8ffe710_0
- gmp=6.3.0=hfeafd45_2
- gmpy2=2.1.5=py310hff35a3b_3
- graphite2=1.3.13=h63175ca_1003
- grayskull=2.7.3=pyhd8ed1ab_0
- gsl=2.7=hdfb1a43_0
- harfbuzz=9.0.0=h2bedf89_1
- html5lib=1.1=pyhd8ed1ab_1
- icu=75.1=he0c23c2_0
- idna=3.10=pyhd8ed1ab_1
- imagesize=1.4.1=pyhd8ed1ab_0
- importlib-metadata=8.5.0=pyha770c72_1
- importlib_resources=6.4.5=pyhd8ed1ab_1
- iniconfig=2.0.0=pyhd8ed1ab_1
- ipykernel=6.29.5=pyh4bbf305_0
- ipython=8.30.0=pyh7428d3b_0
- ipywidgets=8.1.5=pyhd8ed1ab_1
- jaraco.classes=3.4.0=pyhd8ed1ab_2
- jaraco.context=6.0.1=pyhd8ed1ab_0
- jaraco.functools=4.1.0=pyhd8ed1ab_0
- jedi=0.19.2=pyhd8ed1ab_1
- jinja2=3.1.4=pyhd8ed1ab_1
- jupyter_client=8.6.3=pyhd8ed1ab_1
- jupyter_core=5.7.2=pyh5737063_1
- jupyterlab_widgets=3.0.13=pyhd8ed1ab_1
- keyring=25.5.0=pyh7428d3b_1
- kiwisolver=1.4.7=py310hc19bc0b_0
- krb5=1.21.3=hdf4eb48_0
- lcms2=2.16=h67d730c_0
- lerc=4.0.0=h63175ca_0
- libblas=3.9.0=25_win64_openblas
- libboost=1.85.0=h444863b_4
- libboost-devel=1.85.0=h91493d7_4
- libboost-headers=1.85.0=h57928b3_4
- libbrotlicommon=1.1.0=h2466b09_2
- libbrotlidec=1.1.0=h2466b09_2
- libbrotlienc=1.1.0=h2466b09_2
- libcblas=3.9.0=25_win64_openblas
- libclang13=19.1.5=default_ha5278ca_0
- libdeflate=1.22=h2466b09_0
- libexpat=2.6.4=he0c23c2_0
- libffi=3.4.2=h8ffe710_5
- libflang=5.0.0=h6538335_20180525
- libflint=3.1.2=h0491284_101
- libgcc=14.2.0=h1383e82_1
- libgd=2.3.3=h085315d_10
- libgfortran=14.2.0=h719f0c7_1
- libgfortran5=14.2.0=hf020157_1
- libglib=2.82.2=h7025463_0
- libgomp=14.2.0=h1383e82_1
- libiconv=1.17=hcfcfb64_2
- libintl=0.22.5=h5728263_3
- libjpeg-turbo=3.0.0=hcfcfb64_1
- liblapack=3.9.0=25_win64_openblas
- liblapacke=3.9.0=25_win64_openblas
- liblzma=5.6.3=h2466b09_1
- liblzma-devel=5.6.3=h2466b09_1
- libopenblas=0.3.28=pthreads_hf0a32cb_0
- libpng=1.6.44=h3ca93ac_0
- libsodium=1.0.20=hc70643c_0
- libsqlite=3.47.0=h2466b09_1
- libtiff=4.7.0=hdefb170_2
- libwebp-base=1.4.0=hcfcfb64_0
- libwinpthread=12.0.0.r4.gg4f2fc60ca=h57928b3_8
- libxcb=1.17.0=h0e4246c_0
- libxml2=2.13.5=he286e8c_1
- libxslt=1.1.39=h3df6e99_0
- libzlib=1.3.1=h2466b09_2
- llvm-meta=5.0.0=0
- m4ri=20140914=had7236b_1006
- markupsafe=3.0.2=py310h38315fa_1
- matplotlib=3.9.3=py310h5588dad_0
- matplotlib-base=3.9.3=py310h37e0a56_0
- matplotlib-inline=0.1.7=pyhd8ed1ab_1
- memory-allocator=0.1.3=py310ha8f682b_1
- meson=1.6.0=pyhd8ed1ab_1
- meson-python=0.17.1=pyh70fd9c4_1
- more-itertools=10.5.0=pyhd8ed1ab_1
- mpc=1.3.1=h72bc38f_1
- mpfr=4.2.1=hbc20e70_3
- mpmath=1.3.0=pyhd8ed1ab_1
- msgpack-python=1.1.0=py310hc19bc0b_0
- munkres=1.1.4=pyh9f0ad1d_0
- nauty=2.6.11=h2fa13f4_1
- nest-asyncio=1.6.0=pyhd8ed1ab_1
- networkx=3.4.2=pyh267e887_2
- ninja=1.12.1=hc790b64_0
- numpy=2.2.0=py310hb9d903e_0
- openblas=0.3.28=pthreads_h29161c6_0
- openjpeg=2.5.2=h3d672ee_0
- openmp=5.0.0=vc14_1
- openssl=3.4.0=h2466b09_0
- packaging=24.2=pyhd8ed1ab_2
- pari-elldata=0.0.20161017=0
- pari-galdata=0.0.20180411=0
- pari-seadata=0.0.20090618=0
- pari-seadata-small=0.0.20090618=0
- parso=0.8.4=pyhd8ed1ab_1
- pastel=0.2.1=pyhd8ed1ab_0
- pcre2=10.44=h3d7b363_2
- pexpect=4.9.0=pyhd8ed1ab_1
- pickleshare=0.7.5=pyhd8ed1ab_1004
- pillow=11.0.0=py310h4dc435f_0
- pip=24.3.1=pyh8b19718_0
- pixman=0.44.2=had0cd8c_0
- pkg-config=0.29.2=h88c491f_1009
- pkgconfig=1.5.5=pyhd8ed1ab_5
- pkginfo=1.12.0=pyhd8ed1ab_1
- planarity=3.0.2.0=hcfcfb64_0
- platformdirs=4.3.6=pyhd8ed1ab_1
- pluggy=1.5.0=pyhd8ed1ab_1
- primesieve=12.6=he0c23c2_0
- progressbar2=4.5.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.48=pyha770c72_1
- psutil=6.1.0=py310ha8f682b_0
- pthread-stubs=0.4=h0e40799_1002
- ptyprocess=0.7.0=pyhd8ed1ab_1
- pure_eval=0.2.3=pyhd8ed1ab_1
- pydantic=2.10.3=pyh3cfb1c2_0
- pydantic-core=2.27.1=py310hc226416_0
- pygments=2.18.0=pyhd8ed1ab_1
- pylev=1.4.0=pyhd8ed1ab_0
- pyparsing=3.2.0=pyhd8ed1ab_2
- pyproject-metadata=0.9.0=pyhd8ed1ab_1
- pyside6=6.8.0.2=py310h60c6385_0
- pysocks=1.7.1=pyh09c184e_7
- pytest=8.3.4=pyhd8ed1ab_1
- pytest-xdist=3.6.1=pyhd8ed1ab_1
- python=3.10.16=h37870fc_1_cpython
- python-dateutil=2.9.0.post0=pyhff2d567_1
- python-utils=3.9.1=pyhff2d567_0
- python_abi=3.10=5_cp310
- pytz=2024.2=pyhd8ed1ab_1
- pywin32=307=py310h9e98ed7_3
- pywin32-ctypes=0.2.3=py310h5588dad_1
- pyyaml=6.0.2=py310ha8f682b_1
- pyzmq=26.2.0=py310h656833d_3
- qhull=2020.2=hc790b64_5
- qt6-main=6.8.0=hfb098fa_0
- rapidfuzz=3.10.1=py310h9e98ed7_0
- requests=2.32.3=pyhd8ed1ab_1
- ruamel.yaml=0.18.6=py310ha8f682b_1
- ruamel.yaml.clib=0.2.8=py310ha8f682b_1
- ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_0
- sagemath-db-elliptic-curves=0.8.1=hecc5488_0
- sagemath-db-graphs=20210214=hd8ed1ab_0
- sagemath-db-polytopes=20170220=1
- scipy=1.14.1=py310hbd0dde3_2
- semver=3.0.2=pyhd8ed1ab_0
- setuptools=75.6.0=pyhff2d567_1
- six=1.17.0=pyhd8ed1ab_0
- smmap=5.0.0=pyhd8ed1ab_0
- snowballstemmer=2.2.0=pyhd8ed1ab_0
- soupsieve=2.5=pyhd8ed1ab_1
- sphinx=8.1.3=pyhd8ed1ab_0
- sphinx-basic-ng=1.0.0b2=pyhd8ed1ab_2
- sphinx-inline-tabs=2023.4.21=pyhd8ed1ab_0
- sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_0
- sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_0
- sphinxcontrib-htmlhelp=2.1.0=pyhd8ed1ab_0
- sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_0
- sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_0
- sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_1
- sqlite=3.47.0=h2466b09_1
- stack_data=0.6.3=pyhd8ed1ab_1
- stdlib-list=0.11.0=pyhd8ed1ab_0
- symmetrica=3.0.1=h1537add_0
- sympy=1.13.3=pyh04b8f61_4
- tk=8.6.13=h5226925_1
- toml=0.10.2=pyhd8ed1ab_0
- tomli=2.2.1=pyhd8ed1ab_1
- tomli-w=1.1.0=pyhd8ed1ab_1
- tomlkit=0.13.2=pyha770c72_1
- toolz=0.12.1=pyhd8ed1ab_0
- tornado=6.4.2=py310ha8f682b_0
- traitlets=5.14.3=pyhd8ed1ab_1
- typing-extensions=4.12.2=hd8ed1ab_1
- typing_extensions=4.12.2=pyha770c72_1
- tzdata=2024b=hc8b5060_0
- ucrt=10.0.22621.0=h57928b3_1
- unicodedata2=15.1.0=py310ha8f682b_1
- urllib3=1.26.19=pyhd8ed1ab_0
- vc=14.3=ha32ba9b_23
- vc14_runtime=14.42.34433=he29a5d6_23
- virtualenv=20.28.0=pyhd8ed1ab_0
- vs2015_runtime=14.42.34433=hdffcdeb_23
- vs2022_win-64=19.42.34433=h42a909d_23
- vswhere=3.1.7=h57928b3_0
- wcwidth=0.2.13=pyhd8ed1ab_1
- webencodings=0.5.1=pyhd8ed1ab_3
- wheel=0.45.1=pyhd8ed1ab_1
- widgetsnbextension=4.0.13=pyhd8ed1ab_1
- win_inet_pton=1.1.0=pyh7428d3b_8
- xorg-libice=1.1.1=h0e40799_1
- xorg-libsm=1.2.4=h0e40799_1
- xorg-libx11=1.8.10=hf48077a_1
- xorg-libxau=1.0.11=h0e40799_1
- xorg-libxdmcp=1.1.5=h0e40799_0
- xorg-libxext=1.3.6=h0e40799_0
- xorg-libxpm=3.5.17=h0e40799_1
- xorg-libxt=1.3.1=h0e40799_0
- xz=5.6.3=h208afaa_1
- xz-tools=5.6.3=h2466b09_1
- yaml=0.2.5=h8ffe710_2
- zeromq=4.3.5=ha9f60a1_7
- zipp=3.21.0=pyhd8ed1ab_1
- zlib=1.3.1=h2466b09_2
- zstd=1.5.6=h0ea2cb4_0
Loading
Loading