Comments (11)
@jaimergp I believe its an empty python 3.9 environment which I populate with the commands above.
It was awhile ago, and I could forget, but I usually work in separate environment, not in the base.
from conda-libmamba-solver.
@daico007 - I took your environment (no dev) from this PR (mosdef-hub/gmso#689), reverted the pydantic dependency to < 1.9.0
, and ran it on a clean Docker image:
$ CONDA_SUBDIR=linux-64 conda env create -f daico007.yaml --solver=libmamba --dry-run
conda-forge/noarch Using cache
conda-forge/linux-64 29.6MB @ 2.3MB/s 21.0s
Collect all metadata (repodata.json): done
Solving environment: done
name: daico007
channels:
- conda-forge
dependencies:
- conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
- conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
- conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
- conda-forge/linux-64::libgfortran5==12.2.0=h337968e_19
- conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
- conda-forge/linux-64::python_abi==3.11=3_cp311
- conda-forge/noarch::tzdata==2022g=h191b570_0
- conda-forge/linux-64::libgfortran-ng==12.2.0=h69a702a_19
- conda-forge/linux-64::libgomp==12.2.0=h65d4601_19
- conda-forge/linux-64::_openmp_mutex==4.5=2_gnu
- conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
- conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
- conda-forge/linux-64::cudatoolkit==11.8.0=h37601d7_11
- conda-forge/linux-64::gmp==6.2.1=h58526e2_0
- conda-forge/linux-64::icu==70.1=h27087fc_0
- conda-forge/linux-64::libffi==3.4.2=h7f98852_5
- conda-forge/linux-64::libiconv==1.17=h166bdaf_0
- conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
- conda-forge/linux-64::libopenblas==0.3.21=pthreads_h78a6416_3
- conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
- conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
- conda-forge/linux-64::ncurses==6.3=h27087fc_1
- conda-forge/linux-64::ocl-icd==2.3.1=h7f98852_0
- conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
- conda-forge/linux-64::xz==5.2.6=h166bdaf_0
- conda-forge/linux-64::libblas==3.9.0=16_linux64_openblas
- conda-forge/linux-64::libprotobuf==3.21.12=h3eb15da_0
- conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
- conda-forge/linux-64::libxml2==2.10.3=h7463322_0
- conda-forge/linux-64::mpfr==4.1.0=h9202a9a_1
- conda-forge/linux-64::ocl-icd-system==1.0.0=1
- conda-forge/linux-64::readline==8.1.2=h0f457ee_0
- conda-forge/linux-64::tk==8.6.12=h27826a3_0
- conda-forge/linux-64::libcblas==3.9.0=16_linux64_openblas
- conda-forge/linux-64::liblapack==3.9.0=16_linux64_openblas
- conda-forge/linux-64::libxslt==1.1.37=h873f0b0_0
- conda-forge/linux-64::mpc==1.3.1=hfe3b2da_0
- conda-forge/linux-64::python==3.11.0=he550d4f_1_cpython
- conda-forge/noarch::boltons==21.0.0=pyhd8ed1ab_0
- conda-forge/noarch::certifi==2022.12.7=pyhd8ed1ab_0
- conda-forge/noarch::charset-normalizer==2.1.1=pyhd8ed1ab_0
- conda-forge/noarch::dataclasses==0.8=pyhc8e2a94_3
- conda-forge/noarch::ele==0.2.0=pyhd8ed1ab_0
- conda-forge/linux-64::gmpy2==2.1.2=py311h6a5fa03_1
- conda-forge/noarch::idna==3.4=pyhd8ed1ab_0
- conda-forge/noarch::lark-parser==0.12.0=pyhd8ed1ab_0
- conda-forge/linux-64::lxml==4.9.2=py311h14a6109_0
- conda-forge/noarch::mpmath==1.2.1=pyhd8ed1ab_0
- conda-forge/noarch::networkx==3.0=pyhd8ed1ab_0
- conda-forge/linux-64::numpy==1.24.2=py311h8e6699e_0
- conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
- conda-forge/noarch::pysocks==1.7.1=pyha2e5f31_6
- conda-forge/noarch::pytz==2022.7.1=pyhd8ed1ab_0
- conda-forge/noarch::setuptools==67.1.0=pyhd8ed1ab_0
- conda-forge/noarch::six==1.16.0=pyh6c4a22f_0
- conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
- conda-forge/linux-64::cffi==1.15.1=py311h409f033_3
- conda-forge/linux-64::openmm==8.0.0=py311h59c6c42_0
- conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
- conda-forge/linux-64::protobuf==4.21.12=py311hcafe171_0
- conda-forge/noarch::pydantic==0.18.2=py_0
- conda-forge/noarch::python-dateutil==2.8.2=pyhd8ed1ab_0
- conda-forge/linux-64::sympy==1.11.1=py311h38be061_2
- conda-forge/linux-64::brotlipy==0.7.0=py311hd4cff14_1005
- conda-forge/linux-64::cryptography==39.0.1=py311h9b4c7bb_0
- conda-forge/linux-64::pandas==1.5.3=py311h2872171_0
- conda-forge/noarch::unyt==2.8.0=py_0
- conda-forge/noarch::gmso==0.9.0=pyhd8ed1ab_0
- conda-forge/linux-64::parmed==4.0.0=py311hcafe171_0
- conda-forge/noarch::pyopenssl==23.0.0=pyhd8ed1ab_0
- conda-forge/noarch::urllib3==1.26.14=pyhd8ed1ab_0
- conda-forge/noarch::requests==2.28.2=pyhd8ed1ab_0
- conda-forge/noarch::foyer==0.11.3=pyhd8ed1ab_0
- conda-forge/noarch::forcefield-utilities==0.2.1=pyhd8ed1ab_0
conda-forge/noarch::pydantic==0.18.2=py_0
is being chosen, which reproduces what you saw. classic does get 1.8.2. (note: updated this sentence to fix an oversight)
classic
$ CONDA_SUBDIR=linux-64 conda env create -f daico007.yaml --solver=classic --dry-run
Collecting package metadata (repodata.json): done
Solving environment: done
name: daico007
channels:
- conda-forge
dependencies:
- conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
- conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
- conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
- conda-forge/linux-64::libgfortran5==12.2.0=h337968e_19
- conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
- conda-forge/linux-64::python_abi==3.10=3_cp310
- conda-forge/noarch::tzdata==2022g=h191b570_0
- conda-forge/linux-64::libgfortran-ng==12.2.0=h69a702a_19
- conda-forge/linux-64::libgomp==12.2.0=h65d4601_19
- conda-forge/linux-64::_openmp_mutex==4.5=2_gnu
- conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
- conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
- conda-forge/linux-64::cudatoolkit==11.8.0=h37601d7_11
- conda-forge/linux-64::gmp==6.2.1=h58526e2_0
- conda-forge/linux-64::icu==70.1=h27087fc_0
- conda-forge/linux-64::libffi==3.4.2=h7f98852_5
- conda-forge/linux-64::libiconv==1.17=h166bdaf_0
- conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
- conda-forge/linux-64::libopenblas==0.3.21=pthreads_h78a6416_3
- conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
- conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
- conda-forge/linux-64::ncurses==6.3=h27087fc_1
- conda-forge/linux-64::ocl-icd==2.3.1=h7f98852_0
- conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
- conda-forge/linux-64::xz==5.2.6=h166bdaf_0
- conda-forge/linux-64::libblas==3.9.0=16_linux64_openblas
- conda-forge/linux-64::libprotobuf==3.21.12=h3eb15da_0
- conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
- conda-forge/linux-64::libxml2==2.10.3=h7463322_0
- conda-forge/linux-64::mpfr==4.1.0=h9202a9a_1
- conda-forge/linux-64::ocl-icd-system==1.0.0=1
- conda-forge/linux-64::readline==8.1.2=h0f457ee_0
- conda-forge/linux-64::tk==8.6.12=h27826a3_0
- conda-forge/linux-64::libcblas==3.9.0=16_linux64_openblas
- conda-forge/linux-64::liblapack==3.9.0=16_linux64_openblas
- conda-forge/linux-64::libxslt==1.1.37=h873f0b0_0
- conda-forge/linux-64::mpc==1.3.1=hfe3b2da_0
- conda-forge/linux-64::python==3.10.9=he550d4f_0_cpython
- conda-forge/noarch::boltons==21.0.0=pyhd8ed1ab_0
- conda-forge/noarch::certifi==2022.12.7=pyhd8ed1ab_0
- conda-forge/noarch::charset-normalizer==2.1.1=pyhd8ed1ab_0
- conda-forge/noarch::ele==0.2.0=pyhd8ed1ab_0
- conda-forge/linux-64::gmpy2==2.1.2=py310h3ec546c_1
- conda-forge/noarch::idna==3.4=pyhd8ed1ab_0
- conda-forge/noarch::lark-parser==0.12.0=pyhd8ed1ab_0
- conda-forge/linux-64::lxml==4.9.2=py310hbdc0903_0
- conda-forge/noarch::mpmath==1.2.1=pyhd8ed1ab_0
- conda-forge/noarch::networkx==3.0=pyhd8ed1ab_0
- conda-forge/linux-64::numpy==1.24.2=py310h8deb116_0
- conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
- conda-forge/noarch::pysocks==1.7.1=pyha2e5f31_6
- conda-forge/noarch::pytz==2022.7.1=pyhd8ed1ab_0
- conda-forge/noarch::setuptools==67.1.0=pyhd8ed1ab_0
- conda-forge/noarch::six==1.16.0=pyh6c4a22f_0
- conda-forge/noarch::typing_extensions==4.4.0=pyha770c72_0
- conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
- conda-forge/linux-64::cffi==1.15.1=py310h255011f_3
- conda-forge/linux-64::openmm==8.0.0=py310h5728c26_0
- conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
- conda-forge/linux-64::protobuf==4.21.12=py310heca2aa9_0
- conda-forge/noarch::python-dateutil==2.8.2=pyhd8ed1ab_0
- conda-forge/linux-64::sympy==1.11.1=py310hff52083_2
- conda-forge/noarch::typing-extensions==4.4.0=hd8ed1ab_0
- conda-forge/linux-64::brotlipy==0.7.0=py310h5764c6d_1005
- conda-forge/linux-64::cryptography==39.0.1=py310h34c0648_0
- conda-forge/linux-64::pandas==1.5.3=py310h9b08913_0
- conda-forge/linux-64::pydantic==1.8.2=py310h6acc77f_2
- conda-forge/noarch::unyt==2.8.0=py_0
- conda-forge/linux-64::parmed==4.0.0=py310heca2aa9_0
- conda-forge/noarch::pyopenssl==23.0.0=pyhd8ed1ab_0
- conda-forge/noarch::urllib3==1.26.14=pyhd8ed1ab_0
- conda-forge/noarch::requests==2.28.2=pyhd8ed1ab_0
- conda-forge/noarch::foyer==0.11.3=pyhd8ed1ab_0
- conda-forge/noarch::forcefield-utilities==0.2.1=pyhd8ed1ab_0
- conda-forge/noarch::gmso==0.9.1=pyhd8ed1ab_0
from conda-libmamba-solver.
Hi @jaimergp, when I am constraining the pydantic<1.9
, I am expecting conda
to grab the latest version of pydantic
that satisfy the requirement (which would be v1.8.2, which I would get using mamba
, not v0.18.2), but please correct me if that's not the designed behavior. This discrepancy (between conda
and mamba
) also happened if I just install pydantic
alone, so I can't really blame it's on the inter-dependency in the environment.yml
.
from conda-libmamba-solver.
Hi jaimergp, when I am constraining the
pydantic<1.9
, I am expectingconda
to grab the latest version ofpydantic
that satisfy the requirement (which would be v1.8.2, which I would get usingmamba
, not v0.18.2), but please correct me if that's not the designed behavior. This discrepancy (betweenconda
andmamba
) also happened if I just installpydantic
alone, so I can't really blame it's on the inter-dependency in theenvironment.yml
.
Wow you are right @daico007. I saw 1-8-2
in both and then omitted the 0
. I updated my above comment, sorry! We'll look into it.
from conda-libmamba-solver.
@daico007 I can replicate this, very weird, thanks for reporting, will investigate further
from conda-libmamba-solver.
Might have to do with the stuck openssl=3
migration.
from conda-libmamba-solver.
Here is another example, in this case mamba
solves differently than conda
with libmamba
:
(especially notice wrong cpu
instead of cuda
version is selected for pytorch
and torchvision
)
mamba
❯ mamba install pytorch==1.10.2 torchvision==0.11.3 cudatoolkit=11.3
Package Version Build Channel Size
─────────────────────────────────────────────────────────────────────────────────────
Install:
─────────────────────────────────────────────────────────────────────────────────────
+ cudatoolkit 11.3.1 h9edb442_10 conda-forge/linux-64 856MB
+ ffmpeg 4.3.2 h37c90e5_3 conda-forge/linux-64 10MB
+ future 0.18.2 py39hf3d152e_5 conda-forge/linux-64 Cached
+ gmp 6.2.1 h58526e2_0 conda-forge/linux-64 826kB
+ gnutls 3.6.13 h85f3911_1 conda-forge/linux-64 2MB
+ lame 3.100 h7f98852_1001 conda-forge/linux-64 508kB
+ libprotobuf 3.19.4 h780b84a_0 conda-forge/linux-64 3MB
+ llvm-openmp 14.0.4 he0ac6c6_0 conda-forge/linux-64 6MB
+ mkl 2022.1.0 h84fe81f_915 conda-forge/linux-64 209MB
+ nettle 3.6 he412f7d_0 conda-forge/linux-64 7MB
+ ninja 1.11.0 h924138e_0 conda-forge/linux-64 3MB
+ openh264 2.1.1 h780b84a_0 conda-forge/linux-64 2MB
+ pytorch 1.10.2 cpu_py39h5e9ed0b_1 conda-forge/linux-64 57MB
+ sleef 3.5.1 h9b69904_2 conda-forge/linux-64 2MB
+ tbb 2021.5.0 h924138e_2 conda-forge/linux-64 2MB
+ torchvision 0.11.3 cpu_py39hfc47f1b_2 conda-forge/linux-64 7MB
+ x264 1!161.3030 h7f98852_1 conda-forge/linux-64 3MB
+ zlib 1.2.12 h166bdaf_3 conda-forge/linux-64 94kB
Change:
─────────────────────────────────────────────────────────────────────────────────────
- _openmp_mutex 4.5 2_gnu conda-forge
+ _openmp_mutex 4.5 2_kmp_llvm conda-forge/linux-64 6kB
- libblas 3.9.0 16_linux64_openblas conda-forge
+ libblas 3.9.0 16_linux64_mkl conda-forge/linux-64 13kB
- libcblas 3.9.0 16_linux64_openblas conda-forge
+ libcblas 3.9.0 16_linux64_mkl conda-forge/linux-64 13kB
- liblapack 3.9.0 16_linux64_openblas conda-forge
+ liblapack 3.9.0 16_linux64_mkl conda-forge/linux-64 13kB
Downgrade:
─────────────────────────────────────────────────────────────────────────────────────
- setuptools 65.3.0 pyhd8ed1ab_1 conda-forge
+ setuptools 59.5.0 py39hf3d152e_0 conda-forge/linux-64 1MB
conda
❯ conda install pytorch==1.10.2 torchvision==0.11.3 cudatoolkit=11.3 --experimental-solver=libmamba
The following NEW packages will be INSTALLED:
cudatoolkit conda-forge/linux-64::cudatoolkit-11.3.1-h9edb442_10
cudnn conda-forge/linux-64::cudnn-8.4.1.50-hed8a83a_0
ffmpeg conda-forge/linux-64::ffmpeg-4.3.2-h37c90e5_3
future conda-forge/linux-64::future-0.18.2-py39hf3d152e_5
gmp conda-forge/linux-64::gmp-6.2.1-h58526e2_0
gnutls conda-forge/linux-64::gnutls-3.6.13-h85f3911_1
lame conda-forge/linux-64::lame-3.100-h7f98852_1001
libprotobuf conda-forge/linux-64::libprotobuf-3.19.4-h780b84a_0
llvm-openmp conda-forge/linux-64::llvm-openmp-14.0.4-he0ac6c6_0
magma conda-forge/linux-64::magma-2.5.4-h6103c52_2
mkl conda-forge/linux-64::mkl-2022.1.0-h84fe81f_915
nccl conda-forge/linux-64::nccl-2.14.3.1-h0800d71_0
nettle conda-forge/linux-64::nettle-3.6-he412f7d_0
ninja conda-forge/linux-64::ninja-1.11.0-h924138e_0
openh264 conda-forge/linux-64::openh264-2.1.1-h780b84a_0
pytorch conda-forge/linux-64::pytorch-1.10.2-cuda112py39h4de5995_1
sleef conda-forge/linux-64::sleef-3.5.1-h9b69904_2
tbb conda-forge/linux-64::tbb-2021.5.0-h924138e_2
torchvision conda-forge/linux-64::torchvision-0.11.3-cuda112py39ha475c55_2
x264 conda-forge/linux-64::x264-1!161.3030-h7f98852_1
zlib conda-forge/linux-64::zlib-1.2.12-h166bdaf_3
The following packages will be SUPERSEDED by a higher-priority channel:
setuptools conda-forge/noarch::setuptools-65.3.0~ --> conda-forge/linux-64::setuptools-59.5.0-py39hf3d152e_0
The following packages will be DOWNGRADED:
_openmp_mutex 4.5-2_gnu --> 4.5-2_kmp_llvm
libblas 3.9.0-16_linux64_openblas --> 3.9.0-16_linux64_mkl
libcblas 3.9.0-16_linux64_openblas --> 3.9.0-16_linux64_mkl
liblapack 3.9.0-16_linux64_openblas --> 3.9.0-16_linux64_mkl
Details
conda info
❯ conda info
active environment : base
active env location : /home/ilyap/miniconda3
shell level : 1
user config file : /home/ilyap/.condarc
populated config files : /home/ilyap/.condarc
conda version : 4.14.0
conda-build version : not installed
python version : 3.9.13.final.0
virtual packages : __cuda=11.4=0
__linux=5.15.0=0
__glibc=2.35=0
__unix=0=0
__archspec=1=x86_64
base environment : /home/ilyap/miniconda3 (writable)
conda av data dir : /home/ilyap/miniconda3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/ilyap/miniconda3/pkgs
/home/ilyap/.conda/pkgs
envs directories : /home/ilyap/miniconda3/envs
/home/ilyap/.conda/envs
platform : linux-64
user-agent : conda/4.14.0 requests/2.28.1 CPython/3.9.13 Linux/5.15.0-48-generic ubuntu/22.04.1 glibc/2.35
UID:GID : 1001:1001
netrc file : None
offline mode : False
conarc
❯ /bin/cat ~/.condarc
channels:
- conda-forge
- defaults
channel_priority: strict
conda list
❯ conda list
# packages in environment at ~/miniconda3:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
anyio 3.6.1 pyhd8ed1ab_1 conda-forge
argon2-cffi 21.3.0 pyhd8ed1ab_0 conda-forge
argon2-cffi-bindings 21.2.0 py39hb9d737c_2 conda-forge
asttokens 2.0.8 pyhd8ed1ab_0 conda-forge
attrs 22.1.0 pyh71513ae_1 conda-forge
babel 2.10.3 pyhd8ed1ab_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge
beautifulsoup4 4.11.1 pyha770c72_0 conda-forge
bleach 5.0.1 pyhd8ed1ab_0 conda-forge
brotli 1.0.9 h166bdaf_7 conda-forge
brotli-bin 1.0.9 h166bdaf_7 conda-forge
brotlipy 0.7.0 py39hb9d737c_1004 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.18.1 h7f98852_0 conda-forge
ca-certificates 2022.6.15.1 ha878542_0 conda-forge
certifi 2022.6.15.1 pyhd8ed1ab_0 conda-forge
cffi 1.15.1 py39he91dace_0 conda-forge
charset-normalizer 2.1.1 pyhd8ed1ab_0 conda-forge
colorama 0.4.5 pyhd8ed1ab_0 conda-forge
conda 4.14.0 py39hf3d152e_0 conda-forge
conda-libmamba-solver 22.8.1 pyhd8ed1ab_0 conda-forge
conda-package-handling 1.8.1 py39hb9d737c_1 conda-forge
cryptography 37.0.4 py39hd97740a_0 conda-forge
cycler 0.11.0 pyhd8ed1ab_0 conda-forge
debugpy 1.6.3 py39h5a03fae_0 conda-forge
decorator 5.1.1 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
entrypoints 0.4 pyhd8ed1ab_0 conda-forge
executing 1.0.0 pyhd8ed1ab_0 conda-forge
flit-core 3.7.1 pyhd8ed1ab_0 conda-forge
fonttools 4.37.1 py39hb9d737c_0 conda-forge
freetype 2.12.1 hca18f0e_0 conda-forge
icu 70.1 h27087fc_0 conda-forge
idna 3.3 pyhd8ed1ab_0 conda-forge
importlib-metadata 4.11.4 py39hf3d152e_0 conda-forge
importlib_metadata 4.11.4 hd8ed1ab_0 conda-forge
importlib_resources 5.9.0 pyhd8ed1ab_0 conda-forge
ipykernel 6.15.2 pyh210e3f2_0 conda-forge
ipympl 0.9.2 pyhd8ed1ab_0 conda-forge
ipython 8.5.0 pyh41d4057_1 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
ipywidgets 8.0.2 pyhd8ed1ab_1 conda-forge
jedi 0.18.1 pyhd8ed1ab_2 conda-forge
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
jpeg 9e h166bdaf_2 conda-forge
json5 0.9.5 pyh9f0ad1d_0 conda-forge
jsonschema 4.16.0 pyhd8ed1ab_0 conda-forge
jupyter-lsp 1.5.1 pyhd8ed1ab_0 conda-forge
jupyter_client 7.3.5 pyhd8ed1ab_0 conda-forge
jupyter_core 4.11.1 py39hf3d152e_0 conda-forge
jupyter_server 1.18.1 pyhd8ed1ab_0 conda-forge
jupyterlab 3.4.7 pyhd8ed1ab_0 conda-forge
jupyterlab-lsp 3.10.2 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge
jupyterlab_server 2.15.1 pyhd8ed1ab_0 conda-forge
jupyterlab_widgets 3.0.3 pyhd8ed1ab_0 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
kiwisolver 1.4.4 py39hf939315_0 conda-forge
krb5 1.19.3 h3790be6_0 conda-forge
lcms2 2.12 hddcbb42_0 conda-forge
ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libarchive 3.5.2 hb890918_3 conda-forge
libblas 3.9.0 16_linux64_openblas conda-forge
libbrotlicommon 1.0.9 h166bdaf_7 conda-forge
libbrotlidec 1.0.9 h166bdaf_7 conda-forge
libbrotlienc 1.0.9 h166bdaf_7 conda-forge
libcblas 3.9.0 16_linux64_openblas conda-forge
libcurl 7.83.1 h7bff187_0 conda-forge
libdeflate 1.14 h166bdaf_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libgcc-ng 12.1.0 h8d9b700_16 conda-forge
libgfortran-ng 12.1.0 h69a702a_16 conda-forge
libgfortran5 12.1.0 hdcd56e2_16 conda-forge
libgomp 12.1.0 h8d9b700_16 conda-forge
libiconv 1.16 h516909a_0 conda-forge
liblapack 3.9.0 16_linux64_openblas conda-forge
libmamba 0.25.0 hd8a31e3_2 conda-forge
libmambapy 0.25.0 py39hd55135b_2 conda-forge
libnghttp2 1.47.0 hdcd2b5c_1 conda-forge
libnsl 2.0.0 h7f98852_0 conda-forge
libopenblas 0.3.21 pthreads_h78a6416_3 conda-forge
libpng 1.6.37 h753d276_4 conda-forge
libsodium 1.0.18 h36c2ea0_1 conda-forge
libsolv 0.7.22 h6239696_0 conda-forge
libsqlite 3.39.3 h753d276_0 conda-forge
libssh2 1.10.0 haa6b8db_3 conda-forge
libstdcxx-ng 12.1.0 ha89aaad_16 conda-forge
libtiff 4.4.0 h55922b4_4 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libwebp-base 1.2.4 h166bdaf_0 conda-forge
libxcb 1.13 h7f98852_1004 conda-forge
libxml2 2.9.14 h22db469_4 conda-forge
libxslt 1.1.35 h8affb1d_0 conda-forge
libzlib 1.2.12 h166bdaf_3 conda-forge
lxml 4.9.1 py39hb9d737c_0 conda-forge
lz4-c 1.9.3 h9c3ff4c_1 conda-forge
lzo 2.10 h516909a_1000 conda-forge
mamba 0.25.0 py39hfa8f2c8_2 conda-forge
markupsafe 2.1.1 py39hb9d737c_1 conda-forge
matplotlib-base 3.5.3 py39h19d6b11_2 conda-forge
matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge
mistune 2.0.4 pyhd8ed1ab_0 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
nbclassic 0.4.3 pyhd8ed1ab_0 conda-forge
nbclient 0.6.8 pyhd8ed1ab_0 conda-forge
nbconvert 7.0.0 pyhd8ed1ab_0 conda-forge
nbconvert-core 7.0.0 pyhd8ed1ab_0 conda-forge
nbconvert-pandoc 7.0.0 pyhd8ed1ab_0 conda-forge
nbformat 5.5.0 pyhd8ed1ab_0 conda-forge
ncurses 6.3 h27087fc_1 conda-forge
nest-asyncio 1.5.5 pyhd8ed1ab_0 conda-forge
notebook 6.4.12 pyha770c72_0 conda-forge
notebook-shim 0.1.0 pyhd8ed1ab_0 conda-forge
numpy 1.23.3 py39hba7629e_0 conda-forge
openjpeg 2.5.0 h7d73246_1 conda-forge
openssl 1.1.1q h166bdaf_0 conda-forge
packaging 21.3 pyhd8ed1ab_0 conda-forge
pandoc 2.19.2 ha770c72_0 conda-forge
pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge
parso 0.8.3 pyhd8ed1ab_0 conda-forge
pexpect 4.8.0 pyh9f0ad1d_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pillow 9.2.0 py39hd5dbb17_2 conda-forge
pip 22.2.2 pyhd8ed1ab_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge
prometheus_client 0.14.1 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.31 pyha770c72_0 conda-forge
psutil 5.9.2 py39hb9d737c_0 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.3 py39hb9d737c_1010 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pygments 2.13.0 pyhd8ed1ab_0 conda-forge
pyopenssl 22.0.0 pyhd8ed1ab_0 conda-forge
pyparsing 3.0.9 pyhd8ed1ab_0 conda-forge
pyrsistent 0.18.1 py39hb9d737c_1 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
python 3.9.13 h9a8a25e_0_cpython conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python-fastjsonschema 2.16.1 pyhd8ed1ab_0 conda-forge
python_abi 3.9 2_cp39 conda-forge
pytz 2022.2.1 pyhd8ed1ab_0 conda-forge
pyzmq 23.2.1 py39headdf64_0 conda-forge
readline 8.1.2 h0f457ee_0 conda-forge
reproc 14.2.3 h7f98852_0 conda-forge
reproc-cpp 14.2.3 h9c3ff4c_0 conda-forge
requests 2.28.1 pyhd8ed1ab_1 conda-forge
ruamel_yaml 0.15.80 py39hb9d737c_1007 conda-forge
send2trash 1.8.0 pyhd8ed1ab_0 conda-forge
setuptools 65.3.0 pyhd8ed1ab_1 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
sniffio 1.3.0 pyhd8ed1ab_0 conda-forge
soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge
sqlite 3.39.3 h4ff8645_0 conda-forge
stack_data 0.5.0 pyhd8ed1ab_0 conda-forge
terminado 0.15.0 py39hf3d152e_0 conda-forge
tinycss2 1.1.1 pyhd8ed1ab_0 conda-forge
tk 8.6.12 h27826a3_0 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
toolz 0.12.0 pyhd8ed1ab_0 conda-forge
tornado 6.2 py39hb9d737c_0 conda-forge
tqdm 4.64.1 pyhd8ed1ab_0 conda-forge
traitlets 5.4.0 pyhd8ed1ab_0 conda-forge
typing_extensions 4.3.0 pyha770c72_0 conda-forge
tzdata 2022c h191b570_0 conda-forge
unicodedata2 14.0.0 py39hb9d737c_1 conda-forge
urllib3 1.26.11 pyhd8ed1ab_0 conda-forge
wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge
webencodings 0.5.1 py_1 conda-forge
websocket-client 1.4.1 pyhd8ed1ab_0 conda-forge
wheel 0.37.1 pyhd8ed1ab_0 conda-forge
widgetsnbextension 4.0.3 pyhd8ed1ab_0 conda-forge
xorg-libxau 1.0.9 h7f98852_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
yaml-cpp 0.7.0 h27087fc_1 conda-forge
zeromq 4.3.4 h9c3ff4c_1 conda-forge
zipp 3.8.1 pyhd8ed1ab_0 conda-forge
zstd 1.5.2 h6239696_4 conda-forge
from conda-libmamba-solver.
I experienced an issue that is somewhat related but not identical. If it is sufficiently different, I'll open a new issue.
In my case, I was installing the same PyTorch environment with classic
and libmamba
solvers:
$ conda env create -f pyg-minimal.yml --experimental-solver classic
$ conda env create -f pyg-minimal.yml --experimental-solver libmamba
The classic
solver correctly installed the CPU versions but the libmamba
solver incorrectly installed cudatoolkit
and the CUDA versions.
pyg-minimal.yml
:
name: pyg
channels:
- conda-forge
- pyg
- pytorch
dependencies:
- cpuonly
- pyg=2.1.0
- python=3.9
- pytorch::pytorch=1.12
from conda-libmamba-solver.
@ipcoder - in which environment are you trying to install those packages? I am trying to reproduce but taking your base
gives unsolvable, so I am assuming it has to do with a different environment.
from conda-libmamba-solver.
@ipcoder - my results for the following input:
name: ipcoder
channels:
- conda-forge
- defaults
dependencies:
- python=3.9
- pytorch==1.10.2
- torchvision==0.11.3
- cudatoolkit=11.3
There are some differences in the MKL/openblas stack, but pytorch
itself is indeed CPU in both.
libmamba
$ CONDA_SUBDIR=linux-64 conda env create -f ipcoder.yaml --dry-run --solver=libmamba
warning libmamba Could not parse mod/etag header
warning libmamba Could not parse mod/etag header
warning libmamba Could not parse mod/etag header
pkgs/main/noarch No change
pkgs/r/linux-64 No change
pkgs/r/noarch No change
pkgs/main/linux-64 5.2MB @ 2.5MB/s 2.7s
conda-forge/noarch 11.2MB @ 3.5MB/s 4.3s
conda-forge/linux-64 29.6MB @ 3.3MB/s 12.4s
Collect all metadata (repodata.json): done
Solving environment: done
name: ipcoder
channels:
- conda-forge
- defaults
dependencies:
- conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
- conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
- conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
- conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
- conda-forge/linux-64::python_abi==3.9=3_cp39
- conda-forge/noarch::tzdata==2022g=h191b570_0
- conda-forge/linux-64::libgomp==12.2.0=h65d4601_19
- conda-forge/linux-64::_openmp_mutex==4.5=2_gnu
- conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
- conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
- conda-forge/linux-64::cudatoolkit==11.3.1=h9edb442_11
- conda-forge/linux-64::gmp==6.2.1=h58526e2_0
- conda-forge/linux-64::jpeg==9e=h166bdaf_2
- conda-forge/linux-64::lame==3.100=h166bdaf_1003
- conda-forge/linux-64::lerc==4.0.0=h27087fc_0
- conda-forge/linux-64::libdeflate==1.17=h0b41bf4_0
- conda-forge/linux-64::libffi==3.4.2=h7f98852_5
- conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
- conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
- conda-forge/linux-64::libwebp-base==1.2.4=h166bdaf_0
- conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
- conda-forge/linux-64::ncurses==6.3=h27087fc_1
- conda-forge/linux-64::nettle==3.6=he412f7d_0
- conda-forge/linux-64::ninja==1.11.0=h924138e_0
- conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
- conda-forge/linux-64::pthread-stubs==0.4=h36c2ea0_1001
- conda-forge/linux-64::sleef==3.5.1=h9b69904_2
- conda-forge/linux-64::x264==1!161.3030=h7f98852_1
- conda-forge/linux-64::xorg-libxau==1.0.9=h7f98852_0
- conda-forge/linux-64::xorg-libxdmcp==1.1.3=h7f98852_0
- conda-forge/linux-64::xz==5.2.6=h166bdaf_0
- conda-forge/linux-64::gnutls==3.6.13=h85f3911_1
- conda-forge/linux-64::libpng==1.6.39=h753d276_0
- conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
- conda-forge/linux-64::libxcb==1.13=h7f98852_1004
- conda-forge/linux-64::readline==8.1.2=h0f457ee_0
- conda-forge/linux-64::tk==8.6.12=h27826a3_0
- conda-forge/linux-64::zlib==1.2.13=h166bdaf_4
- conda-forge/linux-64::zstd==1.5.2=h3eb15da_6
- conda-forge/linux-64::freetype==2.12.1=hca18f0e_1
- defaults/linux-64::intel-openmp==2022.1.0=h9e868ea_3769
- conda-forge/linux-64::libprotobuf==3.19.4=h780b84a_0
- conda-forge/linux-64::libtiff==4.5.0=h6adf6a1_2
- conda-forge/linux-64::openh264==2.1.1=h780b84a_0
- conda-forge/linux-64::python==3.9.16=h2782a2a_0_cpython
- conda-forge/linux-64::ffmpeg==4.3.2=h37c90e5_3
- conda-forge/noarch::future==0.18.3=pyhd8ed1ab_0
- conda-forge/linux-64::lcms2==2.14=hfd0df8a_1
- defaults/linux-64::mkl==2022.1.0=hc2b9512_224
- conda-forge/linux-64::openjpeg==2.5.0=hfec8fc6_2
- conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
- conda-forge/linux-64::setuptools==59.5.0=py39hf3d152e_0
- conda-forge/noarch::typing_extensions==4.4.0=pyha770c72_0
- conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
- conda-forge/linux-64::cffi==1.15.1=py39he91dace_3
- conda-forge/linux-64::libblas==3.9.0=16_linux64_mkl
- conda-forge/linux-64::pillow==9.4.0=py39h2320bf1_1
- conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
- conda-forge/linux-64::libcblas==3.9.0=16_linux64_mkl
- conda-forge/linux-64::liblapack==3.9.0=16_linux64_mkl
- conda-forge/linux-64::numpy==1.24.2=py39h7360e5f_0
- conda-forge/linux-64::pytorch==1.10.2=cpu_py39h5e9ed0b_1
- conda-forge/linux-64::torchvision==0.11.3=cpu_py39hfc47f1b_2
classic
$ CONDA_SUBDIR=linux-64 conda env create -f ipcoder.yaml --dry-run
Collecting package metadata (repodata.json): done
Solving environment: done
name: ipcoder
channels:
- conda-forge
- defaults
dependencies:
- conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
- conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
- conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
- conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
- conda-forge/linux-64::python_abi==3.9=3_cp39
- conda-forge/noarch::tzdata==2022g=h191b570_0
- conda-forge/linux-64::_openmp_mutex==4.5=2_kmp_llvm
- conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
- conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
- conda-forge/linux-64::cudatoolkit==11.3.1=h9edb442_11
- conda-forge/linux-64::gmp==6.2.1=h58526e2_0
- conda-forge/linux-64::icu==70.1=h27087fc_0
- conda-forge/linux-64::jpeg==9e=h166bdaf_2
- conda-forge/linux-64::lame==3.100=h166bdaf_1003
- conda-forge/linux-64::lerc==4.0.0=h27087fc_0
- conda-forge/linux-64::libdeflate==1.17=h0b41bf4_0
- conda-forge/linux-64::libffi==3.4.2=h7f98852_5
- conda-forge/linux-64::libiconv==1.17=h166bdaf_0
- conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
- conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
- conda-forge/linux-64::libwebp-base==1.2.4=h166bdaf_0
- conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
- conda-forge/linux-64::ncurses==6.3=h27087fc_1
- conda-forge/linux-64::nettle==3.6=he412f7d_0
- conda-forge/linux-64::ninja==1.11.0=h924138e_0
- conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
- conda-forge/linux-64::pthread-stubs==0.4=h36c2ea0_1001
- conda-forge/linux-64::sleef==3.5.1=h9b69904_2
- conda-forge/linux-64::x264==1!161.3030=h7f98852_1
- conda-forge/linux-64::xorg-libxau==1.0.9=h7f98852_0
- conda-forge/linux-64::xorg-libxdmcp==1.1.3=h7f98852_0
- conda-forge/linux-64::xz==5.2.6=h166bdaf_0
- conda-forge/linux-64::gnutls==3.6.13=h85f3911_1
- conda-forge/linux-64::libpng==1.6.39=h753d276_0
- conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
- conda-forge/linux-64::libxcb==1.13=h7f98852_1004
- conda-forge/linux-64::libxml2==2.10.3=h7463322_0
- conda-forge/linux-64::llvm-openmp==15.0.7=h0cdce71_0
- conda-forge/linux-64::readline==8.1.2=h0f457ee_0
- conda-forge/linux-64::tk==8.6.12=h27826a3_0
- conda-forge/linux-64::zlib==1.2.13=h166bdaf_4
- conda-forge/linux-64::zstd==1.5.2=h3eb15da_6
- conda-forge/linux-64::freetype==2.12.1=hca18f0e_1
- conda-forge/linux-64::libhwloc==2.8.0=h32351e8_1
- conda-forge/linux-64::libprotobuf==3.19.4=h780b84a_0
- conda-forge/linux-64::libtiff==4.5.0=h6adf6a1_2
- conda-forge/linux-64::openh264==2.1.1=h780b84a_0
- conda-forge/linux-64::python==3.9.16=h2782a2a_0_cpython
- conda-forge/linux-64::ffmpeg==4.3.2=h37c90e5_3
- conda-forge/noarch::future==0.18.3=pyhd8ed1ab_0
- conda-forge/linux-64::lcms2==2.14=hfd0df8a_1
- conda-forge/linux-64::openjpeg==2.5.0=hfec8fc6_2
- conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
- conda-forge/linux-64::setuptools==59.5.0=py39hf3d152e_0
- conda-forge/linux-64::tbb==2021.7.0=h924138e_1
- conda-forge/noarch::typing_extensions==4.4.0=pyha770c72_0
- conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
- conda-forge/linux-64::cffi==1.15.1=py39he91dace_3
- conda-forge/linux-64::mkl==2022.2.1=h84fe81f_16997
- conda-forge/linux-64::pillow==9.4.0=py39h2320bf1_1
- conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
- conda-forge/linux-64::libblas==3.9.0=16_linux64_mkl
- conda-forge/linux-64::libcblas==3.9.0=16_linux64_mkl
- conda-forge/linux-64::liblapack==3.9.0=16_linux64_mkl
- conda-forge/linux-64::numpy==1.24.2=py39h7360e5f_0
- conda-forge/linux-64::pytorch==1.10.2=cpu_py39h5e9ed0b_1
- conda-forge/linux-64::torchvision==0.11.3=cpu_py39h955d6d4_2
from conda-libmamba-solver.
Hi @daico007, I have looked a bit further into your reproducer. I just realized you are not specifying any particular python
version, so libsolv
has to try all of them. In that backtracking process, it will try to select pydantic 1.8.2
for Python 3.11, which doesn't exist, and this will trigger a cascade of alternative searches that concludes that the pydantic 0.8.2 does work with Python 3.11 (because it's noarch and its repodata has an open-ended upper bound), before trying Python 3.10 and Pydantic 1.8.2.
IOW, libsolv
cannot anticipate that you'd prefer a more recent pydantic
over a more recent python
, so it prioritizes getting python 3.11
over getting pydantic 1.8.2
.
If you specify any Python version, you do get 1.8.2. This works even with python <3.11
.
More details:
- https://mamba.readthedocs.io/en/latest/advanced_usage/package_resolution.html
- https://conda.github.io/conda-libmamba-solver/libmamba-vs-classic/
- Full logs detailing the backtracking: daico.log.zip
from conda-libmamba-solver.
Related Issues (20)
- conda solver is still extremely slow, even with version 23.10.0 HOT 4
- Release 23.12.x HOT 1
- Scheduled upstream tests failed HOT 1
- Scheduled upstream tests failed HOT 1
- Conda build 3.28.1 fails with libmamba solver 23.12.0 with `KeyError` HOT 8
- Scheduled tests failed HOT 1
- CLS injects channels from installed packages HOT 1
- Scheduled upstream tests failed HOT 1
- Scheduled tests failed HOT 1
- Scheduled upstream tests failed HOT 1
- InavlidMatchSpec error installing from libmamba solver installing into environment with package installed from a file HOT 6
- Scheduled tests failed HOT 1
- Scheduled upstream tests failed HOT 1
- Error while loading conda entry point: conda-libmamba-solver (libarchive.so.10: cannot open shared object file: No such file or directory) HOT 5
- Scheduled upstream tests failed HOT 1
- Can't add additional packages to enviornment created from lock file HOT 3
- Scheduled tests failed HOT 1
- Scheduled tests failed HOT 1
- Scheduled tests failed HOT 1
- libmamba solver doesn't match when uninstalling with wildcard HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conda-libmamba-solver.