diff --git a/.github/workflows/docstr-cov.yml b/.github/workflows/docstr-cov.yml index 8a741e5267b..645d285bffd 100644 --- a/.github/workflows/docstr-cov.yml +++ b/.github/workflows/docstr-cov.yml @@ -31,12 +31,12 @@ jobs: fetch-depth: 0 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.x - name: Install interrogate - run: pip install interrogate==1.5.0 parse==1.19.0 + run: pip install interrogate==1.5.0 parse==1.19.0 setuptools - name: Get SHAs run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7414b517f28..699837c9b4f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,8 +15,8 @@ on: env: CACHE_NUMBER: 0 # increase to reset cache manually - PYTEST_FLAGS: --tardis-refdata=${{ github.workspace }}/tardis-refdata - --cov=tardis --cov-report=xml --cov-report=html + PYTEST_FLAGS: --tardis-refdata=${{ github.workspace }}/tardis-refdata --tardis-snapshot-data=${{ github.workspace }}/tardis-regressions + --cov=tardis --cov-report=xml --cov-report=html CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} concurrency: @@ -86,6 +86,12 @@ jobs: with: path: tardis-refdata/.git/lfs key: ${{ runner.os }}-lfs-${{ hashFiles('tardis-refdata/.lfs-assets-id') }}-v1 + + - name: Clone tardis-sn/tardis-regressions + uses: actions/checkout@v4 + with: + repository: tardis-sn/tardis-regressions + path: tardis-regressions - name: Setup environment uses: conda-incubator/setup-miniconda@v2 diff --git a/.zenodo.json b/.zenodo.json index 38bbf9ae996..6385dd3064f 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -116,10 +116,10 @@ "name": "Barbosa, Talytha" }, { - "name": "Sondhi, Dhruv" + "name": "O'Brien, Jack" }, { - "name": "O'Brien, Jack" + "name": "Sondhi, Dhruv" }, { "name": "Yu, Jenny" @@ -151,19 +151,22 @@ "name": "Singh, Shreyas" }, { - "name": "Eweis, Youssef" + "name": "Reinecke, Martin" }, { - "name": "Reinecke, Martin" + "name": "Eweis, Youssef" }, { "name": "Bylund, Tomas" }, + { + "name": "Black, William" + }, { "name": "Bentil, Laud" }, { - "name": "Black, William" + "name": "Holas, Alexander" }, { "name": "Eguren, Jordi", @@ -178,9 +181,6 @@ { "name": "Bartnik, Matthew" }, - { - "name": "Holas, Alexander" - }, { "name": "Varma Buddaraju, Rohith" }, diff --git a/conda-linux-64.lock b/conda-linux-64.lock index 1aaa04b654c..fd93c9a7bf8 100644 --- a/conda-linux-64.lock +++ b/conda-linux-64.lock @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 31d323d670a8deec16e2186403aa54ab8464102ac712829e12e62d80bc50f272 +# input_hash: c282095367763377f64134aabe34418215a97ab21d09982800cc95beb98ebaa9 @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.7.22-hbcca054_0.conda#a73ecd2988327ad4c8f2c331482917f2 @@ -10,15 +10,15 @@ https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77 https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2#19410c3df09dfb12d1206132a1d357c5 https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.4.0-ha770c72_0.conda#8b8aef0a35f5b98937a65b67b7d3b536 https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda#7aca3059a1729aa76c597603f10b0dd3 -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_1.conda#acfb4817400db5804030a3a7ef7909a1 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_2.conda#9172c297304f2a20134fc56c97fbe229 https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2#9a66894dfd07c4510beb6b3f9672ccc0 -https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-3_cp311.conda#c2e2630ddb68cf52eec74dc7dfab20b5 +https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-4_cp311.conda#d786502c97404c94d7d58d258a445a65 https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda#939e3e74d8be4dac89ce83b20de2492a https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2#f766549260d6815b0c52253f1fb1bb29 -https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_1.conda#8bb001683321dcbde117a7337b5aace7 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_2.conda#e2042154faafe61969556f28bade94b9 https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab -https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_1.conda#ff8999574b465089ba0aa25a5e865bd0 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_2.conda#c28003b0be0494f9a7664389146716ff https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.19.1-hd590300_0.conda#e8c18d865be43e2fb3f7a145b6adf1f5 https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2#ac7bc6a654f8f41b352b38f4051135f8 @@ -36,10 +36,10 @@ https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2#6f8720dff19e17ce5d48cfe7f3d2f0a3 https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda#6305a3dd2752c76335295da4e581f2fd https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 -https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_1.conda#a0d27fd5c6f05aa45e9602b1db49581c +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_2.conda#78fdab09d9138851dde2b5fe2a11019e https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2#b62b52da46c39ee2bc3c162ac7f1804d https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.5.1-hd590300_1.conda#323e90742f0f48fc22bea908735f55e6 -https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-hd590300_1.conda#854e3e1623b39777140f199c5f9ab952 https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2#c3788462a6fbddafdb413a9f9053e58d https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda#f204c8ba400ec475452737094fb81d52 https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda#40b61aab5c7ba9ff276c41cfffe6b80b @@ -48,9 +48,9 @@ https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda# https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda#318b08df404f9c9be5712aaa5a6f0bb0 https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h516909a_1000.tar.bz2#bb14fcb13341b81d5eb386423b9d2bac https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-hcb278e6_0.conda#681105bccc2a3f7f1a837d47d39c9179 -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.2-hd590300_0.conda#e5ac5227582d6c83ccf247288c0eb095 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.3-hd590300_0.conda#7bb88ce04c8deb9f7d763ae04a1da72f https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2#c05d1820a6d34ff07aaaab7a9b7eddaa -https://conda.anaconda.org/conda-forge/linux-64/pixman-0.40.0-h36c2ea0_0.tar.bz2#660e72c82f2e75a6b3fe6a6e75c79f19 +https://conda.anaconda.org/conda-forge/linux-64/pixman-0.42.2-h59595ed_0.conda#700edd63ccd5fc66b70b1c028cea9a68 https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 https://conda.anaconda.org/conda-forge/linux-64/snappy-1.1.10-h9fff704_0.conda#e6d228cd0bb74a51dd18f5bfce0b4115 https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2#4b230e8381279d76131116660f5a241a @@ -67,7 +67,7 @@ https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-hcb278e6_1.conda#8b9 https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_0.conda#43017394a280a42b48d11d2a6e169901 https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_0.conda#8e3e1cb77c4b355a3776bdfb74095bed https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2#4d331e44109e3f0e19b4cb8f9b82f3e1 -https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_1.conda#394218a92951499aed2ab1bafb30b570 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_2.conda#e75a75a6eaf6f318dae2631158c46575 https://conda.anaconda.org/conda-forge/linux-64/libllvm14-14.0.6-hcd5def8_4.conda#73301c133ded2bf71906aa2104edae8b https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.52.0-h61bc06f_0.conda#613955a50485812985c059e7b269f42e https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 @@ -78,7 +78,7 @@ https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.11.5-h232c23b_1.conda# https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.0-hb012696_0.conda#14d87bdff2cbd3b1179a29fb316ed743 https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2#69e2c796349cd9b273890bee0febfe1b https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda#47d31b792659ce70f470b5c82fdfb7a4 -https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-h2797004_0.conda#513336054f884f95d9fd925748f41ef3 https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda#93ee23f12bc2e684548181256edd2cf6 https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.4-h9c3ff4c_1.tar.bz2#21743a8d2ea0c8cfbbf8fe489b0347df https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda#68c34ec6149623be41a1933ab996a209 @@ -111,12 +111,13 @@ https://conda.anaconda.org/conda-forge/noarch/certifi-2023.7.22-pyhd8ed1ab_0.con https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.2.0-pyhd8ed1ab_0.conda#313516e9a4b08b12dfb1e1cd390a96e3 https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda#f3ad426304898027fc619827ff428eca https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 +https://conda.anaconda.org/conda-forge/noarch/colored-1.4.4-pyhd8ed1ab_0.conda#46762cf2ddf6a1498eec36167d719fcc https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb https://conda.anaconda.org/conda-forge/noarch/dataclasses-0.8-pyhc8e2a94_3.tar.bz2#a362b2124b06aad102e2ee4581acee7d -https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.0-py311hb755f60_0.conda#18855bb6c744389b662f6e2ba20acbb7 +https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.0-py311hb755f60_1.conda#2c241533b8eafe8028442d46ef41eb13 https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2#43afe5ab04e35e17ba28649471dd7364 https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2#961b3a227b437d82ad7054484cfa71b2 -https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py311h38be061_3.tar.bz2#3ef4abc4cfa232a15421a0ceef62801f +https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py311h38be061_4.conda#6815ab599d904e21243aad721d0b2bbb https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2#3cf04868fee0a029769bd41f4b2fbf2d https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda#e6518222753f519e911e83136d2158d9 https://conda.anaconda.org/conda-forge/noarch/executing-1.2.0-pyhd8ed1ab_0.tar.bz2#4c1bc140e2be5c8ba6e3acab99e25c50 @@ -131,16 +132,16 @@ https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.b https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2#5071c982548b3a20caf70462f04f5287 https://conda.anaconda.org/conda-forge/noarch/json5-0.9.14-pyhd8ed1ab_0.conda#dac1dabba2b5a9d1aee175c5fcc7b436 -https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-2.4-py311h38be061_2.conda#46786941fbb695d0c1fa25af64526e7c +https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-2.4-py311h38be061_3.conda#41d52d822edf991bf0e6b08c1921a8ec https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.7-pyhd8ed1ab_0.conda#608e312cd17cb7119033fae7d7420572 -https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py311h9547e67_0.conda#f53903649188b99e6b44c560c69f5b23 +https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py311h9547e67_1.conda#2c65bdf442b0d37aad080c8a4e0d452f https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.15-h7f713cb_2.conda#9ab79924a3760f85a799f21bc99bd655 https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-18_linux64_openblas.conda#bcddbb497582ece559465b9cd11042e7 https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.3.0-hca28451_0.conda#4ab41bee09a2d2e08de5f09d6f1eef62 https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-hdffd6e0_0.conda#a8661c87c873d8c8f90479318ebf0a17 https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.40.1-py311ha6695c7_0.conda#7a2b62d839516ba0cf56717e902229f4 -https://conda.anaconda.org/conda-forge/linux-64/lxml-4.9.3-py311h1a07684_0.conda#59a580306d62ef144c9dd592b5120f36 -https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py311h459d7ec_0.conda#9904dc4adb5d547cb21e136f98cb24b0 +https://conda.anaconda.org/conda-forge/linux-64/lxml-4.9.3-py311h1a07684_1.conda#aab51e50d994e58efdfa5382139b0468 +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py311h459d7ec_1.conda#71120b5155a0c500826cf81536721a15 https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.1-pyhd8ed1ab_0.conda#1dad8397c94e4de97a70de552a7dcf49 https://conda.anaconda.org/conda-forge/noarch/mock-5.0.2-pyhd8ed1ab_0.conda#541e4834b1e46ed786829dc63e4d4ca2 https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_0.conda#dbf6e2d89137da32fa6670f3bffc024e @@ -157,14 +158,14 @@ https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2# https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda#405678b942f2481cecdb3e010f4925d9 https://conda.anaconda.org/conda-forge/noarch/pluggy-1.3.0-pyhd8ed1ab_0.conda#2390bd10bed1f3fdc7a537fb5a447d8d https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.17.1-pyhd8ed1ab_0.conda#02153b6b760bbec00cfe9e4c97993d06 -https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py311h2582759_0.conda#a90f8e278c1cd7064b2713e6b7db87e6 +https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py311h459d7ec_1.conda#490d7fa8675afd1aa6f1b2332d156a45 https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2#359eeb6536da0e687af562ed265ec263 https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.2-pyhd8ed1ab_0.tar.bz2#6784285c7e55cb7212efabc79e4c2883 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_0.tar.bz2#6f6d42b894118f8378fce11887ccdaff https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pygments-2.16.1-pyhd8ed1ab_0.conda#40e5cb18165466773619e5c963f00a7b -https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.1-pyhd8ed1ab_0.conda#176f7d56f0cfe9008bdf1bccd7de02fb https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.19.3-py38h1de0b5d_0.conda#a33157288d499397a2a56da4d724948d https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 https://conda.anaconda.org/conda-forge/noarch/python-dokuwiki-1.3.3-pyhd8ed1ab_0.tar.bz2#a13dedbf73a833f0fbb2cb34467db1a3 @@ -172,8 +173,8 @@ https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.18.0-pyhd8 https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda#a61bf9ec79426938ff785eb69dbb1960 https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.3-pyhd8ed1ab_0.conda#2590495f608a63625e165915fb4e2e34 https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda#c93346b446cd08c169d843ae5fc0da97 -https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py311h459d7ec_0.conda#30eaaf31141e785a445bf1ede6235fe3 -https://conda.anaconda.org/conda-forge/linux-64/pyzmq-25.1.1-py311h75c88c4_0.conda#af6d43afe0d179ac83b7e0c16b2caaad +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py311h459d7ec_1.conda#52719a74ad130de8fb5d047dc91f247a +https://conda.anaconda.org/conda-forge/linux-64/pyzmq-25.1.1-py311h75c88c4_1.conda#b858421f6a3052950c33aecd44a905cb https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2#912a71cc01012ee38e6b90ddd561e36f https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.10.3-py311h46250e7_0.conda#da1b2b57ac17853cfeb4197d0595db45 https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.2-pyh41d4057_0.conda#ada5a17adcd10be4fc7e37e4166ba0e2 @@ -187,10 +188,10 @@ https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed https://conda.anaconda.org/conda-forge/noarch/tenacity-8.2.3-pyhd8ed1ab_0.conda#1482e77f87c6a702a7e05ef22c9b197b https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 -https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py311h459d7ec_0.conda#7d9a31416c18704f55946ff7cf8da5dc -https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.0-pyhd8ed1ab_0.conda#efd3f63a93621367d4fa6e274c511696 -https://conda.anaconda.org/conda-forge/linux-64/typed-ast-1.5.5-py311h459d7ec_0.conda#8d71764e91367221870289c1ba7421a4 -https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda#c39d6a09fe819de4951c2642629d9115 +https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py311h459d7ec_1.conda#a700fcb5cedd3e72d0c75d095c7a6eda +https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.1-pyhd8ed1ab_0.conda#1bbf337ea62a92bd082d429fbdf82b15 +https://conda.anaconda.org/conda-forge/linux-64/typed-ast-1.5.5-py311h459d7ec_1.conda#adbf4910d1bc814145a7c2bbcb800c50 +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda#5b1be40a26d10a06f6d4f1f9e19fa0c7 https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2#eb67e3cace64c66233e2d35949e20f92 https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py38h0a891b7_0.tar.bz2#44421904760e9f5ae2035193e04360f0 https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda#0944dc65cb4a9b5b68522c3bb585d41c @@ -200,7 +201,7 @@ https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.6.3-pyhd8ed1ab_ https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.2-pyhd8ed1ab_0.conda#1ccd092478b3e0ee10d7a891adbf8a4f https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda#82b6df12252e6f32402b96dacc656fec https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda#ed67c36f215b310412b2af935bf3e530 -https://conda.anaconda.org/conda-forge/noarch/zipp-3.16.2-pyhd8ed1ab_0.conda#2da0451b54c4563c32490cb1b7cf68a1 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda#2e4d6bc0b14e10f895fc6791a7d9b26a https://conda.anaconda.org/conda-forge/noarch/anyio-4.0.0-pyhd8ed1ab_0.conda#3c4e99d3ae4ec033d4dd99fb5220e540 https://conda.anaconda.org/conda-forge/noarch/astropy-sphinx-theme-1.1-pyhd8ed1ab_0.conda#9941dc6d227213c20be1a1f45bdf1102 https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.0-pyhd8ed1ab_0.conda#056f04e51dd63337e8d7c425c18c86f1 @@ -211,15 +212,15 @@ https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.2-pyha770c72_0 https://conda.anaconda.org/conda-forge/noarch/bleach-6.0.0-pyhd8ed1ab_0.conda#d48b143d01385872a88ef8417e96c30e https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-h0c91306_1017.conda#3db543896d34fc6804ddfb9239dcb125 -https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311h409f033_3.conda#9025d0786dbbe4bc91fd8e85502decce +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311hb3a22ac_5.conda#75d52ef1d318d18e554aadd13ce91b9d https://conda.anaconda.org/conda-forge/noarch/comm-0.1.4-pyhd8ed1ab_0.conda#c8eaca39e2b6abae1fc96acc929ae939 https://conda.anaconda.org/conda-forge/noarch/commonmark-0.9.1-py_0.tar.bz2#6aa0173c14befcd577ded130cf6f22f5 -https://conda.anaconda.org/conda-forge/linux-64/coverage-7.3.1-py311h459d7ec_0.conda#d23df37f3a595e8ffca99642ab6df3eb +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.3.1-py311h459d7ec_1.conda#bb0e424cb11a7e86700d0bf69e24faec https://conda.anaconda.org/conda-forge/noarch/dot2tex-2.11.3-pyhd8ed1ab_0.tar.bz2#fb28e38d17dee34abc13cf6ad916534a https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.42.1-py311h459d7ec_0.conda#fc327c0ea015db3b6484eabb37d44e60 https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.2-nompi_h4f84152_100.conda#2de6a9bc8083b49f09b2f6eb28d3ba3c https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.8.0-pyha770c72_0.conda#4e9f59a060c3be52bc4ddc46ee9b6946 -https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.0.1-pyhd8ed1ab_0.conda#d978c61aa5fc2c69380d53ad56b5ae86 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.1.0-pyhd8ed1ab_0.conda#48b0d98e0c0ec810d3ccc2a0926c8c0e https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.0-pyhd8ed1ab_0.conda#1cd7f70057cdffc10977b613fb75425d https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2#c8490ed5c70966d232fdd389d0dbed37 https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.2.2-pyhd8ed1ab_0.tar.bz2#243f63592c8e449f40cd42eb5cf32f40 @@ -230,7 +231,7 @@ https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-18_linux64_openb https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.6-pyhd8ed1ab_0.tar.bz2#b21613793fcc81d944c76c9f2864a7de https://conda.anaconda.org/conda-forge/noarch/overrides-7.4.0-pyhd8ed1ab_0.conda#4625b7b01d7f4ac9c96300a5515acfaa https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh1a96a4e_2.tar.bz2#330448ce4403cc74990ac07c555942a1 -https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.1-py311h8aef010_0.conda#d9e86516e5179ba108f3ecf7ec535410 +https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.1-py311h8aef010_1.conda#4d66ee2081a7cd444ff6f30d95873eef https://conda.anaconda.org/conda-forge/noarch/pip-23.2.1-pyhd8ed1ab_0.conda#e2783aa3f9235225eec92f9081c5b801 https://conda.anaconda.org/conda-forge/noarch/plotly-5.17.0-pyhd8ed1ab_0.conda#76a0b213abcd3ffc1e8fa78804b69dc0 https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.2-pyhd8ed1ab_0.conda#6dd662ff5ac9a783e5c940ce9f3fe649 @@ -242,14 +243,14 @@ https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda# https://conda.anaconda.org/conda-forge/noarch/terminado-0.17.1-pyh41d4057_0.conda#3788984d535770cad699efaeb6cb3037 https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.2.1-pyhd8ed1ab_0.tar.bz2#7234c9eefff659501cd2fe0d2ede4d48 https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.1-pyhd8ed1ab_0.conda#03c97908b976498dcae97eb4e4f3149c -https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda#f96688577f1faa58096d06a45136afa2 -https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.4-pyhd8ed1ab_0.conda#18badd8fa3648d1beb1fcc7f2e0f756e -https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py311hd4cff14_3.tar.bz2#5159e874f65ac382773d2b534a1d7b80 +https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda#384462e63262a527bda564fa2d9126c0 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.5-pyhd8ed1ab_0.conda#3bda70bbeb2920f44db5375af2e5fe38 +https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py311h459d7ec_4.conda#de5b16869a430949b02161b04b844a30 https://conda.anaconda.org/conda-forge/noarch/arrow-1.2.3-pyhd8ed1ab_0.tar.bz2#fd1967c76eda3a3dd9e8e6cb7a15a028 https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py38h0a891b7_1005.tar.bz2#e99e08812dfff30fdd17b3f8838e2759 https://conda.anaconda.org/conda-forge/linux-64/cryptography-40.0.2-py38h3d167d9_0.conda#5443d5da3591c818482757981424c5b4 https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2#642d35437078749ef23a5dca2c9bb1f3 -https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.2.0-h3d44ed6_0.conda#3c9bf4083e1a1be134b9a0c75cf7e635 +https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.2.1-h3d44ed6_0.conda#98db5f8813f45e2b29766aff0e4a499c https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-6.8.0-hd8ed1ab_0.conda#b279b07ce18058034e5b3606ba103a8b https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.7.1-pyhd8ed1ab_0.conda#7c27ea1bdbe520bb830dcadd59f55cbf https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.4.4-pyhd8ed1ab_1.conda#7c0965e1d4a0ee1529e8eaa03a78a5b3 @@ -261,34 +262,35 @@ https://conda.anaconda.org/conda-forge/noarch/pytest-cov-4.1.0-pyhd8ed1ab_0.cond https://conda.anaconda.org/conda-forge/noarch/pytest-doctestplus-1.0.0-pyhd8ed1ab_0.conda#4ec3803f0a0a6343faca020350bd0a1a https://conda.anaconda.org/conda-forge/noarch/pytest-metadata-3.0.0-pyhd8ed1ab_1.conda#8bdcc0f401561213821bf67513abeeff https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda#a30144e4156cdbb236f99ebb49828f8b -https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-7.1.0-pyhd8ed1ab_0.conda#6613dbb3b25cc648a107f33ca9f80fc1 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-8.0.3-pyhd8ed1ab_0.conda#23929f6e32fba28210bf0c329a8cf941 https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda#e7df0fdd404616638df5ece6e69ba7af +https://conda.anaconda.org/conda-forge/noarch/syrupy-4.5.0-pyhd8ed1ab_0.conda#23a01c37640f9a8ec3872752c7ff80aa https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.6-pyhd8ed1ab_0.conda#078979d33523cb477bd1916ce41aacc9 https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda#3afef1f55a1366b4d3b6a0d92e2235e4 https://conda.anaconda.org/conda-forge/noarch/black-22.3.0-pyhd8ed1ab_0.tar.bz2#7ecbfaae9a30b73c1a6e36e4a0debc03 -https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.1.1-py311h9547e67_0.conda#db5b3b0093d0d4565e5c89578108402e -https://conda.anaconda.org/conda-forge/linux-64/h5py-3.9.0-nompi_py311h3839ddf_102.conda#8d9855dc6328f3568740ee1e9414f200 +https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.1.1-py311h9547e67_1.conda#52d3de443952d33c5cee6b24b172ce96 +https://conda.anaconda.org/conda-forge/linux-64/h5py-3.9.0-nompi_py311h3839ddf_103.conda#7b58e77a895c43882717f545f660e3bc https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2#4cb68948e0b8429534380243d063a27a -https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.0-pyhd8ed1ab_1.conda#d442886dffcee45604595fea2ad3a181 -https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-5.3.1-py311h38be061_0.conda#0cf8259b01ede82c76007996f73f89ed +https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.1-pyhd8ed1ab_0.conda#78aff5d2af74e6537c1ca73017f01f4f +https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-5.3.2-py311h38be061_0.conda#4e4341e940c0dfa1038c1a2d11fd8c3e https://conda.anaconda.org/conda-forge/linux-64/numba-0.57.1-py311h96b013e_0.conda#618010d18c4a38073a7f51d9dd3fd8a8 -https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.8.4-py311h039bad6_101.conda#c6cf33cd90e2ba83c66949ff5ec2ebbf -https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.0-py311h320fe9a_0.conda#7f35501e126df510b250ad893482ef45 +https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.8.7-py311h320fe9a_100.conda#ad2a2f34d378e350b11d110ecd80a2e1 +https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.1-py311h320fe9a_0.conda#1692362ba82f0556099f0143f7842de3 https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-ha41ecd1_2.conda#1a66c10f6a0da3dbd2f3a68127e7f6a0 https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.39-pyha770c72_0.conda#a4986c6bb5b0d05a38855b0880a5f425 -https://conda.anaconda.org/conda-forge/linux-64/pybtex-docutils-1.0.3-py311h38be061_0.conda#9315d24cb42f9f99ce76750056f3d8d6 -https://conda.anaconda.org/conda-forge/linux-64/pyerfa-2.0.0.3-py311h1f0f07a_0.conda#4074bf03f2e23ee282de5d9c17940b47 +https://conda.anaconda.org/conda-forge/linux-64/pybtex-docutils-1.0.3-py311h38be061_1.conda#137a63bd93d3e1a2b6812119b671f44e +https://conda.anaconda.org/conda-forge/linux-64/pyerfa-2.0.0.3-py311h1f0f07a_1.conda#a0e2120653c9866c1c53cf758d0186ac https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.1.1-pyhd8ed1ab_0.conda#0b34aa3ab7e7ccb1765a03dd9ed29938 https://conda.anaconda.org/conda-forge/noarch/pytest-html-3.2.0-pyhd8ed1ab_1.tar.bz2#d5c7a941dfbceaab4b172a56d7918eb0 -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.11.2-py311h64a7726_1.conda#58af16843fc4469770bdbaf45d3a19de -https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-7.1.0-hd8ed1ab_0.conda#75abb977a0ae63a8039b12fa0925eeb8 +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.11.3-py311h64a7726_0.conda#756e8ac1d784f704c0b22559b4bff7b0 +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-8.0.3-hd8ed1ab_0.conda#da055c131516bfc51a5f5479b9390b2e https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-apidoc-0.3.0-py_1.tar.bz2#855b087883443abb10f5faf6eef40860 https://conda.anaconda.org/conda-forge/linux-64/astropy-5.3.3-py311h1f0f07a_0.conda#e625f7df5ec7b9bd3655c63000c40b04 https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2#957a0255ab58aaf394a91725d73ab422 -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.0-pyhd8ed1ab_1.conda#d273b30bcf4db0ef6b1195b3b61b3d68 +https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.1-pyhd8ed1ab_0.conda#daca0665e6fe8a376e48b9f0b5865326 https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.3.1-pyhd8ed1ab_0.conda#b7cc0981484fcb6390e6d341e55618b3 https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.3-h98fae49_0.conda#620e754f4344f4c27259ff460a2b9c50 -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.7.2-py311h54ef318_0.conda#2631a9e423855fb586c05f8a5ee8b177 +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.0-py311h54ef318_1.conda#20d79e2fe53b49b399f3d36977b05abb https://conda.anaconda.org/conda-forge/noarch/nbformat-5.9.2-pyhd8ed1ab_0.conda#61ba076de6530d9301a0053b02f093d2 https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.39-hd8ed1ab_0.conda#4bbbe67d5df19db30f04b8e344dc9976 https://conda.anaconda.org/conda-forge/linux-64/pytables-3.8.0-py311h10c7f7f_3.conda#c3896f06c2850c5206ae9d684121ddee @@ -299,8 +301,8 @@ https://conda.anaconda.org/conda-forge/noarch/nbclient-0.8.0-pyhd8ed1ab_0.conda# https://conda.anaconda.org/conda-forge/noarch/radioactivedecay-0.4.21-pyhd8ed1ab_0.conda#673319f48d9b160c8056783d301e090c https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.25.2-pyh2140261_0.conda#226f2032ec491cc6e9ce66072660e4f6 https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.8.0-pyhd8ed1ab_0.conda#62345c9e24f898bf492979be84a6eb0a -https://conda.anaconda.org/conda-forge/linux-64/pygraphviz-1.11-py311h72a77b7_0.conda#e8f7fad69f6806368eab99a91b594ebd -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_0.conda#969249eb7c2f7a9b820520a355dc7d04 +https://conda.anaconda.org/conda-forge/linux-64/pygraphviz-1.11-py311h72a77b7_1.conda#7044cd923985abb6e3b976e5ac0542b8 +https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_1.conda#0123f934221b023ddc7443e85cac9023 https://conda.anaconda.org/conda-forge/noarch/nbconvert-pandoc-7.8.0-pyhd8ed1ab_0.conda#1dba1a577df2625a24667612a069e91c https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.0-pyhd8ed1ab_0.conda#38589f4104d11f2a59ff01a9f4e3bfb3 https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.25.0-pyhd8ed1ab_0.conda#a52834fa7e3d12abc5efdf06b2097a05 @@ -308,7 +310,7 @@ https://conda.anaconda.org/conda-forge/noarch/nbconvert-7.8.0-pyhd8ed1ab_0.conda https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.3-pyhd8ed1ab_0.conda#67e0fe74c156267d9159e9133df7fd37 https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.0.6-pyhd8ed1ab_0.conda#80bb1cc3b540790cb5afecd73c2d4d1f https://conda.anaconda.org/conda-forge/noarch/nbclassic-1.0.0-pyhb4ecaf3_1.conda#a0be31e9bd84d6eae87cdbf74c56b90b -https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.3-pyhd8ed1ab_0.conda#1f2d368cde97926b5e351d1a0286bb1e +https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.4-pyhd8ed1ab_0.conda#9fe0b0f2e8a6dbae64947e90079ea54c https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.6-pyhd8ed1ab_0.conda#fe79dfe7d51794d665ec3c2fdd4e47c3 https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.0-pyhd8ed1ab_0.conda#518b05adab6cfe6ea249319932d9d4a3 https://conda.anaconda.org/conda-forge/noarch/qgrid-1.3.1-pyhd8ed1ab_4.tar.bz2#fff68c7404813a1eb2678425f00e9917 diff --git a/conda-lock.yml b/conda-lock.yml index 7b25a11453c..def78a5fb0e 100644 --- a/conda-lock.yml +++ b/conda-lock.yml @@ -9,20 +9,21 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f tardis_env3.yml -f /Users/wkerzend/python/tardis/tardis_env3.yml --lockfile conda-lock.yml +# conda-lock -f tardis_env3.yml -f /Users/wkerzend/python/tardis/tardis_env3.yml -f /home/atharva/workspace/code/tardis-main/tardis/tardis_env3.yml --lockfile conda-lock.yml metadata: channels: - url: conda-forge used_env_vars: [] content_hash: - linux-64: 31d323d670a8deec16e2186403aa54ab8464102ac712829e12e62d80bc50f272 - osx-64: a32c45fe2a9272de47a9c858b1b632bb1de0c3a0cd55bffe7df61cc7ef21eecd + linux-64: c282095367763377f64134aabe34418215a97ab21d09982800cc95beb98ebaa9 + osx-64: e0b8122702e46d054c30bc66450a0041530cf14a3c2f3dcc4daed538bb8c0785 platforms: - linux-64 - osx-64 sources: - tardis_env3.yml - /Users/wkerzend/python/tardis/tardis_env3.yml + - /home/atharva/workspace/code/tardis-main/tardis/tardis_env3.yml package: - category: main dependencies: {} @@ -115,13 +116,13 @@ package: - category: main dependencies: {} hash: - md5: acfb4817400db5804030a3a7ef7909a1 - sha256: b4ee92e483b24dbcdbaab0928e14bf338342268e3c413111413ee36284006d56 + md5: 9172c297304f2a20134fc56c97fbe229 + sha256: ab22ecdc974cdbe148874ea876d9c564294d5eafa760f403ed4fd495307b4243 manager: conda name: libstdcxx-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_2.conda version: 13.2.0 - category: main dependencies: {} @@ -137,13 +138,13 @@ package: - category: main dependencies: {} hash: - md5: c2e2630ddb68cf52eec74dc7dfab20b5 - sha256: 2966a87dcb0b11fad28f9fe8216bfa4071115776b47ffc7547492fed176e1a1f + md5: d786502c97404c94d7d58d258a445a65 + sha256: 0be3ac1bf852d64f553220c7e6457e9c047dfb7412da9d22fbaa67e60858b3cf manager: conda name: python_abi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-3_cp311.conda + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-4_cp311.conda version: '3.11' - category: main dependencies: {} @@ -175,13 +176,13 @@ package: dependencies: _libgcc_mutex: 0.1 conda_forge hash: - md5: 8bb001683321dcbde117a7337b5aace7 - sha256: cc9b25e3a0329326936164ca666861738e2833460cd1e0bb2086acb5781a7795 + md5: e2042154faafe61969556f28bade94b9 + sha256: e1e82348f8296abfe344162b3b5f0ddc2f504759ebeb8b337ba99beaae583b15 manager: conda name: libgomp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_2.conda version: 13.2.0 - category: main dependencies: @@ -213,13 +214,13 @@ package: _libgcc_mutex: 0.1 conda_forge _openmp_mutex: '>=4.5' hash: - md5: ff8999574b465089ba0aa25a5e865bd0 - sha256: 98fef2f6d766ea98e64fb378c2c9ae57bf53220440e4ba15eea3d7cf27b69a58 + md5: c28003b0be0494f9a7664389146716ff + sha256: d361d3c87c376642b99c1fc25cddec4b9905d3d9b9203c1c545b8c8c1b04539a manager: conda name: libgcc-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_2.conda version: 13.2.0 - category: main dependencies: @@ -434,13 +435,13 @@ package: dependencies: libgcc-ng: '>=13.2.0' hash: - md5: a0d27fd5c6f05aa45e9602b1db49581c - sha256: 30b4194151c1d6cdede3da8c33aabb848cde4db2fc68e7f5607f2e4a38d881d7 + md5: 78fdab09d9138851dde2b5fe2a11019e + sha256: 55ecf5c46c05a98b4822a041d6e1cb196a7b0606126eb96b24131b7d2c8ca561 manager: conda name: libgfortran5 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_2.conda version: 13.2.0 - category: main dependencies: @@ -468,15 +469,15 @@ package: version: 2.1.5.1 - category: main dependencies: - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' hash: - md5: 39b1328babf85c7c3a61636d9cd50206 - sha256: 32f4fb94d99946b0dabfbbfd442b25852baf909637f2eed1ffe3baea15d02aad + md5: 854e3e1623b39777140f199c5f9ab952 + sha256: c0a0c0abc1c17983168c3239d79a62d53c424bc5dd1764dbcd0fa953d6fce5e0 manager: conda name: libnsl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-hd590300_1.conda version: 2.0.0 - category: main dependencies: @@ -580,14 +581,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: e5ac5227582d6c83ccf247288c0eb095 - sha256: b113fbac327c90cdc29c2fac0f2a2e5cc0d1918b2a5ffa7abd49b695b9b3c6e9 + md5: 7bb88ce04c8deb9f7d763ae04a1da72f + sha256: f4e35f506c7e8ab7dfdc47255b0d5aa8ce0c99028ae0affafd274333042c4f70 manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.2-hd590300_0.conda - version: 3.1.2 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.3-hd590300_0.conda + version: 3.1.3 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -603,16 +604,17 @@ package: version: '8.45' - category: main dependencies: - libgcc-ng: '>=7.5.0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' hash: - md5: 660e72c82f2e75a6b3fe6a6e75c79f19 - sha256: 6a0630fff84b5a683af6185a6c67adc8bdfa2043047fcb251add0d352ef60e79 + md5: 700edd63ccd5fc66b70b1c028cea9a68 + sha256: ae917851474eb3b08812b02c9e945d040808523ec53f828aa74a90b0cdf15f57 manager: conda name: pixman optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.40.0-h36c2ea0_0.tar.bz2 - version: 0.40.0 + url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.42.2-h59595ed_0.conda + version: 0.42.2 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -812,15 +814,15 @@ package: version: 3.1.20191231 - category: main dependencies: - libgfortran5: 13.2.0 ha4646dd_1 + libgfortran5: 13.2.0 ha4646dd_2 hash: - md5: 394218a92951499aed2ab1bafb30b570 - sha256: 08f9cd5830b5f498cbea2f32cdf755c1cdee8d3c48dd2c48d6dda142cdb5d473 + md5: e75a75a6eaf6f318dae2631158c46575 + sha256: 767d71999e5386210fe2acaf1b67073e7943c2af538efa85c101e3401e94ff62 manager: conda name: libgfortran-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_2.conda version: 13.2.0 - category: main dependencies: @@ -966,17 +968,17 @@ package: version: '8.2' - category: main dependencies: - libgcc-ng: '>=9.4.0' - libzlib: '>=1.2.11,<1.3.0a0' + libgcc-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 5b8c42eb62e9fc961af70bdd6a26e168 - sha256: 032fd769aad9d4cad40ba261ab222675acb7ec951a8832455fce18ef33fa8df0 + md5: 513336054f884f95d9fd925748f41ef3 + sha256: 679e944eb93fde45d0963a22598fafacbb429bb9e7ee26009ba81c4e0c435055 manager: conda name: tk optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2 - version: 8.6.12 + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-h2797004_0.conda + version: 8.6.13 - category: main dependencies: libgcc-ng: '>=12' @@ -1439,6 +1441,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 version: 0.4.6 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 46762cf2ddf6a1498eec36167d719fcc + sha256: 18a1ff961c9015b674212044d5d63f7510279e6880a5626ef2af32d0abf4cc18 + manager: conda + name: colored + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/colored-1.4.4-pyhd8ed1ab_0.conda + version: 1.4.4 - category: main dependencies: python: '>=3.6' @@ -1470,13 +1484,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 18855bb6c744389b662f6e2ba20acbb7 - sha256: 966207d8cf7774abc190e462f8f1eaa7438c8ae9d3d2ab2c96d0a5d3fef24a53 + md5: 2c241533b8eafe8028442d46ef41eb13 + sha256: f18492ebfaea54bbbeaec0ae207851f711ff589f60f2cc9b8a689f88b2442171 manager: conda name: debugpy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.0-py311hb755f60_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.0-py311hb755f60_1.conda version: 1.8.0 - category: main dependencies: @@ -1507,13 +1521,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 3ef4abc4cfa232a15421a0ceef62801f - sha256: 4a885aa0c53716922a0b6a1af3a690d33b9965ef2eec75a0541064affdaa757a + md5: 6815ab599d904e21243aad721d0b2bbb + sha256: f8622b7ac95654b7a3236cd3fa9e07ab6121548e39713e55ee95fc64a8f1fab6 manager: conda name: docutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py311h38be061_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py311h38be061_4.conda version: 0.17.1 - category: main dependencies: @@ -1704,13 +1718,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 46786941fbb695d0c1fa25af64526e7c - sha256: bd4f518f2e717ad5ce6a442a589b853ae4a043ce38fe3145dea0fdc3c052ec19 + md5: 41d52d822edf991bf0e6b08c1921a8ec + sha256: 976f7bf3c3a49c3066f36b67c12ae06b31542e53b843bb4362f31c9e449c6c46 manager: conda name: jsonpointer optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-2.4-py311h38be061_2.conda + url: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-2.4-py311h38be061_3.conda version: '2.4' - category: main dependencies: @@ -1731,13 +1745,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: f53903649188b99e6b44c560c69f5b23 - sha256: 4ff5804105829e10da7955740f8a2f058c1c5cc19d0004b59af7070544a5a42e + md5: 2c65bdf442b0d37aad080c8a4e0d452f + sha256: 723b0894d2d2b05a38f9c5a285d5a0a5baa27235ceab6531dbf262ba7c6955c1 manager: conda name: kiwisolver optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py311h9547e67_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py311h9547e67_1.conda version: 1.4.5 - category: main dependencies: @@ -1820,19 +1834,19 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libxml2: '>=2.11.4,<2.12.0a0' + libxml2: '>=2.11.5,<2.12.0a0' libxslt: '>=1.1.37,<2.0a0' libzlib: '>=1.2.13,<1.3.0a0' python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 59a580306d62ef144c9dd592b5120f36 - sha256: 587bfb0fc6b18c74a1ce6eee6a3023e78c1ad28cc4acc83acf5ecf0ca9e80aef + md5: aab51e50d994e58efdfa5382139b0468 + sha256: 9ee461843278f695c5e301b4575e7dd02f69021e85023b62b17f7dfe2cd173e4 manager: conda name: lxml optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/lxml-4.9.3-py311h1a07684_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/lxml-4.9.3-py311h1a07684_1.conda version: 4.9.3 - category: main dependencies: @@ -1840,13 +1854,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 9904dc4adb5d547cb21e136f98cb24b0 - sha256: 747b00706156b61d48565710f38cdb382e22f7db03e5b429532a2d5d5917c313 + md5: 71120b5155a0c500826cf81536721a15 + sha256: e1a9930f35e39bf65bc293e24160b83ebf9f800f02749f65358e1c04882ee6b0 manager: conda name: markupsafe optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py311h459d7ec_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py311h459d7ec_1.conda version: 2.1.3 - category: main dependencies: @@ -2050,13 +2064,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: a90f8e278c1cd7064b2713e6b7db87e6 - sha256: aa5b377f1555a09ba702d9ac9d0d0585d74cbaf8897e45e5cfa4c464732a6493 + md5: 490d7fa8675afd1aa6f1b2332d156a45 + sha256: e92d2120fc4b98fe838b3d52d4907fae97808bdd504fb84aa33aea8c4be7bc61 manager: conda name: psutil optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py311h2582759_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py311h459d7ec_1.conda version: 5.9.5 - category: main dependencies: @@ -2134,14 +2148,14 @@ package: dependencies: python: '>=3.6' hash: - md5: e8fbc1b54b25f4b08281467bc13b70cc - sha256: 4acc7151cef5920d130f2e0a7615559cce8bfb037aeecb14d4d359ae3d9bc51b + md5: 176f7d56f0cfe9008bdf1bccd7de02fb + sha256: 4a1332d634b6c2501a973655d68f08c9c42c0bd509c349239127b10572b8354b manager: conda name: pyparsing optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2 - version: 3.0.9 + url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.1-pyhd8ed1ab_0.conda + version: 3.1.1 - category: main dependencies: libgcc-ng: '>=12' @@ -2236,13 +2250,13 @@ package: python_abi: 3.11.* *_cp311 yaml: '>=0.2.5,<0.3.0a0' hash: - md5: 30eaaf31141e785a445bf1ede6235fe3 - sha256: 0d0c010046ff718a5feb75fa6302e2893e5b1f5cecd0f7bba9ba56394d696097 + md5: 52719a74ad130de8fb5d047dc91f247a + sha256: 28729ef1ffa7f6f9dfd54345a47c7faac5d34296d66a2b9891fb147f4efe1348 manager: conda name: pyyaml optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py311h459d7ec_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py311h459d7ec_1.conda version: 6.0.1 - category: main dependencies: @@ -2253,13 +2267,13 @@ package: python_abi: 3.11.* *_cp311 zeromq: '>=4.3.4,<4.4.0a0' hash: - md5: af6d43afe0d179ac83b7e0c16b2caaad - sha256: ed20bfb466d4746f616cb4b7e7f51d4ea9beaedca1c163f901cf3bcce558febb + md5: b858421f6a3052950c33aecd44a905cb + sha256: 846612e248330bfa579c71b837d2c82a2b3755c1b982dd647f5bcb0047f58f9f manager: conda name: pyzmq optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-25.1.1-py311h75c88c4_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-25.1.1-py311h75c88c4_1.conda version: 25.1.1 - category: main dependencies: @@ -2426,52 +2440,52 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 7d9a31416c18704f55946ff7cf8da5dc - sha256: ee633576893cf4b87752acebddb0237ef6cd7abf716d319c4834f9865a04d41e + md5: a700fcb5cedd3e72d0c75d095c7a6eda + sha256: 3f0640415c6f50c6b31b5ce41a870ac48c130fda8921aae11afea84c54a6ba84 manager: conda name: tornado optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py311h459d7ec_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py311h459d7ec_1.conda version: 6.3.3 - category: main dependencies: python: '>=3.8' hash: - md5: efd3f63a93621367d4fa6e274c511696 - sha256: 615b75e65112a5fd55f21bcd30745a8802cac658bb3724a8460775c691d383a1 + md5: 1bbf337ea62a92bd082d429fbdf82b15 + sha256: e08f4a59dcd05cec649f9d3634e5f627157bd2ccf8f3c9511b5fd1f98e532f5d manager: conda name: traitlets optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.0-pyhd8ed1ab_0.conda - version: 5.10.0 + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.1-pyhd8ed1ab_0.conda + version: 5.10.1 - category: main dependencies: libgcc-ng: '>=12' python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 8d71764e91367221870289c1ba7421a4 - sha256: a9fdd3684f04d60dc3f1dcdaac0d5e2019da6048076759d161eba4faa701ffa5 + md5: adbf4910d1bc814145a7c2bbcb800c50 + sha256: 955d53e0bae312b45d63508b9242fe269f6e73b7894ddcb5af19d5ec861eef91 manager: conda name: typed-ast optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/typed-ast-1.5.5-py311h459d7ec_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/typed-ast-1.5.5-py311h459d7ec_1.conda version: 1.5.5 - category: main dependencies: - python: '>=3.7' + python: '>=3.8' hash: - md5: c39d6a09fe819de4951c2642629d9115 - sha256: 6edd6d5be690be492712cb747b6d62707f0d0c34ef56eefc796d91e5a03187d1 + md5: 5b1be40a26d10a06f6d4f1f9e19fa0c7 + sha256: 38d16b5c53ec1af845d37d22e7bb0e6c934c7f19499123507c5a470f6f8b7dde manager: conda name: typing_extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda - version: 4.7.1 + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda + version: 4.8.0 - category: main dependencies: python: '>=3.6.1' @@ -2590,14 +2604,14 @@ package: dependencies: python: '>=3.8' hash: - md5: 2da0451b54c4563c32490cb1b7cf68a1 - sha256: 16d72127e150a3d5cbdc0b82c4069ef5be135c64bc99e71e7928507910669b41 + md5: 2e4d6bc0b14e10f895fc6791a7d9b26a + sha256: bced1423fdbf77bca0a735187d05d9b9812d2163f60ab426fc10f11f92ecbe26 manager: conda name: zipp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.16.2-pyhd8ed1ab_0.conda - version: 3.16.2 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda + version: 3.17.0 - category: main dependencies: exceptiongroup: '' @@ -2755,13 +2769,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 9025d0786dbbe4bc91fd8e85502decce - sha256: 7161bcdf1a304f76e88a05ed435c03ee92864ee5e8f4c938e35b089b3861b5a7 + md5: 75d52ef1d318d18e554aadd13ce91b9d + sha256: 099c1f624ef07265c775f539411271acb8054e1c6597cd3ee8089717de8d932a manager: conda name: cffi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311h409f033_3.conda + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311hb3a22ac_5.conda version: 1.15.1 - category: main dependencies: @@ -2796,13 +2810,13 @@ package: python_abi: 3.11.* *_cp311 tomli: '' hash: - md5: d23df37f3a595e8ffca99642ab6df3eb - sha256: 79e0cb899c1f7977eecc9c1df7e2ba5fb01d6c176320aa58d28e11860e663d1c + md5: bb0e424cb11a7e86700d0bf69e24faec + sha256: 45eb7102e79e9f49a139d2a479840652d79ce1ff5984836bfd13768029bf0e22 manager: conda name: coverage optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.3.1-py311h459d7ec_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.3.1-py311h459d7ec_1.conda version: 7.3.1 - category: main dependencies: @@ -2870,14 +2884,14 @@ package: python: '>=3.8' zipp: '>=3.1.0' hash: - md5: d978c61aa5fc2c69380d53ad56b5ae86 - sha256: 0ca2154b3baf419d20baeddd962c1efa9bb673e66308000358a26d8d427ef90d + md5: 48b0d98e0c0ec810d3ccc2a0926c8c0e + sha256: adab6da633ec3b642f036ab5c1196c3e2db0e8db57fb0c7fc9a8e06e29fa9bdc manager: conda name: importlib_resources optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.0.1-pyhd8ed1ab_0.conda - version: 6.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.1.0-pyhd8ed1ab_0.conda + version: 6.1.0 - category: main dependencies: parso: '>=0.8.0,<0.9.0' @@ -3033,13 +3047,13 @@ package: python_abi: 3.11.* *_cp311 tk: '>=8.6.12,<8.7.0a0' hash: - md5: d9e86516e5179ba108f3ecf7ec535410 - sha256: 9ba15ebcee656e34810c733e76268cd7090f1ad013d14548cd8c753e0c6b5552 + md5: 4d66ee2081a7cd444ff6f30d95873eef + sha256: 42f21344c2fb7ee614243a632e261580408b24003d83cf34548661c2973a368a manager: conda name: pillow optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.1-py311h8aef010_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.1-py311h8aef010_1.conda version: 10.0.1 - category: main dependencies: @@ -3198,30 +3212,30 @@ package: version: 4.66.1 - category: main dependencies: - typing_extensions: 4.7.1 pyha770c72_0 + typing_extensions: 4.8.0 pyha770c72_0 hash: - md5: f96688577f1faa58096d06a45136afa2 - sha256: d5d19b8f5b275240c19616a46d67ec57250b3720ba88200da8c732c3fcbfc21d + md5: 384462e63262a527bda564fa2d9126c0 + sha256: d6e1dddd0c372218ef15912383d351ac8c73465cbf16238017f0269813cafe2d manager: conda name: typing-extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda - version: 4.7.1 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda + version: 4.8.0 - category: main dependencies: brotli-python: '>=1.0.9' pysocks: '>=1.5.6,<2.0,!=1.5.7' python: '>=3.7' hash: - md5: 18badd8fa3648d1beb1fcc7f2e0f756e - sha256: 06a62b6bff8828161b9cd17dd394e47177f320ca5050f806bc7840f9519e8ea7 + md5: 3bda70bbeb2920f44db5375af2e5fe38 + sha256: b5d9d3c0e2c001aed437be0071f1c11365a519efe5966cb6815be1307e1ce6a3 manager: conda name: urllib3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.4-pyhd8ed1ab_0.conda - version: 2.0.4 + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.5-pyhd8ed1ab_0.conda + version: 2.0.5 - category: main dependencies: cffi: '>=1.0.1' @@ -3229,13 +3243,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 5159e874f65ac382773d2b534a1d7b80 - sha256: a79e7600c22552782850f5734b89bb7eb0bba15999c68d58706e32d86f5380e8 + md5: de5b16869a430949b02161b04b844a30 + sha256: 104194af519b4e667aa5341068b94b521a791aaaa05ec0091f8f0bdba43a60ac manager: conda name: argon2-cffi-bindings optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py311hd4cff14_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py311h459d7ec_4.conda version: 21.2.0 - category: main dependencies: @@ -3302,17 +3316,17 @@ package: graphite2: '' icu: '>=73.2,<74.0a0' libgcc-ng: '>=12' - libglib: '>=2.76.4,<3.0a0' + libglib: '>=2.78.0,<3.0a0' libstdcxx-ng: '>=12' hash: - md5: 3c9bf4083e1a1be134b9a0c75cf7e635 - sha256: e22f79fbfadff01e19eabd0b30b1fa5407c4510857f7654986e83d997d48c14e + md5: 98db5f8813f45e2b29766aff0e4a499c + sha256: 5ca6585e6a4348bcbe214d57f5d6f560d15d23a6650770a2909475848b214edb manager: conda name: harfbuzz optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.2.0-h3d44ed6_0.conda - version: 8.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.2.1-h3d44ed6_0.conda + version: 8.2.1 - category: main dependencies: importlib-metadata: '>=6.8.0,<6.8.1.0a0' @@ -3480,14 +3494,14 @@ package: tomli: '>=1.0.0' typing-extensions: '' hash: - md5: 6613dbb3b25cc648a107f33ca9f80fc1 - sha256: 9c4693b9163b3c678840aed86b615fac81e6327312edf522f0e1bef7eae5fe9a + md5: 23929f6e32fba28210bf0c329a8cf941 + sha256: 624bf7d4c0fa83c3b2a9b7aacb5be0c0e74fb5c583410732f9a4d32acfdd5cae manager: conda name: setuptools-scm optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-7.1.0-pyhd8ed1ab_0.conda - version: 7.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-8.0.3-pyhd8ed1ab_0.conda + version: 8.0.3 - category: main dependencies: asttokens: '' @@ -3503,6 +3517,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda version: 0.6.2 +- category: main + dependencies: + colored: '>=1.3.92,<2.0.0' + pytest: '>=7.0.0,<8.0.0' + python: '>=3.8.1,<4.0' + hash: + md5: 23a01c37640f9a8ec3872752c7ff80aa + sha256: 0945c0b2fd39441fb0920c146a43a60f0fdef535dfba636c80a52270e79242b4 + manager: conda + name: syrupy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/syrupy-4.5.0-pyhd8ed1ab_0.conda + version: 4.5.0 - category: main dependencies: backports.functools_lru_cache: '' @@ -3558,13 +3586,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: db5b3b0093d0d4565e5c89578108402e - sha256: ce9d60a134b3843ba64cc8378cd3b7e346d4377c0a889ea12634cf6703ec66f5 + md5: 52d3de443952d33c5cee6b24b172ce96 + sha256: dbc70ddc7ce3e764b22e9ebc14e635268b2d9e8b0abe32a19f46def110eb8f47 manager: conda name: contourpy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.1.1-py311h9547e67_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.1.1-py311h9547e67_1.conda version: 1.1.1 - category: main dependencies: @@ -3575,13 +3603,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 8d9855dc6328f3568740ee1e9414f200 - sha256: 17fb7088437c5a5418b26cca3f3de4c8e519cf8c9a65eac26e45e85d51a72ef4 + md5: 7b58e77a895c43882717f545f660e3bc + sha256: e38d87258211cae51977778ebaa690399307c9745744106b6a5e7e6b6b1ee973 manager: conda name: h5py optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.9.0-nompi_py311h3839ddf_102.conda + url: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.9.0-nompi_py311h3839ddf_103.conda version: 3.9.0 - category: main dependencies: @@ -3606,14 +3634,14 @@ package: referencing: '>=0.28.4' rpds-py: '>=0.7.1' hash: - md5: d442886dffcee45604595fea2ad3a181 - sha256: 4c1f9ffa8056fc96d292d119746d5d87e2d0308cd19b063943efbde05e0accdf + md5: 78aff5d2af74e6537c1ca73017f01f4f + sha256: b4e50e1d53b984a467e79b7ba69cc408d14e3a2002cad4eaf7798e20268cff2d manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.0-pyhd8ed1ab_1.conda - version: 4.19.0 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.1-pyhd8ed1ab_0.conda + version: 4.19.1 - category: main dependencies: platformdirs: '>=2.5' @@ -3621,14 +3649,14 @@ package: python_abi: 3.11.* *_cp311 traitlets: '>=5.3' hash: - md5: 0cf8259b01ede82c76007996f73f89ed - sha256: d8d4d662b5a645d7937fb1fbbac3820ea82097acf26fd57f5990a5ced17aad54 + md5: 4e4341e940c0dfa1038c1a2d11fd8c3e + sha256: 189435dc967fb5a83f7855abadc6ea503a7f242cbbb1d21c8785b375cfe967ae manager: conda name: jupyter_core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-5.3.1-py311h38be061_0.conda - version: 5.3.1 + url: https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-5.3.2-py311h38be061_0.conda + version: 5.3.2 - category: main dependencies: libgcc-ng: '>=12' @@ -3655,14 +3683,14 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: c6cf33cd90e2ba83c66949ff5ec2ebbf - sha256: 52382c25c111da7ed9feb5d2c17abf1ab2e9771a9a22129bcefe2b463f609a64 + md5: ad2a2f34d378e350b11d110ecd80a2e1 + sha256: 0ccc60dd0144b0d6fc8c2c676c89c3d1bb899fac9e2f7d7387cafb2fc71b6533 manager: conda name: numexpr optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.8.4-py311h039bad6_101.conda - version: 2.8.4 + url: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.8.7-py311h320fe9a_100.conda + version: 2.8.7 - category: main dependencies: libgcc-ng: '>=12' @@ -3674,14 +3702,14 @@ package: python_abi: 3.11.* *_cp311 pytz: '>=2020.1' hash: - md5: 7f35501e126df510b250ad893482ef45 - sha256: a646aa09362584156d5e895fc31e9dfdd6e5a0e32005feb6c3abd5238d29887b + md5: 1692362ba82f0556099f0143f7842de3 + sha256: b18deb01c895ccbaff3f85014b61fed0197b05fa7dffb77e7d054023e1f1127c manager: conda name: pandas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.0-py311h320fe9a_0.conda - version: 2.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.1-py311h320fe9a_0.conda + version: 2.1.1 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -3723,13 +3751,13 @@ package: python_abi: 3.11.* *_cp311 setuptools: '' hash: - md5: 9315d24cb42f9f99ce76750056f3d8d6 - sha256: 69d137de92faf7542d137f0765a8d4e194df1e7c1036a98f8f851126fba74951 + md5: 137a63bd93d3e1a2b6812119b671f44e + sha256: 2b7057a1529e190689c141d4a76a7ae2f9f978870737d7e11c3a8e03ad5b27cb manager: conda name: pybtex-docutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pybtex-docutils-1.0.3-py311h38be061_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pybtex-docutils-1.0.3-py311h38be061_1.conda version: 1.0.3 - category: main dependencies: @@ -3738,13 +3766,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 4074bf03f2e23ee282de5d9c17940b47 - sha256: 71d13cf08961b43feeed0322e1d5d16a068335a5822c81a024d23a04115dc966 + md5: a0e2120653c9866c1c53cf758d0186ac + sha256: 3e2bf0fca0ec2b1be1ab36188918ea1aba9e158fd6cec7b27c5fb1b6365f8af8 manager: conda name: pyerfa optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyerfa-2.0.0.3-py311h1f0f07a_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pyerfa-2.0.0.3-py311h1f0f07a_1.conda version: 2.0.0.3 - category: main dependencies: @@ -3787,26 +3815,26 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 58af16843fc4469770bdbaf45d3a19de - sha256: d9955f3c370b090ccaced77ceb5b7c7722a7d7e062edf87e7db9fbfb413bae46 + md5: 756e8ac1d784f704c0b22559b4bff7b0 + sha256: 96d00ea5682208df18d3e529020dff66779f2c59510b03cc69c9d00c3a88b9dd manager: conda name: scipy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.11.2-py311h64a7726_1.conda - version: 1.11.2 + url: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.11.3-py311h64a7726_0.conda + version: 1.11.3 - category: main dependencies: - setuptools-scm: '>=7.1.0,<7.1.1.0a0' + setuptools-scm: '>=8.0.3,<8.0.4.0a0' hash: - md5: 75abb977a0ae63a8039b12fa0925eeb8 - sha256: c31cbd374ce9e02d99c74a3823725030158abc50a8adfea40db11b965fbd017d + md5: da055c131516bfc51a5f5479b9390b2e + sha256: dfe476e30a8b1165d349675c9055f3446472c39f3dc9d281c5cd7d22bb2b0787 manager: conda name: setuptools_scm optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-7.1.0-hd8ed1ab_0.conda - version: 7.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-8.0.3-hd8ed1ab_0.conda + version: 8.0.3 - category: main dependencies: pbr: '' @@ -3863,21 +3891,21 @@ package: idna: '' isoduration: '' jsonpointer: '>1.13' - jsonschema: '>=4.19.0,<4.19.1.0a0' + jsonschema: '>=4.19.1,<4.19.2.0a0' python: '' rfc3339-validator: '' rfc3986-validator: '>0.1.0' uri-template: '' webcolors: '>=1.11' hash: - md5: d273b30bcf4db0ef6b1195b3b61b3d68 - sha256: fae13283e5c4b1e639b76348e3d9441bde21685c8a8c89f6d3f364e524ed5029 + md5: daca0665e6fe8a376e48b9f0b5865326 + sha256: af65a8783a89c03ac8437a1d95ee5ac2e50e92d3af231cec515292fe296aff8e manager: conda name: jsonschema-with-format-nongpl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.0-pyhd8ed1ab_1.conda - version: 4.19.0 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.1-pyhd8ed1ab_0.conda + version: 4.19.1 - category: main dependencies: importlib_metadata: '>=4.8.3' @@ -3927,20 +3955,20 @@ package: numpy: '>=1.23.5,<2.0a0' packaging: '>=20.0' pillow: '>=6.2.0' - pyparsing: '>=2.3.1,<3.1' + pyparsing: '>=2.3.1' python: '>=3.11,<3.12.0a0' python-dateutil: '>=2.7' python_abi: 3.11.* *_cp311 tk: '>=8.6.12,<8.7.0a0' hash: - md5: 2631a9e423855fb586c05f8a5ee8b177 - sha256: 9029779788461098618aa9b3ef01dc61d8561686abb97a7ddf310d89b68365e6 + md5: 20d79e2fe53b49b399f3d36977b05abb + sha256: dc66351c4d8250a318ece2d98837fda48adc5e62227ad1283468a9d982d280e7 manager: conda name: matplotlib-base optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.7.2-py311h54ef318_0.conda - version: 3.7.2 + url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.0-py311h54ef318_1.conda + version: 3.8.0 - category: main dependencies: jsonschema: '>=2.6' @@ -4158,18 +4186,18 @@ package: version: 7.8.0 - category: main dependencies: - graphviz: '>=8.0.5,<9.0a0' + graphviz: '>=8.1.0,<9.0a0' libgcc-ng: '>=12' python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: e8f7fad69f6806368eab99a91b594ebd - sha256: f06984f06371ea108383892d6190dc822765c47a8ef817dd79bf845f36560362 + md5: 7044cd923985abb6e3b976e5ac0542b8 + sha256: 8c7f3a59935089169920f052a53d7a732034967ef46c81dc7385dff47985bc2c manager: conda name: pygraphviz optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pygraphviz-1.11-py311h72a77b7_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pygraphviz-1.11-py311h72a77b7_1.conda version: '1.11' - category: main dependencies: @@ -4193,13 +4221,13 @@ package: traitlets: '>=5.6.0' websocket-client: '' hash: - md5: 969249eb7c2f7a9b820520a355dc7d04 - sha256: c90bc6f842a37dd99e32b35f0f40214040756949fe5a7abc1256a227bb8ba90e + md5: 0123f934221b023ddc7443e85cac9023 + sha256: 47913d8bda9f0cd5cf2a2d27039436a55a74eec51f1ad2b374a88fbf99fd46b3 manager: conda name: jupyter_server optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_1.conda version: 2.7.3 - category: main dependencies: @@ -4340,14 +4368,14 @@ package: python: '>=3.8' tornado: '>=6.2.0' hash: - md5: 1f2d368cde97926b5e351d1a0286bb1e - sha256: b94a8838af82d0d986627439f64bbe85a4806fcc1cdd300bba685df934fbd33b + md5: 9fe0b0f2e8a6dbae64947e90079ea54c + sha256: 3ee5870402d41db9d93af61cc15ca7b8ccfccc6a024d564d764aabd4ac8ce908 manager: conda name: notebook optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.3-pyhd8ed1ab_0.conda - version: 7.0.3 + url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.4-pyhd8ed1ab_0.conda + version: 7.0.4 - category: main dependencies: notebook: '>=4.4.1' @@ -4934,17 +4962,6 @@ package: platform: osx-64 url: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.4-hf0c8a7f_0.conda version: '6.4' -- category: main - dependencies: {} - hash: - md5: 09a583a6f172715be21d93aaa1b42d71 - sha256: 50646988679b823958bd99983a9e66fce58a7368fa2bab5712efb5c7ce6199af - manager: conda - name: pixman - optional: false - platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.40.0-hbcb3906_0.tar.bz2 - version: 0.40.0 - category: main dependencies: {} hash: @@ -4959,13 +4976,13 @@ package: - category: main dependencies: {} hash: - md5: 5e0a069a585445333868d2c6651c3b3f - sha256: 145edb385d464227aca8ce963b9e22f5f36cacac9085eb38f574961ebc69684e + md5: fef7a52f0eca6bae9e8e2e255bc86394 + sha256: f56dfe2a57b3b27bad3f9527f943548e8b2526e949d9d6fc0a383020d9359afe manager: conda name: python_abi optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.11-3_cp311.conda + url: https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.11-4_cp311.conda version: '3.11' - category: main dependencies: {} @@ -5250,14 +5267,14 @@ package: dependencies: ca-certificates: '' hash: - md5: 85d5377436d19183c8ac5afbb8e713a1 - sha256: 5d28695e086e69150e0b674f11ad87df603870fb3256bd590e305b708fc1faf7 + md5: 26f9b58f905547e658e9587f8e8cfe43 + sha256: 69731ce62d4b68e538af559747da53f837ae0bbca519b38f2eea28680eb9e8d1 manager: conda name: openssl optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.1.2-h8a1eda9_0.conda - version: 3.1.2 + url: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.1.3-h8a1eda9_0.conda + version: 3.1.3 - category: main dependencies: libzlib: '>=1.2.13,<1.3.0a0' @@ -5295,6 +5312,18 @@ package: platform: osx-64 url: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.40-h1c4e4bc_0.tar.bz2 version: '10.40' +- category: main + dependencies: + libcxx: '>=15.0.7' + hash: + md5: e4180dcfd3e3621560fe1ad522997520 + sha256: d9181736d4b3260a03443e8fd1c47c491e189b2344913eaf5dead27947a274e4 + manager: conda + name: pixman + optional: false + platform: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.42.2-he965462_0.conda + version: 0.42.2 - category: main dependencies: ncurses: '>=6.3,<7.0a0' @@ -5321,16 +5350,16 @@ package: version: 1.1.10 - category: main dependencies: - libzlib: '>=1.2.11,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 8e9480d9c47061db2ed1b4ecce519a7f - sha256: 331aa1137a264fd9cc905f04f09a161c801fe504b93da08b4e6697bd7c9ae6a6 + md5: 0c25eedcc888b6d765948ab62a18c03e + sha256: 573e5d7dde0a63b06ceef2c574295cbc2ec8668ec08e35d2f2c6220f4aa7fb98 manager: conda name: tk optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.12-h5dbffcc_0.tar.bz2 - version: 8.6.12 + url: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-hef22860_0.conda + version: 8.6.13 - category: main dependencies: libcxx: '>=11.1.0' @@ -5776,6 +5805,18 @@ package: platform: osx-64 url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 version: 0.4.6 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 46762cf2ddf6a1498eec36167d719fcc + sha256: 18a1ff961c9015b674212044d5d63f7510279e6880a5626ef2af32d0abf4cc18 + manager: conda + name: colored + optional: false + platform: osx-64 + url: https://conda.anaconda.org/conda-forge/noarch/colored-1.4.4-pyhd8ed1ab_0.conda + version: 1.4.4 - category: main dependencies: python: '>=3.6' @@ -5806,13 +5847,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 95c51b03233bf5edce2aa07c8552b95b - sha256: 12c9812e2158d3502dbe4bf8b16f8e681ee985115ff0b3f3b4945e915ac6d275 + md5: 7f20ef8a63be62d1bcdaa8136ec09647 + sha256: 93e94c9077b13f3dde47794bb6ca02f9c3174c794edf889158306a54764a075c manager: conda name: debugpy optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.0-py311hdf8f085_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.0-py311hdf8f085_1.conda version: 1.8.0 - category: main dependencies: @@ -5843,13 +5884,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 5b656fcef02004a240d627d306e5db4a - sha256: 397d625e36593d336b33706e1089613073a96a89bd31a31496e265fa2ce874a6 + md5: 55af8a4ccd7f6154a179a4fcaff78381 + sha256: b86002327765dec1dffed9274b226ead45c82953b96e174852cc79fa5a851e30 manager: conda name: docutils optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py311h6eed73b_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py311h6eed73b_4.conda version: 0.17.1 - category: main dependencies: @@ -6019,13 +6060,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 39de3020498c7ca47a9ef62c4523032c - sha256: b46e0a3bc8beec19dfd465092cb9e24446fbafbda60a35f07374e42911cb27ed + md5: ed1c23d0e55abd27d8b9e31c58105140 + sha256: b0ba738e1dbf3b69558557cd1e63310364e045b8c8e7f73fdce7e71928b5f22a manager: conda name: jsonpointer optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/jsonpointer-2.4-py311h6eed73b_2.conda + url: https://conda.anaconda.org/conda-forge/osx-64/jsonpointer-2.4-py311h6eed73b_3.conda version: '2.4' - category: main dependencies: @@ -6045,13 +6086,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 1cdd04e72bf6f6dc4152bda4e45dd6b9 - sha256: b9b48ebcc4d6a32088fed33b8be7d4e0d4c4dd58c25f30270d1af91827442230 + md5: 24305b23f7995de72bbd53b7c01242a2 + sha256: 586a4d0a17e6cfd9f8fdee56106d263ee40ca156832774d6e899f82ad68ac8d0 manager: conda name: kiwisolver optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.5-py311h5fe6e05_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.5-py311h5fe6e05_1.conda version: 1.4.5 - category: main dependencies: @@ -6131,32 +6172,32 @@ package: version: 0.40.1 - category: main dependencies: - libxml2: '>=2.11.4,<2.12.0a0' + libxml2: '>=2.11.5,<2.12.0a0' libxslt: '>=1.1.37,<2.0a0' libzlib: '>=1.2.13,<1.3.0a0' python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 35de207a04d98dad952b1c7c9d7a8a9c - sha256: 16bbd3a46db0aa2a232ef793cc954ed049505c298816e1b8c21e7c656d522912 + md5: d3687d6ebe20ef8bf959dba786cdb28e + sha256: df952e80dc9ca98fbff11c2627288808135b51d18fc363a102f3e58eac8b4113 manager: conda name: lxml optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/lxml-4.9.3-py311h19a211c_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/lxml-4.9.3-py311h19a211c_1.conda version: 4.9.3 - category: main dependencies: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 65b70928fcc2a81891ad1a8a6a7b085a - sha256: 93dbcca2a1a1c0ee1dbd60b578a66b650da2b166845ccf9ec54eed948ae42e47 + md5: 52ee86f482b552e547e2b1d6c01adf55 + sha256: 5a8f8caa89eeba6ea6e9e96d3e7c109b675bc3c6ed4b109b8931757da2411d48 manager: conda name: markupsafe optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.1.3-py311h2725bcf_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.1.3-py311h2725bcf_1.conda version: 2.1.3 - category: main dependencies: @@ -6371,13 +6412,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: d9b4565309f4f992b42bd99031044642 - sha256: 0c7a402b0b2085b9e77c741ae14a386318c24dea62e12d29385843a6e8ae00a9 + md5: 16221cd0488a32152a6b3f1a301ccf19 + sha256: 2eee900e0e5a103cff0159cdd81d401b67ccfb919be6cd868fc34c22dab981f1 manager: conda name: psutil optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/psutil-5.9.5-py311h5547dcb_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/psutil-5.9.5-py311h2725bcf_1.conda version: 5.9.5 - category: main dependencies: @@ -6455,14 +6496,14 @@ package: dependencies: python: '>=3.6' hash: - md5: e8fbc1b54b25f4b08281467bc13b70cc - sha256: 4acc7151cef5920d130f2e0a7615559cce8bfb037aeecb14d4d359ae3d9bc51b + md5: 176f7d56f0cfe9008bdf1bccd7de02fb + sha256: 4a1332d634b6c2501a973655d68f08c9c42c0bd509c349239127b10572b8354b manager: conda name: pyparsing optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2 - version: 3.0.9 + url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.1-pyhd8ed1ab_0.conda + version: 3.1.1 - category: main dependencies: python: '>=3.8,<3.9.0a0' @@ -6555,13 +6596,13 @@ package: python_abi: 3.11.* *_cp311 yaml: '>=0.2.5,<0.3.0a0' hash: - md5: 56d0e9954ea2bad7e9d116d0442ac7fa - sha256: 6b2751b7ba5d41ba598463f6ebb6f9ce1e8ee95a4738a2678f05757d43d5bdcb + md5: 9283f991b5e5856a99f8aabba9927df5 + sha256: 8ce2ba443414170a2570514d0ce6d03625a847e91af9763d48dc58c338e6f7f3 manager: conda name: pyyaml optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.1-py311h2725bcf_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.1-py311h2725bcf_1.conda version: 6.0.1 - category: main dependencies: @@ -6571,13 +6612,13 @@ package: python_abi: 3.11.* *_cp311 zeromq: '>=4.3.4,<4.4.0a0' hash: - md5: 31dfc5a12b750b4b9b28d5a8b9f06097 - sha256: 2def0067fe78803fc1b3c2b84093519fa756a9cd0396132976bde27744d74496 + md5: f7199b493d4a542d7344e1f9eb5bc476 + sha256: d556deedd05013eafc5d8df2ef94b81d7f3fd655574698de78a17093b29e0a55 manager: conda name: pyzmq optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-25.1.1-py311h5dacc12_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-25.1.1-py311h5dacc12_1.conda version: 25.1.1 - category: main dependencies: @@ -6729,51 +6770,51 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 2e29e821b0448e8e8ab627f202554575 - sha256: 6a817f8d9004b55f546cb689aeb964fea9933b02e86210db7c3260d60c5b91d1 + md5: daf5f053a40c2b0b8f86b605e302b7a4 + sha256: e3e4c12236b0a59e6568a9dc839116776eda408ca12bc0ad4e7a9dba4d66912f manager: conda name: tornado optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.3.3-py311h2725bcf_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.3.3-py311h2725bcf_1.conda version: 6.3.3 - category: main dependencies: python: '>=3.8' hash: - md5: efd3f63a93621367d4fa6e274c511696 - sha256: 615b75e65112a5fd55f21bcd30745a8802cac658bb3724a8460775c691d383a1 + md5: 1bbf337ea62a92bd082d429fbdf82b15 + sha256: e08f4a59dcd05cec649f9d3634e5f627157bd2ccf8f3c9511b5fd1f98e532f5d manager: conda name: traitlets optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.0-pyhd8ed1ab_0.conda - version: 5.10.0 + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.1-pyhd8ed1ab_0.conda + version: 5.10.1 - category: main dependencies: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 7e1a8caeddd292d2794d5e4cd5e52858 - sha256: 628b13654aa193ded35c89757374e57ecf68eebac6bb619aa3c99520803ac550 + md5: 5b6ec7d8d8f6cf973fc67a68e8d49daa + sha256: 92faf62c1e69736e6be5a6b902955c94472dc77e5343fadc3cdce4a554497183 manager: conda name: typed-ast optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/typed-ast-1.5.4-py311h5547dcb_1.tar.bz2 - version: 1.5.4 + url: https://conda.anaconda.org/conda-forge/osx-64/typed-ast-1.5.5-py311h2725bcf_1.conda + version: 1.5.5 - category: main dependencies: - python: '>=3.7' + python: '>=3.8' hash: - md5: c39d6a09fe819de4951c2642629d9115 - sha256: 6edd6d5be690be492712cb747b6d62707f0d0c34ef56eefc796d91e5a03187d1 + md5: 5b1be40a26d10a06f6d4f1f9e19fa0c7 + sha256: 38d16b5c53ec1af845d37d22e7bb0e6c934c7f19499123507c5a470f6f8b7dde manager: conda name: typing_extensions optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda - version: 4.7.1 + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda + version: 4.8.0 - category: main dependencies: python: '>=3.6.1' @@ -6863,14 +6904,14 @@ package: dependencies: python: '>=3.8' hash: - md5: 2da0451b54c4563c32490cb1b7cf68a1 - sha256: 16d72127e150a3d5cbdc0b82c4069ef5be135c64bc99e71e7928507910669b41 + md5: 2e4d6bc0b14e10f895fc6791a7d9b26a + sha256: bced1423fdbf77bca0a735187d05d9b9812d2163f60ab426fc10f11f92ecbe26 manager: conda name: zipp optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.16.2-pyhd8ed1ab_0.conda - version: 3.16.2 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda + version: 3.17.0 - category: main dependencies: exceptiongroup: '' @@ -7020,13 +7061,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 5967be4da33261eada7cc79593f71088 - sha256: 436a99652d9b13ed4b945f05740b50c79447b581aa400f69607f56c4960b806d + md5: 9563edca3a1f213ebd96a624c817caf2 + sha256: 84cfbfaa9b746a862d7fddee997151621515218af4ec57b5b80932a13ca7f466 manager: conda name: cffi optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.1-py311ha86e640_3.conda + url: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.1-py311hc0b63fd_5.conda version: 1.15.1 - category: main dependencies: @@ -7060,13 +7101,13 @@ package: python_abi: 3.11.* *_cp311 tomli: '' hash: - md5: 8a06c7c70029365a82e0538e15080f8b - sha256: 0bc8793b43d1d8e7515a6d7156156ad2171fbbf4a0382e395fb70b21a5366803 + md5: ea32cec59e0c915e81e61aac2568187e + sha256: 0954aaaafff6e5db8fc21157e96a3652789482e4ac7650a14dd05cd547288f80 manager: conda name: coverage optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.3.1-py311h2725bcf_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.3.1-py311h2725bcf_1.conda version: 7.3.1 - category: main dependencies: @@ -7148,14 +7189,14 @@ package: python: '>=3.8' zipp: '>=3.1.0' hash: - md5: d978c61aa5fc2c69380d53ad56b5ae86 - sha256: 0ca2154b3baf419d20baeddd962c1efa9bb673e66308000358a26d8d427ef90d + md5: 48b0d98e0c0ec810d3ccc2a0926c8c0e + sha256: adab6da633ec3b642f036ab5c1196c3e2db0e8db57fb0c7fc9a8e06e29fa9bdc manager: conda name: importlib_resources optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.0.1-pyhd8ed1ab_0.conda - version: 6.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.1.0-pyhd8ed1ab_0.conda + version: 6.1.0 - category: main dependencies: parso: '>=0.8.0,<0.9.0' @@ -7298,13 +7339,13 @@ package: python_abi: 3.11.* *_cp311 tk: '>=8.6.12,<8.7.0a0' hash: - md5: 46440d4a7f7e72967fb467e25856b4b2 - sha256: 35d80f15be884fbdd478242e7befc4abb023daa66316c4e2f030532a03e8b9e1 + md5: f04d5ab4f9d9a3aa1ef11999aafb6e83 + sha256: 39a92ae2ac32ebbba83fa5f2224c979ea3c929cd1925227457536ef15eb64085 manager: conda name: pillow optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pillow-10.0.1-py311hd5308a1_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/pillow-10.0.1-py311hd5308a1_1.conda version: 10.0.1 - category: main dependencies: @@ -7341,14 +7382,14 @@ package: python_abi: 3.11.* *_cp311 setuptools: '' hash: - md5: 460e6d2c254ec4aa4299cd9bffa3b7f8 - sha256: 17fec1464116ce95acc1967941df0f11e0ebd61097eb98b1b8548cbb828fc25f + md5: d26705887703d13c655a6098516e06e2 + sha256: 031b8c48866f1f97a4a12d6a3ea0dc94cb6a735918871460b26f4779f5a01125 manager: conda name: pyobjc-core optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-9.2-py311hf110eff_0.conda - version: '9.2' + url: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-10.0-py311hf110eff_0.conda + version: '10.0' - category: main dependencies: colorama: '' @@ -7463,43 +7504,43 @@ package: version: 4.66.1 - category: main dependencies: - typing_extensions: 4.7.1 pyha770c72_0 + typing_extensions: 4.8.0 pyha770c72_0 hash: - md5: f96688577f1faa58096d06a45136afa2 - sha256: d5d19b8f5b275240c19616a46d67ec57250b3720ba88200da8c732c3fcbfc21d + md5: 384462e63262a527bda564fa2d9126c0 + sha256: d6e1dddd0c372218ef15912383d351ac8c73465cbf16238017f0269813cafe2d manager: conda name: typing-extensions optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda - version: 4.7.1 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda + version: 4.8.0 - category: main dependencies: brotli-python: '>=1.0.9' pysocks: '>=1.5.6,<2.0,!=1.5.7' python: '>=3.7' hash: - md5: 18badd8fa3648d1beb1fcc7f2e0f756e - sha256: 06a62b6bff8828161b9cd17dd394e47177f320ca5050f806bc7840f9519e8ea7 + md5: 3bda70bbeb2920f44db5375af2e5fe38 + sha256: b5d9d3c0e2c001aed437be0071f1c11365a519efe5966cb6815be1307e1ce6a3 manager: conda name: urllib3 optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.4-pyhd8ed1ab_0.conda - version: 2.0.4 + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.5-pyhd8ed1ab_0.conda + version: 2.0.5 - category: main dependencies: cffi: '>=1.0.1' python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: c09459e349fa61afc352f473766de109 - sha256: ec3cf8f2091e4add30482728917fddc9c5c1fa4e53c68c0ebcac8f043ad3cf11 + md5: e2aba0ad0f533ee73f9d4330d2e32549 + sha256: be27659496bcb660fc9c3f5f74128a7bb090336897e9c7cfbcc55ae66f13b8d8 manager: conda name: argon2-cffi-bindings optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-21.2.0-py311h5547dcb_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-21.2.0-py311h2725bcf_4.conda version: 21.2.0 - category: main dependencies: @@ -7564,16 +7605,16 @@ package: graphite2: '' icu: '>=73.2,<74.0a0' libcxx: '>=15.0.7' - libglib: '>=2.76.4,<3.0a0' + libglib: '>=2.78.0,<3.0a0' hash: - md5: 7b263a6bd9fbebd829f10f529209ff50 - sha256: 09decc1c4cbab87f873c817183b3bbcc3c6a37552926ee4da73fdd8814a3e51d + md5: 81f8f2aaf6bd4b408a0a8823edf7ce3b + sha256: ac6f5304fe824ef7a60c493b14b6aefbb0d6c7f55b49f30e53d5dff2c31ca876 manager: conda name: harfbuzz optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-8.2.0-h7666e2a_0.conda - version: 8.2.0 + url: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-8.2.1-h7666e2a_0.conda + version: 8.2.1 - category: main dependencies: importlib-metadata: '>=6.8.0,<6.8.1.0a0' @@ -7682,18 +7723,18 @@ package: - category: main dependencies: libffi: '>=3.4,<4.0a0' - pyobjc-core: 9.2.* + pyobjc-core: 10.0.* python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 6ba4637fa1ed0a1e829b1f278c12274a - sha256: 307a3152d67152a1d63a48ec80de1b97c42e9bb7b5975d5af4bbe0cca638c4d5 + md5: 8fb67274a648901045368717d6221aed + sha256: 54530c1b3bfc361e027adbd8f9d9a23e7c102c7f58c04a169da1457f82975724 manager: conda name: pyobjc-framework-cocoa optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-9.2-py311hf110eff_0.conda - version: '9.2' + url: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-10.0-py311hf110eff_1.conda + version: '10.0' - category: main dependencies: coverage: '>=5.2.1' @@ -7762,14 +7803,14 @@ package: tomli: '>=1.0.0' typing-extensions: '' hash: - md5: 6613dbb3b25cc648a107f33ca9f80fc1 - sha256: 9c4693b9163b3c678840aed86b615fac81e6327312edf522f0e1bef7eae5fe9a + md5: 23929f6e32fba28210bf0c329a8cf941 + sha256: 624bf7d4c0fa83c3b2a9b7aacb5be0c0e74fb5c583410732f9a4d32acfdd5cae manager: conda name: setuptools-scm optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-7.1.0-pyhd8ed1ab_0.conda - version: 7.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-8.0.3-pyhd8ed1ab_0.conda + version: 8.0.3 - category: main dependencies: asttokens: '' @@ -7800,6 +7841,20 @@ package: platform: osx-64 url: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda version: '1.12' +- category: main + dependencies: + colored: '>=1.3.92,<2.0.0' + pytest: '>=7.0.0,<8.0.0' + python: '>=3.8.1,<4.0' + hash: + md5: 23a01c37640f9a8ec3872752c7ff80aa + sha256: 0945c0b2fd39441fb0920c146a43a60f0fdef535dfba636c80a52270e79242b4 + manager: conda + name: syrupy + optional: false + platform: osx-64 + url: https://conda.anaconda.org/conda-forge/noarch/syrupy-4.5.0-pyhd8ed1ab_0.conda + version: 4.5.0 - category: main dependencies: backports.functools_lru_cache: '' @@ -7870,14 +7925,14 @@ package: referencing: '>=0.28.4' rpds-py: '>=0.7.1' hash: - md5: d442886dffcee45604595fea2ad3a181 - sha256: 4c1f9ffa8056fc96d292d119746d5d87e2d0308cd19b063943efbde05e0accdf + md5: 78aff5d2af74e6537c1ca73017f01f4f + sha256: b4e50e1d53b984a467e79b7ba69cc408d14e3a2002cad4eaf7798e20268cff2d manager: conda name: jsonschema optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.0-pyhd8ed1ab_1.conda - version: 4.19.0 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.1-pyhd8ed1ab_0.conda + version: 4.19.1 - category: main dependencies: platformdirs: '>=2.5' @@ -7885,14 +7940,14 @@ package: python_abi: 3.11.* *_cp311 traitlets: '>=5.3' hash: - md5: 2d45628b123595054093ff65996b98ae - sha256: 90045f63ca46c1cd66c55e7a3fce41f9719c82ec30cedc608d368fbde67b9265 + md5: 32b2a44c7686c1dc850e4dd44f16b2d8 + sha256: 4d4d786062f2e247754e104dc7047e0c3d0a72042d44363d2243471828fbd564 manager: conda name: jupyter_core optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/jupyter_core-5.3.1-py311h6eed73b_0.conda - version: 5.3.1 + url: https://conda.anaconda.org/conda-forge/osx-64/jupyter_core-5.3.2-py311h6eed73b_0.conda + version: 5.3.2 - category: main dependencies: libblas: '>=3.9.0,<4.0a0' @@ -7950,13 +8005,13 @@ package: python_abi: 3.11.* *_cp311 setuptools: '' hash: - md5: 218f01e087a8a12f3474ff43c9879628 - sha256: aaf609e65752dc195b601a76f537d84ee57b26e5202436a88b8d401dda128b66 + md5: 36996441974a061f9e0b600741599585 + sha256: 13b6ee67378fee966f8783cb482ce57a647ee0c6d7d1e7dedee754408521641f manager: conda name: pybtex-docutils optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pybtex-docutils-1.0.3-py311h6eed73b_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/pybtex-docutils-1.0.3-py311h6eed73b_1.conda version: 1.0.3 - category: main dependencies: @@ -8002,16 +8057,16 @@ package: version: 1.8.2 - category: main dependencies: - setuptools-scm: '>=7.1.0,<7.1.1.0a0' + setuptools-scm: '>=8.0.3,<8.0.4.0a0' hash: - md5: 75abb977a0ae63a8039b12fa0925eeb8 - sha256: c31cbd374ce9e02d99c74a3823725030158abc50a8adfea40db11b965fbd017d + md5: da055c131516bfc51a5f5479b9390b2e + sha256: dfe476e30a8b1165d349675c9055f3446472c39f3dc9d281c5cd7d22bb2b0787 manager: conda name: setuptools_scm optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-7.1.0-hd8ed1ab_0.conda - version: 7.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-8.0.3-hd8ed1ab_0.conda + version: 8.0.3 - category: main dependencies: pbr: '' @@ -8032,13 +8087,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 4ee477aeedcb82edff2b3d9ab2ad98ae - sha256: 8659a903fada1a521d385b6af6c293e8a7724071e57d776999c8d649ac0be78c + md5: a8e5f688e3249e1dea90b4dd4eede1a7 + sha256: 7a2d0dcd69098d87455268a2b46cbec46a97de7090048f7ac8cadaae3d21a60e manager: conda name: contourpy optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.1.1-py311h5fe6e05_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.1.1-py311h5fe6e05_1.conda version: 1.1.1 - category: main dependencies: @@ -8065,13 +8120,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 8261fdb0f3ef9287449d3731ef927ed7 - sha256: 0d0947054617078c7f325f7c4e59314d5bb15bbb91998f15cf063d45786da637 + md5: 0b74e739ce6718d03bd830816bc1aacd + sha256: 776758f2b2328c47d16cd3428aab2ede70edf4417ac9e4d970793acc92636b72 manager: conda name: h5py optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.9.0-nompi_py311hf255e76_102.conda + url: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.9.0-nompi_py311hf255e76_103.conda version: 3.9.0 - category: main dependencies: @@ -8079,21 +8134,21 @@ package: idna: '' isoduration: '' jsonpointer: '>1.13' - jsonschema: '>=4.19.0,<4.19.1.0a0' + jsonschema: '>=4.19.1,<4.19.2.0a0' python: '' rfc3339-validator: '' rfc3986-validator: '>0.1.0' uri-template: '' webcolors: '>=1.11' hash: - md5: d273b30bcf4db0ef6b1195b3b61b3d68 - sha256: fae13283e5c4b1e639b76348e3d9441bde21685c8a8c89f6d3f364e524ed5029 + md5: daca0665e6fe8a376e48b9f0b5865326 + sha256: af65a8783a89c03ac8437a1d95ee5ac2e50e92d3af231cec515292fe296aff8e manager: conda name: jsonschema-with-format-nongpl optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.0-pyhd8ed1ab_1.conda - version: 4.19.0 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.1-pyhd8ed1ab_0.conda + version: 4.19.1 - category: main dependencies: importlib_metadata: '>=4.8.3' @@ -8169,14 +8224,14 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: f54b3f060b554070e12e815e97c02a1c - sha256: a2260e1a0ad66ef6bbfc56a1dd3c202e1a6d38e6f0b8e356fae0306a548d2b87 + md5: 2abd3d878d4e9851a3ecda9e22d320e4 + sha256: 027c0c81314d035c5dff9201d5465016148f4bce9f843843684dd89bb8481004 manager: conda name: numexpr optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.8.4-py311hab14417_1.conda - version: 2.8.4 + url: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.8.7-py311hab14417_0.conda + version: 2.8.7 - category: main dependencies: libcxx: '>=15.0.7' @@ -8187,14 +8242,14 @@ package: python_abi: 3.11.* *_cp311 pytz: '>=2020.1' hash: - md5: e081bf78c37d2671a7d442a56c3a8728 - sha256: 92456166e106f226d870e7f5509e8d31464ce4f51596170bb46cc53dd2137656 + md5: c739684a33ac866b933093225c85a666 + sha256: 7c0d377861272791c66146be45665a67e8a2c29e54ed56e50e4e90b30e6c45dc manager: conda name: pandas optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.1.0-py311hab14417_0.conda - version: 2.1.0 + url: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.1.1-py311hab14417_0.conda + version: 2.1.1 - category: main dependencies: prompt-toolkit: '>=3.0.39,<3.0.40.0a0' @@ -8213,13 +8268,13 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 261df2feb11abd22de42e0c9dc276a2e - sha256: 0bdfa5f662643583633db420f362cb930d627348e74e9750531a6a32ae628405 + md5: df67199d1733effdfc2f959ae4f63e8f + sha256: b14cee247d2bb4085ba58c30d4c37e26c2009dc7417c1db021330263bc373d6f manager: conda name: pyerfa optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.0.3-py311h4a70a88_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.0.3-py311h4a70a88_1.conda version: 2.0.0.3 - category: main dependencies: @@ -8233,14 +8288,14 @@ package: python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: 1a79189c98a28c9fef03ba8315bcd6b8 - sha256: a1df4a9cff160689033915b55465411183a0422c0390102c751d2b496944e4ad + md5: bd195650c219e5e90f45413cd0bacfa8 + sha256: 5069ee98c5f90187f473764aefb3347bc91a63fc3a7cefede63196d43e3626bf manager: conda name: scipy optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.11.2-py311h16c3c4d_1.conda - version: 1.11.2 + url: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.11.3-py311h16c3c4d_0.conda + version: 1.11.3 - category: main dependencies: importlib-metadata: '' @@ -8346,19 +8401,19 @@ package: numpy: '>=1.23.5,<2.0a0' packaging: '>=20.0' pillow: '>=6.2.0' - pyparsing: '>=2.3.1,<3.1' + pyparsing: '>=2.3.1' python: '>=3.11,<3.12.0a0' python-dateutil: '>=2.7' python_abi: 3.11.* *_cp311 hash: - md5: bd9520e9015e70f3de839ce48c9061ea - sha256: 2264ee0dbb0bac37d9fe36867f06eb0169fdeb158696cd41d83c4b0bdc503541 + md5: 390e0db0f04fabd7330fa626c398b16f + sha256: cb2711d7a9d34a5954939737a38ebcb4916279c0a49d7cd7272d2e28b2b94b97 manager: conda name: matplotlib-base optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.7.2-py311haff9b01_0.conda - version: 3.7.2 + url: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.8.0-py311haff9b01_0.conda + version: 3.8.0 - category: main dependencies: jupyter_client: '>=6.1.12' @@ -8454,17 +8509,17 @@ package: version: 7.8.0 - category: main dependencies: - graphviz: '>=8.0.5,<9.0a0' + graphviz: '>=8.1.0,<9.0a0' python: '>=3.11,<3.12.0a0' python_abi: 3.11.* *_cp311 hash: - md5: fed0a15be9e09c83aba369a5049655c1 - sha256: 131fbc18d15252389162c11718bb4fcb5091ae8ab270c283ab5f4e63afab3482 + md5: 17602bac3f0091fc1383741385b1c1b1 + sha256: b0e97e9a5bbd65edddaa9147bfb2410bbbc8105cf02dbd0c7a717355dc81ded3 manager: conda name: pygraphviz optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/pygraphviz-1.11-py311hc6eba27_0.conda + url: https://conda.anaconda.org/conda-forge/osx-64/pygraphviz-1.11-py311hc6eba27_1.conda version: '1.11' - category: main dependencies: @@ -8507,13 +8562,13 @@ package: traitlets: '>=5.6.0' websocket-client: '' hash: - md5: 969249eb7c2f7a9b820520a355dc7d04 - sha256: c90bc6f842a37dd99e32b35f0f40214040756949fe5a7abc1256a227bb8ba90e + md5: 0123f934221b023ddc7443e85cac9023 + sha256: 47913d8bda9f0cd5cf2a2d27039436a55a74eec51f1ad2b374a88fbf99fd46b3 manager: conda name: jupyter_server optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_1.conda version: 2.7.3 - category: main dependencies: @@ -8654,14 +8709,14 @@ package: python: '>=3.8' tornado: '>=6.2.0' hash: - md5: 1f2d368cde97926b5e351d1a0286bb1e - sha256: b94a8838af82d0d986627439f64bbe85a4806fcc1cdd300bba685df934fbd33b + md5: 9fe0b0f2e8a6dbae64947e90079ea54c + sha256: 3ee5870402d41db9d93af61cc15ca7b8ccfccc6a024d564d764aabd4ac8ce908 manager: conda name: notebook optional: false platform: osx-64 - url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.3-pyhd8ed1ab_0.conda - version: 7.0.3 + url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.4-pyhd8ed1ab_0.conda + version: 7.0.4 - category: main dependencies: notebook: '>=4.4.1' diff --git a/conda-osx-64.lock b/conda-osx-64.lock index 00013efcb38..c911a33d163 100644 --- a/conda-osx-64.lock +++ b/conda-osx-64.lock @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: osx-64 -# input_hash: a32c45fe2a9272de47a9c858b1b632bb1de0c3a0cd55bffe7df61cc7ef21eecd +# input_hash: e0b8122702e46d054c30bc66450a0041530cf14a3c2f3dcc4daed538bb8c0785 @EXPLICIT https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h0d85af4_4.tar.bz2#37edc4e6304ca87316e160f5ca0bd1b5 https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.19.1-h0dc2134_0.conda#b3e62631b4e1b9801477523ce1d6f355 @@ -28,9 +28,8 @@ https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.3.2-h0dc2134_0.cond https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.13-h8a1eda9_5.conda#4a3ad23f6e16f99c04e166767193d700 https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-16.0.6-hff08bdf_0.conda#39a5227d906f75102bf8586741690128 https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.4-hf0c8a7f_0.conda#c3dbae2411164d9b02c69090a9a91857 -https://conda.anaconda.org/conda-forge/osx-64/pixman-0.40.0-hbcb3906_0.tar.bz2#09a583a6f172715be21d93aaa1b42d71 https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-hc929b4f_1001.tar.bz2#addd19059de62181cd11ae8f4ef26084 -https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.11-3_cp311.conda#5e0a069a585445333868d2c6651c3b3f +https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.11-4_cp311.conda#fef7a52f0eca6bae9e8e2e255bc86394 https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda#939e3e74d8be4dac89ce83b20de2492a https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.11-h0dc2134_0.conda#9566b4c29274125b0266d0177b5eb97b https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.3-h35c211d_0.tar.bz2#86ac76d6bf1cbb9621943eb3bd9ae36e @@ -54,13 +53,14 @@ https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.43.0-h58db7d2_0.conda# https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.15-hb7f2c08_0.conda#5513f57e0238c87c12dffedbcc9c1a4a https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.11.5-h3346baf_1.conda#7584dee6af7de378aed0ae49aebedb8a https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.9.4-hf0c8a7f_0.conda#aa04f7143228308662696ac24023f991 -https://conda.anaconda.org/conda-forge/osx-64/openssl-3.1.2-h8a1eda9_0.conda#85d5377436d19183c8ac5afbb8e713a1 +https://conda.anaconda.org/conda-forge/osx-64/openssl-3.1.3-h8a1eda9_0.conda#26f9b58f905547e658e9587f8e8cfe43 https://conda.anaconda.org/conda-forge/osx-64/pandoc-3.1.3-h9d075a6_0.conda#e86a3d5c966a09b6129354114483f7a7 https://conda.anaconda.org/conda-forge/osx-64/pcre-8.45-he49afe7_0.tar.bz2#0526850419e04ac003bc0b65a78dc4cc https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.40-h1c4e4bc_0.tar.bz2#e0f80c8f3a0352a54eddfe59cd2b25b1 +https://conda.anaconda.org/conda-forge/osx-64/pixman-0.42.2-he965462_0.conda#e4180dcfd3e3621560fe1ad522997520 https://conda.anaconda.org/conda-forge/osx-64/readline-8.2-h9e318b2_1.conda#f17f77f2acf4d344734bda76829ce14e https://conda.anaconda.org/conda-forge/osx-64/snappy-1.1.10-h225ccf5_0.conda#4320a8781f14cd959689b86e349f3b73 -https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.12-h5dbffcc_0.tar.bz2#8e9480d9c47061db2ed1b4ecce519a7f +https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-hef22860_0.conda#0c25eedcc888b6d765948ab62a18c03e https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.4-he49afe7_1.tar.bz2#1972d732b123ed04b60fd21e94f0b178 https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.13-h8a1eda9_5.conda#75a8a98b1c4671c5d2897975731da42d https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.5-h829000d_0.conda#80abc41d0c48b82fe0f04e7f42f5cb7e @@ -94,12 +94,13 @@ https://conda.anaconda.org/conda-forge/noarch/certifi-2023.7.22-pyhd8ed1ab_0.con https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.2.0-pyhd8ed1ab_0.conda#313516e9a4b08b12dfb1e1cd390a96e3 https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda#f3ad426304898027fc619827ff428eca https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 +https://conda.anaconda.org/conda-forge/noarch/colored-1.4.4-pyhd8ed1ab_0.conda#46762cf2ddf6a1498eec36167d719fcc https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb https://conda.anaconda.org/conda-forge/noarch/dataclasses-0.8-pyhc8e2a94_3.tar.bz2#a362b2124b06aad102e2ee4581acee7d -https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.0-py311hdf8f085_0.conda#95c51b03233bf5edce2aa07c8552b95b +https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.0-py311hdf8f085_1.conda#7f20ef8a63be62d1bcdaa8136ec09647 https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2#43afe5ab04e35e17ba28649471dd7364 https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2#961b3a227b437d82ad7054484cfa71b2 -https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py311h6eed73b_3.tar.bz2#5b656fcef02004a240d627d306e5db4a +https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py311h6eed73b_4.conda#55af8a4ccd7f6154a179a4fcaff78381 https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2#3cf04868fee0a029769bd41f4b2fbf2d https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda#e6518222753f519e911e83136d2158d9 https://conda.anaconda.org/conda-forge/noarch/executing-1.2.0-pyhd8ed1ab_0.tar.bz2#4c1bc140e2be5c8ba6e3acab99e25c50 @@ -113,16 +114,16 @@ https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.b https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2#5071c982548b3a20caf70462f04f5287 https://conda.anaconda.org/conda-forge/noarch/json5-0.9.14-pyhd8ed1ab_0.conda#dac1dabba2b5a9d1aee175c5fcc7b436 -https://conda.anaconda.org/conda-forge/osx-64/jsonpointer-2.4-py311h6eed73b_2.conda#39de3020498c7ca47a9ef62c4523032c +https://conda.anaconda.org/conda-forge/osx-64/jsonpointer-2.4-py311h6eed73b_3.conda#ed1c23d0e55abd27d8b9e31c58105140 https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.7-pyhd8ed1ab_0.conda#608e312cd17cb7119033fae7d7420572 -https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.5-py311h5fe6e05_0.conda#1cdd04e72bf6f6dc4152bda4e45dd6b9 +https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.5-py311h5fe6e05_1.conda#24305b23f7995de72bbd53b7c01242a2 https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.15-ha53face_2.conda#7f749b473f39182e83b1dc6e7caee26a https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.3.0-h5f667d7_0.conda#ec1ea8499d8ef2599ffb230b7a97a9bd https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.24-openmp_h48a4ad5_0.conda#077718837dd06cf0c3089070108869f6 https://conda.anaconda.org/conda-forge/osx-64/libwebp-1.3.2-h772a4e4_0.conda#59e6db0ea43fe838b55b7725547d352b https://conda.anaconda.org/conda-forge/osx-64/llvmlite-0.40.1-py311hcbb5c6d_0.conda#12a2f51581ae85b308b63a0a883ef97b -https://conda.anaconda.org/conda-forge/osx-64/lxml-4.9.3-py311h19a211c_0.conda#35de207a04d98dad952b1c7c9d7a8a9c -https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.1.3-py311h2725bcf_0.conda#65b70928fcc2a81891ad1a8a6a7b085a +https://conda.anaconda.org/conda-forge/osx-64/lxml-4.9.3-py311h19a211c_1.conda#d3687d6ebe20ef8bf959dba786cdb28e +https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.1.3-py311h2725bcf_1.conda#52ee86f482b552e547e2b1d6c01adf55 https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.1-pyhd8ed1ab_0.conda#1dad8397c94e4de97a70de552a7dcf49 https://conda.anaconda.org/conda-forge/noarch/mock-5.0.2-pyhd8ed1ab_0.conda#541e4834b1e46ed786829dc63e4d4ca2 https://conda.anaconda.org/conda-forge/osx-64/mpc-1.3.1-h81bd1dd_0.conda#c752c0eb6c250919559172c011e5f65b @@ -140,14 +141,14 @@ https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2# https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda#405678b942f2481cecdb3e010f4925d9 https://conda.anaconda.org/conda-forge/noarch/pluggy-1.3.0-pyhd8ed1ab_0.conda#2390bd10bed1f3fdc7a537fb5a447d8d https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.17.1-pyhd8ed1ab_0.conda#02153b6b760bbec00cfe9e4c97993d06 -https://conda.anaconda.org/conda-forge/osx-64/psutil-5.9.5-py311h5547dcb_0.conda#d9b4565309f4f992b42bd99031044642 +https://conda.anaconda.org/conda-forge/osx-64/psutil-5.9.5-py311h2725bcf_1.conda#16221cd0488a32152a6b3f1a301ccf19 https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2#359eeb6536da0e687af562ed265ec263 https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.2-pyhd8ed1ab_0.tar.bz2#6784285c7e55cb7212efabc79e4c2883 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_0.tar.bz2#6f6d42b894118f8378fce11887ccdaff https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pygments-2.16.1-pyhd8ed1ab_0.conda#40e5cb18165466773619e5c963f00a7b -https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.1-pyhd8ed1ab_0.conda#176f7d56f0cfe9008bdf1bccd7de02fb https://conda.anaconda.org/conda-forge/osx-64/pyrsistent-0.19.3-py38hef030d1_0.conda#01ca11f08679d88fc881a19902a0a008 https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 https://conda.anaconda.org/conda-forge/noarch/python-dokuwiki-1.3.3-pyhd8ed1ab_0.tar.bz2#a13dedbf73a833f0fbb2cb34467db1a3 @@ -155,8 +156,8 @@ https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.18.0-pyhd8 https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda#a61bf9ec79426938ff785eb69dbb1960 https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.3-pyhd8ed1ab_0.conda#2590495f608a63625e165915fb4e2e34 https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda#c93346b446cd08c169d843ae5fc0da97 -https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.1-py311h2725bcf_0.conda#56d0e9954ea2bad7e9d116d0442ac7fa -https://conda.anaconda.org/conda-forge/osx-64/pyzmq-25.1.1-py311h5dacc12_0.conda#31dfc5a12b750b4b9b28d5a8b9f06097 +https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.1-py311h2725bcf_1.conda#9283f991b5e5856a99f8aabba9927df5 +https://conda.anaconda.org/conda-forge/osx-64/pyzmq-25.1.1-py311h5dacc12_1.conda#f7199b493d4a542d7344e1f9eb5bc476 https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2#912a71cc01012ee38e6b90ddd561e36f https://conda.anaconda.org/conda-forge/osx-64/rpds-py-0.10.3-py311h299eb51_0.conda#c939f09ffd5f40e0439b1f5c801f728f https://conda.anaconda.org/conda-forge/noarch/setuptools-68.2.2-pyhd8ed1ab_0.conda#fc2166155db840c634a1291a5c35a709 @@ -169,10 +170,10 @@ https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed https://conda.anaconda.org/conda-forge/noarch/tenacity-8.2.3-pyhd8ed1ab_0.conda#1482e77f87c6a702a7e05ef22c9b197b https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 -https://conda.anaconda.org/conda-forge/osx-64/tornado-6.3.3-py311h2725bcf_0.conda#2e29e821b0448e8e8ab627f202554575 -https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.0-pyhd8ed1ab_0.conda#efd3f63a93621367d4fa6e274c511696 -https://conda.anaconda.org/conda-forge/osx-64/typed-ast-1.5.4-py311h5547dcb_1.tar.bz2#7e1a8caeddd292d2794d5e4cd5e52858 -https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda#c39d6a09fe819de4951c2642629d9115 +https://conda.anaconda.org/conda-forge/osx-64/tornado-6.3.3-py311h2725bcf_1.conda#daf5f053a40c2b0b8f86b605e302b7a4 +https://conda.anaconda.org/conda-forge/noarch/traitlets-5.10.1-pyhd8ed1ab_0.conda#1bbf337ea62a92bd082d429fbdf82b15 +https://conda.anaconda.org/conda-forge/osx-64/typed-ast-1.5.5-py311h2725bcf_1.conda#5b6ec7d8d8f6cf973fc67a68e8d49daa +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda#5b1be40a26d10a06f6d4f1f9e19fa0c7 https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2#eb67e3cace64c66233e2d35949e20f92 https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-15.0.0-py38hef030d1_0.tar.bz2#51020c740c53f14657f6307b9eb23f85 https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda#0944dc65cb4a9b5b68522c3bb585d41c @@ -180,7 +181,7 @@ https://conda.anaconda.org/conda-forge/noarch/webcolors-1.13-pyhd8ed1ab_0.conda# https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda#daf5160ff9cde3a468556965329085b9 https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.6.3-pyhd8ed1ab_0.conda#38563b419c06ed97458d081df36beec0 https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.2-pyhd8ed1ab_0.conda#1ccd092478b3e0ee10d7a891adbf8a4f -https://conda.anaconda.org/conda-forge/noarch/zipp-3.16.2-pyhd8ed1ab_0.conda#2da0451b54c4563c32490cb1b7cf68a1 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda#2e4d6bc0b14e10f895fc6791a7d9b26a https://conda.anaconda.org/conda-forge/noarch/anyio-4.0.0-pyhd8ed1ab_0.conda#3c4e99d3ae4ec033d4dd99fb5220e540 https://conda.anaconda.org/conda-forge/noarch/astropy-sphinx-theme-1.1-pyhd8ed1ab_0.conda#9941dc6d227213c20be1a1f45bdf1102 https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.0-pyhd8ed1ab_0.conda#056f04e51dd63337e8d7c425c18c86f1 @@ -191,16 +192,16 @@ https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.2-pyha770c72_0 https://conda.anaconda.org/conda-forge/noarch/bleach-6.0.0-pyhd8ed1ab_0.conda#d48b143d01385872a88ef8417e96c30e https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 https://conda.anaconda.org/conda-forge/osx-64/cairo-1.16.0-hfdb49f2_1017.conda#3fcec2e67ea8af5f5e33506651b16c41 -https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.1-py311ha86e640_3.conda#5967be4da33261eada7cc79593f71088 +https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.1-py311hc0b63fd_5.conda#9563edca3a1f213ebd96a624c817caf2 https://conda.anaconda.org/conda-forge/noarch/comm-0.1.4-pyhd8ed1ab_0.conda#c8eaca39e2b6abae1fc96acc929ae939 https://conda.anaconda.org/conda-forge/noarch/commonmark-0.9.1-py_0.tar.bz2#6aa0173c14befcd577ded130cf6f22f5 -https://conda.anaconda.org/conda-forge/osx-64/coverage-7.3.1-py311h2725bcf_0.conda#8a06c7c70029365a82e0538e15080f8b +https://conda.anaconda.org/conda-forge/osx-64/coverage-7.3.1-py311h2725bcf_1.conda#ea32cec59e0c915e81e61aac2568187e https://conda.anaconda.org/conda-forge/noarch/dot2tex-2.11.3-pyhd8ed1ab_0.tar.bz2#fb28e38d17dee34abc13cf6ad916534a https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.42.1-py311h2725bcf_0.conda#e3840e7b277a04726126900dbafd3036 https://conda.anaconda.org/conda-forge/osx-64/gmpy2-2.1.2-py311hc5b4402_1.tar.bz2#658d2cc5cfce328fe85ab46259250e03 https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.2-nompi_hedada53_100.conda#2b1d4f355b60eb10c5cb435b9f0e664f https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.8.0-pyha770c72_0.conda#4e9f59a060c3be52bc4ddc46ee9b6946 -https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.0.1-pyhd8ed1ab_0.conda#d978c61aa5fc2c69380d53ad56b5ae86 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.1.0-pyhd8ed1ab_0.conda#48b0d98e0c0ec810d3ccc2a0926c8c0e https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.0-pyhd8ed1ab_0.conda#1cd7f70057cdffc10977b613fb75425d https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2#c8490ed5c70966d232fdd389d0dbed37 https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.2.2-pyhd8ed1ab_0.tar.bz2#243f63592c8e449f40cd42eb5cf32f40 @@ -210,10 +211,10 @@ https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-h91ac1b9_8.conda#d95f5 https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.6-pyhd8ed1ab_0.tar.bz2#b21613793fcc81d944c76c9f2864a7de https://conda.anaconda.org/conda-forge/noarch/overrides-7.4.0-pyhd8ed1ab_0.conda#4625b7b01d7f4ac9c96300a5515acfaa https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh1a96a4e_2.tar.bz2#330448ce4403cc74990ac07c555942a1 -https://conda.anaconda.org/conda-forge/osx-64/pillow-10.0.1-py311hd5308a1_0.conda#46440d4a7f7e72967fb467e25856b4b2 +https://conda.anaconda.org/conda-forge/osx-64/pillow-10.0.1-py311hd5308a1_1.conda#f04d5ab4f9d9a3aa1ef11999aafb6e83 https://conda.anaconda.org/conda-forge/noarch/pip-23.2.1-pyhd8ed1ab_0.conda#e2783aa3f9235225eec92f9081c5b801 https://conda.anaconda.org/conda-forge/noarch/plotly-5.17.0-pyhd8ed1ab_0.conda#76a0b213abcd3ffc1e8fa78804b69dc0 -https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-9.2-py311hf110eff_0.conda#460e6d2c254ec4aa4299cd9bffa3b7f8 +https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-10.0-py311hf110eff_0.conda#d26705887703d13c655a6098516e06e2 https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.2-pyhd8ed1ab_0.conda#6dd662ff5ac9a783e5c940ce9f3fe649 https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 https://conda.anaconda.org/conda-forge/noarch/referencing-0.30.2-pyhd8ed1ab_0.conda#a33161b983172ba6ef69d5fc850650cd @@ -222,14 +223,14 @@ https://conda.anaconda.org/conda-forge/noarch/snakeviz-2.2.0-pyhd8ed1ab_0.conda# https://conda.anaconda.org/conda-forge/noarch/terminado-0.17.1-pyhd1c38e8_0.conda#046120b71d8896cb7faef78bfdbfee1e https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.2.1-pyhd8ed1ab_0.tar.bz2#7234c9eefff659501cd2fe0d2ede4d48 https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.1-pyhd8ed1ab_0.conda#03c97908b976498dcae97eb4e4f3149c -https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda#f96688577f1faa58096d06a45136afa2 -https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.4-pyhd8ed1ab_0.conda#18badd8fa3648d1beb1fcc7f2e0f756e -https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-21.2.0-py311h5547dcb_3.tar.bz2#c09459e349fa61afc352f473766de109 +https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda#384462e63262a527bda564fa2d9126c0 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.0.5-pyhd8ed1ab_0.conda#3bda70bbeb2920f44db5375af2e5fe38 +https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-21.2.0-py311h2725bcf_4.conda#e2aba0ad0f533ee73f9d4330d2e32549 https://conda.anaconda.org/conda-forge/noarch/arrow-1.2.3-pyhd8ed1ab_0.tar.bz2#fd1967c76eda3a3dd9e8e6cb7a15a028 https://conda.anaconda.org/conda-forge/osx-64/brotlipy-0.7.0-py38hef030d1_1005.tar.bz2#2fa6826f6f94c847bf26709f2162a09c https://conda.anaconda.org/conda-forge/osx-64/cryptography-40.0.2-py38h4257468_0.conda#e60e91caecdb7719724e6e2124e4cffc https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2#642d35437078749ef23a5dca2c9bb1f3 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-8.2.0-h7666e2a_0.conda#7b263a6bd9fbebd829f10f529209ff50 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-8.2.1-h7666e2a_0.conda#81f8f2aaf6bd4b408a0a8823edf7ce3b https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-6.8.0-hd8ed1ab_0.conda#b279b07ce18058034e5b3606ba103a8b https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.7.1-pyhd8ed1ab_0.conda#7c27ea1bdbe520bb830dcadd59f55cbf https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.4.4-pyhd8ed1ab_1.conda#7c0965e1d4a0ee1529e8eaa03a78a5b3 @@ -238,54 +239,55 @@ https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-18_osx64_openblas. https://conda.anaconda.org/conda-forge/noarch/pbr-5.11.1-pyhd8ed1ab_0.conda#5bde4ebca51438054099b9527c904ecb https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.10.0-pyhd8ed1ab_0.conda#0809187ef9b89a3d94a5c24d13936236 https://conda.anaconda.org/conda-forge/noarch/pybtex-0.24.0-pyhd8ed1ab_2.tar.bz2#2099b86a7399c44c0c61cdb6de6915ba -https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-9.2-py311hf110eff_0.conda#6ba4637fa1ed0a1e829b1f278c12274a +https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-10.0-py311hf110eff_1.conda#8fb67274a648901045368717d6221aed https://conda.anaconda.org/conda-forge/noarch/pytest-cov-4.1.0-pyhd8ed1ab_0.conda#06eb685a3a0b146347a58dda979485da https://conda.anaconda.org/conda-forge/noarch/pytest-doctestplus-1.0.0-pyhd8ed1ab_0.conda#4ec3803f0a0a6343faca020350bd0a1a https://conda.anaconda.org/conda-forge/noarch/pytest-metadata-3.0.0-pyhd8ed1ab_1.conda#8bdcc0f401561213821bf67513abeeff https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda#a30144e4156cdbb236f99ebb49828f8b -https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-7.1.0-pyhd8ed1ab_0.conda#6613dbb3b25cc648a107f33ca9f80fc1 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-8.0.3-pyhd8ed1ab_0.conda#23929f6e32fba28210bf0c329a8cf941 https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda#e7df0fdd404616638df5ece6e69ba7af https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda#2f7d6347d7acf6edf1ac7f2189f44c8f +https://conda.anaconda.org/conda-forge/noarch/syrupy-4.5.0-pyhd8ed1ab_0.conda#23a01c37640f9a8ec3872752c7ff80aa https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.6-pyhd8ed1ab_0.conda#078979d33523cb477bd1916ce41aacc9 https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda#3afef1f55a1366b4d3b6a0d92e2235e4 https://conda.anaconda.org/conda-forge/noarch/black-22.3.0-pyhd8ed1ab_0.tar.bz2#7ecbfaae9a30b73c1a6e36e4a0debc03 https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2#4cb68948e0b8429534380243d063a27a -https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.0-pyhd8ed1ab_1.conda#d442886dffcee45604595fea2ad3a181 -https://conda.anaconda.org/conda-forge/osx-64/jupyter_core-5.3.1-py311h6eed73b_0.conda#2d45628b123595054093ff65996b98ae +https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.1-pyhd8ed1ab_0.conda#78aff5d2af74e6537c1ca73017f01f4f +https://conda.anaconda.org/conda-forge/osx-64/jupyter_core-5.3.2-py311h6eed73b_0.conda#32b2a44c7686c1dc850e4dd44f16b2d8 https://conda.anaconda.org/conda-forge/osx-64/numpy-1.24.4-py311hc44ba51_0.conda#31c12f08652b27a8f9cceb39ea4a1d4e https://conda.anaconda.org/conda-forge/osx-64/pango-1.50.14-h19c1c8a_2.conda#bf0d46d9e97cb3ae5ad7ee4b688929a9 https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.39-pyha770c72_0.conda#a4986c6bb5b0d05a38855b0880a5f425 -https://conda.anaconda.org/conda-forge/osx-64/pybtex-docutils-1.0.3-py311h6eed73b_0.conda#218f01e087a8a12f3474ff43c9879628 +https://conda.anaconda.org/conda-forge/osx-64/pybtex-docutils-1.0.3-py311h6eed73b_1.conda#36996441974a061f9e0b600741599585 https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.1.1-pyhd8ed1ab_0.conda#0b34aa3ab7e7ccb1765a03dd9ed29938 https://conda.anaconda.org/conda-forge/noarch/pytest-html-3.2.0-pyhd8ed1ab_1.tar.bz2#d5c7a941dfbceaab4b172a56d7918eb0 https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.2-pyhd1c38e8_0.conda#2657c3de5371c571aef6678afb4aaadd -https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-7.1.0-hd8ed1ab_0.conda#75abb977a0ae63a8039b12fa0925eeb8 +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-8.0.3-hd8ed1ab_0.conda#da055c131516bfc51a5f5479b9390b2e https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-apidoc-0.3.0-py_1.tar.bz2#855b087883443abb10f5faf6eef40860 -https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.1.1-py311h5fe6e05_0.conda#4ee477aeedcb82edff2b3d9ab2ad98ae +https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.1.1-py311h5fe6e05_1.conda#a8e5f688e3249e1dea90b4dd4eede1a7 https://conda.anaconda.org/conda-forge/osx-64/gtk2-2.24.33-h7c1209e_2.tar.bz2#307614630946527e302b7dd042a5cfa2 -https://conda.anaconda.org/conda-forge/osx-64/h5py-3.9.0-nompi_py311hf255e76_102.conda#8261fdb0f3ef9287449d3731ef927ed7 -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.0-pyhd8ed1ab_1.conda#d273b30bcf4db0ef6b1195b3b61b3d68 +https://conda.anaconda.org/conda-forge/osx-64/h5py-3.9.0-nompi_py311hf255e76_103.conda#0b74e739ce6718d03bd830816bc1aacd +https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.19.1-pyhd8ed1ab_0.conda#daca0665e6fe8a376e48b9f0b5865326 https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.3.1-pyhd8ed1ab_0.conda#b7cc0981484fcb6390e6d341e55618b3 https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.56.3-hec3db73_0.conda#c6ab56c808493cbd88267fad5297c3c1 https://conda.anaconda.org/conda-forge/noarch/nbformat-5.9.2-pyhd8ed1ab_0.conda#61ba076de6530d9301a0053b02f093d2 https://conda.anaconda.org/conda-forge/osx-64/numba-0.57.1-py311h5a8220d_0.conda#8049bf49848013a9b6565c14e6621798 -https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.8.4-py311hab14417_1.conda#f54b3f060b554070e12e815e97c02a1c -https://conda.anaconda.org/conda-forge/osx-64/pandas-2.1.0-py311hab14417_0.conda#e081bf78c37d2671a7d442a56c3a8728 +https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.8.7-py311hab14417_0.conda#2abd3d878d4e9851a3ecda9e22d320e4 +https://conda.anaconda.org/conda-forge/osx-64/pandas-2.1.1-py311hab14417_0.conda#c739684a33ac866b933093225c85a666 https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.39-hd8ed1ab_0.conda#4bbbe67d5df19db30f04b8e344dc9976 -https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.0.3-py311h4a70a88_0.conda#261df2feb11abd22de42e0c9dc276a2e -https://conda.anaconda.org/conda-forge/osx-64/scipy-1.11.2-py311h16c3c4d_1.conda#1a79189c98a28c9fef03ba8315bcd6b8 +https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.0.3-py311h4a70a88_1.conda#df67199d1733effdfc2f959ae4f63e8f +https://conda.anaconda.org/conda-forge/osx-64/scipy-1.11.3-py311h16c3c4d_0.conda#bd195650c219e5e90f45413cd0bacfa8 https://conda.anaconda.org/conda-forge/osx-64/astropy-5.3.3-py311h4a70a88_0.conda#067a1e7c5fc33393399dc5c1969469a0 https://conda.anaconda.org/conda-forge/osx-64/graphviz-8.1.0-hc7f41f9_0.conda#a840f2eb891fdc5c39c762e16ee09600 https://conda.anaconda.org/conda-forge/noarch/ipython-8.15.0-pyh31c8845_0.conda#24e68bbee62de3c9c6d051d59e9ea87b https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.7.0-pyhd8ed1ab_2.conda#088f0493279a7f7eebd514df47d65851 -https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.7.2-py311haff9b01_0.conda#bd9520e9015e70f3de839ce48c9061ea +https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.8.0-py311haff9b01_0.conda#390e0db0f04fabd7330fa626c398b16f https://conda.anaconda.org/conda-forge/noarch/nbclient-0.8.0-pyhd8ed1ab_0.conda#e78da91cf428faaf05701ce8cc8f2f9b https://conda.anaconda.org/conda-forge/osx-64/pytables-3.8.0-py311h21e7aa0_3.conda#fe8ff91c89febadc989bc9e88c53e5a2 https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.25.2-pyh1050b4e_0.conda#a643e6f6c33ed821664f2a69f6e4e89f https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.8.0-pyhd8ed1ab_0.conda#62345c9e24f898bf492979be84a6eb0a -https://conda.anaconda.org/conda-forge/osx-64/pygraphviz-1.11-py311hc6eba27_0.conda#fed0a15be9e09c83aba369a5049655c1 +https://conda.anaconda.org/conda-forge/osx-64/pygraphviz-1.11-py311hc6eba27_1.conda#17602bac3f0091fc1383741385b1c1b1 https://conda.anaconda.org/conda-forge/noarch/radioactivedecay-0.4.21-pyhd8ed1ab_0.conda#673319f48d9b160c8056783d301e090c -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_0.conda#969249eb7c2f7a9b820520a355dc7d04 +https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.7.3-pyhd8ed1ab_1.conda#0123f934221b023ddc7443e85cac9023 https://conda.anaconda.org/conda-forge/noarch/nbconvert-pandoc-7.8.0-pyhd8ed1ab_0.conda#1dba1a577df2625a24667612a069e91c https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.0-pyhd8ed1ab_0.conda#38589f4104d11f2a59ff01a9f4e3bfb3 https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.25.0-pyhd8ed1ab_0.conda#a52834fa7e3d12abc5efdf06b2097a05 @@ -293,7 +295,7 @@ https://conda.anaconda.org/conda-forge/noarch/nbconvert-7.8.0-pyhd8ed1ab_0.conda https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.3-pyhd8ed1ab_0.conda#67e0fe74c156267d9159e9133df7fd37 https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.0.6-pyhd8ed1ab_0.conda#80bb1cc3b540790cb5afecd73c2d4d1f https://conda.anaconda.org/conda-forge/noarch/nbclassic-1.0.0-pyhb4ecaf3_1.conda#a0be31e9bd84d6eae87cdbf74c56b90b -https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.3-pyhd8ed1ab_0.conda#1f2d368cde97926b5e351d1a0286bb1e +https://conda.anaconda.org/conda-forge/noarch/notebook-7.0.4-pyhd8ed1ab_0.conda#9fe0b0f2e8a6dbae64947e90079ea54c https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.6-pyhd8ed1ab_0.conda#fe79dfe7d51794d665ec3c2fdd4e47c3 https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.0-pyhd8ed1ab_0.conda#518b05adab6cfe6ea249319932d9d4a3 https://conda.anaconda.org/conda-forge/noarch/qgrid-1.3.1-pyhd8ed1ab_4.tar.bz2#fff68c7404813a1eb2678425f00e9917 diff --git a/docs/contributing/development/running_tests.rst b/docs/contributing/development/running_tests.rst index e299cb8febc..d5d1a0e4c59 100644 --- a/docs/contributing/development/running_tests.rst +++ b/docs/contributing/development/running_tests.rst @@ -70,6 +70,18 @@ Or, to run tests for a particular file or directory You can check if cache was generated by looking in the ``Restore LFS Cache`` step of the workflow run. Cache can also be found under the "Management" Section under "Actions" tab. + +Running Syrupy Tests +====================== +The tests module is currently being restructured to use `Syrupy `_. +These tests generate individual HDF(for Pandas) and ``.npy`` or ``.npz`` (for NumPy) files(or snapshots) for each test case. +For other objects, the plugin serialises them and saves them as ``.ambr`` files. There is a custom extension in the +main local `conftest `_ file to get this to work. +The plugin currently only supports ``assert_allclose`` for NumPy and ``assert_series_equal`` and ``assert_frame_equal`` for +Pandas. Snapshots can be generated by using the same ``--generate-reference`` flag and are compared automatically. +You however need to provide the location to your snapshot directory using the ``--tardis-snapshot-data`` flag. +The snapshots are also saved in `tardis-sn/tardis-regressions `_. + Generating Plasma Reference =========================== diff --git a/docs/io/configuration/components/plasma.rst b/docs/io/configuration/components/plasma.rst index bef23b8110c..4a27598d2fe 100644 --- a/docs/io/configuration/components/plasma.rst +++ b/docs/io/configuration/components/plasma.rst @@ -64,3 +64,14 @@ The NLTE configuration currently allows setting ``coronal_approximation``, which This is useful for debugging with :term:`chianti` for example. Furthermore, one can enable 'classical_nebular' to set all :math:`\beta_\textrm{Sobolev}` to 1. Both options are used for checking with other codes and should not be enabled in normal operations. + +NLTE Ionization +^^^^^^^^^^^^^^^ + +.. code-block:: yaml + + plasma: + nlte_ionization_species: [H I, H II, He I, He II] + +This option allows the user to specify which species should be included in the NLTE ionization treatment. Note that the +species must be present in the continuum interaction species as well. diff --git a/docs/physics/setup/plasma/index.rst b/docs/physics/setup/plasma/index.rst index 6d0c26ad7ff..06c4a2203c9 100644 --- a/docs/physics/setup/plasma/index.rst +++ b/docs/physics/setup/plasma/index.rst @@ -73,6 +73,9 @@ The next more complex class is `LTEPlasma` which will calculate the ionization b TARDIS also allows for NLTE treatments of specified species, as well as special NLTE treatments for Helium. +.. note:: + The NLTE treatment of specified species is currently incompatible with the NLTE treatment for helium and cannot be used simulataneously. + .. toctree:: :maxdepth: 2 diff --git a/tardis/conftest.py b/tardis/conftest.py index eb64d686fda..00bcb0ec413 100644 --- a/tardis/conftest.py +++ b/tardis/conftest.py @@ -39,7 +39,6 @@ def pytest_configure(config): """ if ASTROPY_HEADER: - config.option.astropy_header = True # Customize the following lines to add/remove entries from the list of @@ -78,11 +77,19 @@ def pytest_configure(config): # Here the TARDIS testing stuff begins # ------------------------------------------------------------------------- +import re import pytest import pandas as pd from tardis.io.util import yaml_load_file, YAMLLoader from tardis.io.configuration.config_reader import Configuration from tardis.simulation import Simulation +from tardis.util.syrupy_extensions import ( + SingleFileSanitizedNames, + NumpySnapshotExtenstion, + PandasSnapshotExtenstion, +) + +pytest_plugins = "syrupy" def pytest_addoption(parser): @@ -101,6 +108,13 @@ def pytest_addoption(parser): default=False, help="generate reference data instead of testing", ) + + parser.addoption( + "--tardis-snapshot-data", + default=None, + help="Path to Tardis Snapshot Folder", + ) + parser.addoption( "--less-packets", action="store_true", @@ -116,6 +130,8 @@ def pytest_collection_modifyitems(config, items): for item in items: if "ignore_generate" in item.keywords: item.add_marker(skip_generate) + # automatically set update snapshots to true + config.option.update_snapshots = True # ------------------------------------------------------------------------- @@ -141,6 +157,17 @@ def tardis_ref_path(request): return Path(os.path.expandvars(os.path.expanduser(tardis_ref_path))) +@pytest.fixture(scope="session") +def tardis_snapshot_path(request): + tardis_snapshot_path = request.config.getoption("--tardis-snapshot-data") + if tardis_snapshot_path is None: + pytest.skip("--tardis-snapshot-data was not specified") + else: + return Path( + os.path.expandvars(os.path.expanduser(tardis_snapshot_path)) + ) + + from tardis.tests.fixtures.atom_data import * @@ -211,3 +238,23 @@ def simulation_verysimple(config_verysimple, atomic_dataset): sim = Simulation.from_config(config_verysimple, atom_data=atomic_data) sim.iterate(4000) return sim + + +# ------------------------------------------------------------------------- +# fixtures and plugins for syrupy/regression data testing +# ------------------------------------------------------------------------- + + +@pytest.fixture +def pandas_snapshot_extention(): + return PandasSnapshotExtenstion + + +@pytest.fixture +def numpy_snapshot_extension(): + return NumpySnapshotExtenstion + + +@pytest.fixture +def singlefilesanitized(): + return SingleFileSanitizedNames diff --git a/tardis/io/decay.py b/tardis/io/decay.py index a61a54a3cb8..7005fa50e6e 100644 --- a/tardis/io/decay.py +++ b/tardis/io/decay.py @@ -2,10 +2,12 @@ from radioactivedecay import Nuclide, Inventory from radioactivedecay.utils import Z_to_elem from astropy import units as u +import logging +logger = logging.getLogger(__name__) -class IsotopeAbundances(pd.DataFrame): +class IsotopeAbundances(pd.DataFrame): _metadata = ["time_0"] def __init__(self, *args, **kwargs): @@ -92,9 +94,18 @@ def decay(self, t): t_second = ( u.Quantity(t, u.day).to(u.s).value - self.time_0.to(u.s).value ) + logger.info(f"Decaying abundances for {t_second} seconds") + if t_second < 0: + logger.warning( + f"Decay time {t_second} is negative. This could indicate a miss-specified input model." + f" A negative decay time can potentially lead to negative abundances." + ) decayed_inventories = [item.decay(t_second) for item in inventories] df = IsotopeAbundances.from_inventories(decayed_inventories) df.sort_index(inplace=True) + assert ( + df.ge(0.0).all().all() + ), "Negative abundances detected. Please make sure your input abundances are correct." return df def as_atoms(self): diff --git a/tardis/montecarlo/montecarlo_numba/numba_interface.py b/tardis/montecarlo/montecarlo_numba/numba_interface.py index 848ba3cfe10..50be58a6d8f 100644 --- a/tardis/montecarlo/montecarlo_numba/numba_interface.py +++ b/tardis/montecarlo/montecarlo_numba/numba_interface.py @@ -217,7 +217,9 @@ def opacity_state_initialize(plasma, line_interaction_type): ].values phot_nus = phot_nus.values - ff_opacity_factor = plasma.ff_cooling_factor / np.sqrt(t_electrons) + ff_opacity_factor = ( + plasma.ff_cooling_factor / np.sqrt(t_electrons) + ).astype(np.float64) emissivities = plasma.fb_emission_cdf.loc[ plasma.level2continuum_idx.index ].values diff --git a/tardis/montecarlo/packet_source.py b/tardis/montecarlo/packet_source.py index f6a069dac0e..0bd63ea1f90 100644 --- a/tardis/montecarlo/packet_source.py +++ b/tardis/montecarlo/packet_source.py @@ -313,7 +313,7 @@ def create_packets(self, no_of_packets): self.beta = ((self.radius / self.time_explosion) / const.c).to("") return super().create_packets(no_of_packets) - def create_packet_nus(self, no_of_packets): + def create_packet_mus(self, no_of_packets): """ Create zero-limb-darkening packet :math:`\mu^\prime` distributed according to :math:`\\mu^\\prime=2 \\frac{\\mu^\\prime + \\beta}{2 \\beta + 1}`. @@ -327,7 +327,7 @@ def create_packet_nus(self, no_of_packets): Returns ------- - array of frequencies + Directions for packets numpy.ndarray """ z = self.rng.random(no_of_packets) diff --git a/tardis/montecarlo/tests/test_packet_source.py b/tardis/montecarlo/tests/test_packet_source.py index 43338903967..a18850d4129 100644 --- a/tardis/montecarlo/tests/test_packet_source.py +++ b/tardis/montecarlo/tests/test_packet_source.py @@ -3,8 +3,12 @@ import numpy as np import pandas as pd import pytest +from numpy.testing import assert_allclose -from tardis.montecarlo.packet_source import BlackBodySimpleSource +from tardis.montecarlo.packet_source import ( + BlackBodySimpleSource, + BlackBodySimpleSourceRelativistic, +) from tardis.montecarlo import ( montecarlo_configuration as montecarlo_configuration, ) @@ -43,6 +47,22 @@ def blackbodysimplesource(self, request): yield cls.bb montecarlo_configuration.LEGACY_MODE_ENABLED = False + @pytest.fixture(scope="class") + def blackbody_simplesource_relativistic(self, request): + """ + Create BlackBodySimpleSourceRelativistic instance. + + Yields + ------- + tardis.montecarlo.packet_source.BlackBodySimpleSourceRelativistic + """ + montecarlo_configuration.LEGACY_MODE_ENABLED = True + bb_rel = BlackBodySimpleSourceRelativistic( + base_seed=1963, legacy_second_seed=2508 + ) + yield bb_rel + montecarlo_configuration.LEGACY_MODE_ENABLED = False + def test_bb_packet_sampling( self, request, @@ -51,8 +71,6 @@ def test_bb_packet_sampling( blackbodysimplesource, ): """ - Test generate_plot_mpl method. - Parameters ---------- request : _pytest.fixtures.SubRequest @@ -75,3 +93,47 @@ def test_bb_packet_sampling( assert np.all(np.isclose(nus, ref_df["nus"])) assert np.all(np.isclose(mus, ref_df["mus"])) assert np.all(np.isclose(unif_energies, ref_df["energies"])) + + def test_bb_packet_sampling_relativistic( + self, + tardis_ref_data, + blackbody_simplesource_relativistic, + ): + """ + Parameters + ---------- + tardis_ref_data : pd.HDFStore + blackbody_simplesource_relativistic : tardis.montecarlo.packet_source.BlackBodySimpleSourceRelativistic + """ + blackbody_simplesource_relativistic.temperature = 10000 + blackbody_simplesource_relativistic.beta = 0.25 + + nus = blackbody_simplesource_relativistic.create_packet_nus(100) + unif_energies = ( + blackbody_simplesource_relativistic.create_packet_energies(100) + ) + blackbody_simplesource_relativistic._reseed(2508) + mus = blackbody_simplesource_relativistic.create_packet_mus(10) + + gamma = np.sqrt(1 - blackbody_simplesource_relativistic.beta**2) ** -1 + ref_df = tardis_ref_data["/packet_unittest/blackbody"] + expected_nus = ref_df["nus"] + expected_unif_energies = ref_df["energies"] * 1.6 / gamma + expected_mus = np.array( + [ + 0.60420546, + 0.49899691, + 0.69583288, + 0.96812652, + 0.01544154, + 0.93562304, + 0.44306545, + 0.77010037, + 0.896973, + 0.67876489, + ] + ) + + assert_allclose(nus, expected_nus) + assert_allclose(unif_energies, expected_unif_energies) + assert_allclose(mus, expected_mus, rtol=1e-6) diff --git a/tardis/plasma/properties/nlte_rate_equation_solver.py b/tardis/plasma/properties/nlte_rate_equation_solver.py index 9718efc266f..487b93ad5a3 100644 --- a/tardis/plasma/properties/nlte_rate_equation_solver.py +++ b/tardis/plasma/properties/nlte_rate_equation_solver.py @@ -11,7 +11,7 @@ class NLTERateEquationSolver(ProcessingPlasmaProperty): - outputs = ("ion_number_density_nlte", "electron_densities_nlte") + outputs = ("ion_number_density", "electron_densities") def calculate( self, @@ -110,6 +110,10 @@ def calculate( number_density[shell], initial_electron_densities[shell], ) + # All first guess values have to be positive + assert ( + np.greater_equal(first_guess, 0.0).all() + ).all(), "First guess for NLTE solver has negative values, something went wrong." solution = root( self.population_objective_function, first_guess, @@ -591,7 +595,7 @@ def prepare_first_guess( """ first_guess = pd.Series(0.0, index=rate_matrix_index) for atomic_number in atomic_numbers: - first_guess.loc[(atomic_number, 1)][0] = number_density.loc[ + first_guess.loc[(atomic_number, 1)].iloc[0] = number_density.loc[ atomic_number ] # TODO: After the first iteration, the new guess can be the old solution. diff --git a/tardis/plasma/properties/transition_probabilities.py b/tardis/plasma/properties/transition_probabilities.py index 9def7e650df..e69d655ef6b 100644 --- a/tardis/plasma/properties/transition_probabilities.py +++ b/tardis/plasma/properties/transition_probabilities.py @@ -41,10 +41,16 @@ def normalize_trans_probs(p): all probabilites with the same source_level_idx sum to one. Indexed by source_level_idx, destination_level_idx. """ - p_summed = p.groupby(level=0).sum() + # Dtype conversion is needed for pandas to return nan instead of + # a ZeroDivisionError in cases where the sum is zero. + p = p.astype(np.float64) + p_summed = p.groupby(level=0).sum().astype(np.float64) index = p.index.get_level_values("source_level_idx") p_norm = p / p_summed.loc[index].values p_norm = p_norm.fillna(0.0) + # Convert back to original dtypes to avoid typing problems later on + # in the numba code. + p_norm = p_norm.convert_dtypes() return p_norm @@ -78,7 +84,9 @@ def series2matrix(series, idx2reduced_idx): idx2reduced_idx.loc[q_indices[1]].values, ) max_idx = idx2reduced_idx.max() + 1 - matrix = sp.coo_matrix((series, q_indices), shape=(max_idx, max_idx)) + matrix = sp.coo_matrix( + (series.astype(np.float64), q_indices), shape=(max_idx, max_idx) + ) return matrix @staticmethod diff --git a/tardis/plasma/standard_plasmas.py b/tardis/plasma/standard_plasmas.py index 63c6ac2324e..82bbc54a263 100644 --- a/tardis/plasma/standard_plasmas.py +++ b/tardis/plasma/standard_plasmas.py @@ -6,6 +6,10 @@ import pandas as pd from tardis.io.atom_data import AtomData +from tardis.plasma.properties.level_population import LevelNumberDensity +from tardis.plasma.properties.nlte_rate_equation_solver import ( + NLTERateEquationSolver, +) from tardis.plasma.properties.rate_matrix_index import NLTEIndexHelper from tardis.util.base import species_string_to_tuple from tardis.plasma import BasePlasma @@ -265,6 +269,26 @@ def assemble_plasma(config, simulation_state, atom_data=None): delta_treatment=config.plasma.delta_treatment ) + if ( + config.plasma.helium_treatment == "recomb-nlte" + or config.plasma.helium_treatment == "numerical-nlte" + ) and ( + config.plasma.nlte_ionization_species + or config.plasma.nlte_excitation_species + ): + # Prevent the user from using helium NLTE treatment with + # NLTE ionization and excitation treatment. This is because + # the helium_nlte_properties could overwrite the NLTE ionization + # and excitation ion number and electron densities. + # helium_numerical_nlte_properties is also included here because + # it is currently in the same if else block, and thus may block + # the addition of the components from the else block. + raise PlasmaConfigError( + "Helium NLTE treatment is incompatible with the NLTE eonization and excitation treatment." + ) + + # TODO: Disentangle these if else block such that compatible components + # can be added independently. if config.plasma.helium_treatment == "recomb-nlte": plasma_modules += helium_nlte_properties elif config.plasma.helium_treatment == "numerical-nlte": @@ -277,7 +301,16 @@ def assemble_plasma(config, simulation_state, atom_data=None): heating_rate_data_file=config.plasma.heating_rate_data_file ) else: - plasma_modules += helium_lte_properties + # If nlte ionization species are present, we don't want to add the + # IonNumberDensity from helium_lte_properties, since we want + # to use the IonNumberDensity provided by the NLTE solver. + if ( + config.plasma.nlte_ionization_species + or config.plasma.nlte_excitation_species + ): + plasma_modules += [LevelNumberDensity] + else: + plasma_modules += helium_lte_properties if simulation_state._electron_densities is not None: electron_densities = pd.Series( @@ -287,6 +320,13 @@ def assemble_plasma(config, simulation_state, atom_data=None): property_kwargs[IonNumberDensityHeNLTE] = dict( electron_densities=electron_densities ) + elif ( + config.plasma.nlte_ionization_species + or config.plasma.nlte_excitation_species + ): + property_kwargs[NLTERateEquationSolver] = dict( + electron_densities=electron_densities + ) else: property_kwargs[IonNumberDensity] = dict( electron_densities=electron_densities diff --git a/tardis/plasma/tests/conftest.py b/tardis/plasma/tests/conftest.py new file mode 100644 index 00000000000..dab8927219e --- /dev/null +++ b/tardis/plasma/tests/conftest.py @@ -0,0 +1,42 @@ +from pathlib import Path + +import pytest +from syrupy.location import PyTestLocation + +SNAPSHOT_LOCATION = "plasma" + + +@pytest.fixture +def snapshot_pd(snapshot, tardis_snapshot_path, pandas_snapshot_extention): + refpath = tardis_snapshot_path.joinpath(SNAPSHOT_LOCATION) + + class PandasSnapshotExtenstionRefdata(pandas_snapshot_extention): + @classmethod + def dirname(cls, *, test_location: "PyTestLocation") -> str: + return str(Path(test_location.filepath).parent.joinpath(refpath)) + + return snapshot.use_extension(PandasSnapshotExtenstionRefdata) + + +@pytest.fixture +def snapshot_np(snapshot, tardis_snapshot_path, numpy_snapshot_extension): + refpath = tardis_snapshot_path.joinpath(SNAPSHOT_LOCATION) + + class NumpySnapshotExtenstionRefdata(numpy_snapshot_extension): + @classmethod + def dirname(cls, *, test_location: "PyTestLocation") -> str: + return str(Path(test_location.filepath).parent.joinpath(refpath)) + + return snapshot.use_extension(NumpySnapshotExtenstionRefdata) + + +@pytest.fixture +def snapshot(snapshot, tardis_snapshot_path, singlefilesanitized): + refpath = tardis_snapshot_path.joinpath(SNAPSHOT_LOCATION) + + class SingleFileSanitizedRefdata(singlefilesanitized): + @classmethod + def dirname(cls, *, test_location: "PyTestLocation") -> str: + return str(Path(test_location.filepath).parent.joinpath(refpath)) + + return snapshot.use_extension(SingleFileSanitizedRefdata) diff --git a/tardis/plasma/tests/test_complete_plasmas.py b/tardis/plasma/tests/test_complete_plasmas.py index 4320f0d8284..6231eb11e06 100644 --- a/tardis/plasma/tests/test_complete_plasmas.py +++ b/tardis/plasma/tests/test_complete_plasmas.py @@ -2,11 +2,8 @@ import warnings import pandas as pd -import pandas.testing as pdt import pytest -import numpy as np -from numpy.testing import assert_almost_equal from tardis.io.configuration.config_reader import Configuration from tardis.simulation import Simulation @@ -72,7 +69,6 @@ def idfn(fixture_value): class TestPlasma(object): - general_properties = [ "beta_rad", "g_electron", @@ -157,18 +153,13 @@ def config(self, request): return config @pytest.fixture(scope="class") - def plasma(self, request, chianti_he_db_fpath, config, tardis_ref_data): + def plasma(self, chianti_he_db_fpath, config): config["atom_data"] = chianti_he_db_fpath sim = Simulation.from_config(config) - if request.config.getoption("--generate-reference"): - sim.plasma.to_hdf( - tardis_ref_data, path=config.plasma.save_path, overwrite=True - ) - pytest.skip(f"Reference data saved at {tardis_ref_data}") return sim.plasma @pytest.mark.parametrize("attr", combined_properties) - def test_plasma_properties(self, plasma, tardis_ref_data, config, attr): + def test_plasma_properties(self, plasma, attr, snapshot_pd, snapshot_np): if hasattr(plasma, attr): actual = getattr(plasma, attr) if hasattr(actual, "unit"): @@ -177,42 +168,35 @@ def test_plasma_properties(self, plasma, tardis_ref_data, config, attr): actual = pd.Series(actual) else: actual = pd.DataFrame(actual) - key = os.path.join(config.plasma.save_path, "plasma", attr) - expected = tardis_ref_data[key] - if type(actual) == pd.DataFrame: - pdt.assert_frame_equal(actual, expected) - elif type(actual) == pd.Series: - pdt.assert_series_equal(actual, expected) + if isinstance(actual, (pd.DataFrame, pd.Series)): + assert snapshot_pd == actual else: - raise TypeError(f"Unexpected type {type(actual)}") - # we used this before - assert_almost_equal(actual.values, expected.values) + assert snapshot_np == actual else: warnings.warn(f'Property "{attr}" not found') - def test_levels(self, plasma, tardis_ref_data, config): + def test_levels(self, plasma, snapshot_pd, snapshot_np): actual = pd.DataFrame(plasma.levels) - key = os.path.join(config.plasma.save_path, "plasma", "levels") - expected = tardis_ref_data[key] - pdt.assert_frame_equal(actual, expected) + if isinstance(actual, (pd.DataFrame, pd.Series)): + assert snapshot_pd == actual + else: + assert snapshot_np == actual @pytest.mark.parametrize("attr", scalars_properties) - def test_scalars_properties(self, plasma, tardis_ref_data, config, attr): + def test_scalars_properties(self, plasma, attr, snapshot_pd, snapshot_np): actual = getattr(plasma, attr) if hasattr(actual, "cgs"): actual = actual.cgs.value - key = os.path.join(config.plasma.save_path, "plasma", "scalars") - expected = tardis_ref_data[key][attr] - assert_almost_equal(actual, expected) + if isinstance(actual, (pd.DataFrame, pd.Series)): + assert snapshot_pd == actual + else: + assert snapshot_np == actual - def test_helium_treatment(self, plasma, tardis_ref_data, config): + def test_helium_treatment(self, plasma, snapshot): actual = plasma.helium_treatment - key = os.path.join(config.plasma.save_path, "plasma", "scalars") - expected = tardis_ref_data[key]["helium_treatment"] - assert actual == expected + assert snapshot == actual - def test_zeta_data(self, plasma, tardis_ref_data, config): + def test_zeta_data(self, plasma, snapshot_np): if hasattr(plasma, "zeta_data"): actual = plasma.zeta_data - key = os.path.join(config.plasma.save_path, "plasma", "zeta_data") - expected = tardis_ref_data[key] - assert_almost_equal(actual, expected.values) + assert snapshot_np == actual.values diff --git a/tardis/plasma/tests/test_hdf_plasma.py b/tardis/plasma/tests/test_hdf_plasma.py index 00edec980d2..01c91cb386b 100644 --- a/tardis/plasma/tests/test_hdf_plasma.py +++ b/tardis/plasma/tests/test_hdf_plasma.py @@ -1,21 +1,11 @@ -import os import pandas as pd import pytest -from numpy.testing import assert_almost_equal -import pandas.testing as pdt -from tardis.plasma.properties import property_collections - ### # saving and loading of plasma properties in the HDF file ### -@pytest.fixture(scope="module", autouse=True) -def to_hdf_buffer(hdf_file_path, simulation_verysimple): - simulation_verysimple.plasma.to_hdf(hdf_file_path, overwrite=True) - - plasma_properties_list = [ "number_density", "beta_rad", @@ -53,70 +43,48 @@ def to_hdf_buffer(hdf_file_path, simulation_verysimple): @pytest.mark.parametrize("attr", plasma_properties_list) -def test_hdf_plasma(hdf_file_path, simulation_verysimple, attr): +def test_hdf_plasma(simulation_verysimple, attr, snapshot_np): if hasattr(simulation_verysimple.plasma, attr): actual = getattr(simulation_verysimple.plasma, attr) if hasattr(actual, "cgs"): actual = actual.cgs.value - path = os.path.join("plasma", attr) - expected = pd.read_hdf(hdf_file_path, path) - assert_almost_equal(actual, expected.values) + assert snapshot_np == actual -def test_hdf_levels(hdf_file_path, simulation_verysimple): +def test_hdf_levels(simulation_verysimple, snapshot_pd): actual = getattr(simulation_verysimple.plasma, "levels") if hasattr(actual, "cgs"): actual = actual.cgs.value - path = os.path.join("plasma", "levels") - expected = pd.read_hdf(hdf_file_path, path) - pdt.assert_frame_equal(pd.DataFrame(actual), expected) + assert snapshot_pd == pd.DataFrame(actual) scalars_list = ["time_explosion", "link_t_rad_t_electron"] @pytest.mark.parametrize("attr", scalars_list) -def test_hdf_scalars(hdf_file_path, simulation_verysimple, attr): +def test_hdf_scalars(simulation_verysimple, attr, snapshot_np): actual = getattr(simulation_verysimple.plasma, attr) if hasattr(actual, "cgs"): actual = actual.cgs.value - path = os.path.join("plasma", "scalars") - expected = pd.read_hdf(hdf_file_path, path)[attr] - assert_almost_equal(actual, expected) + assert snapshot_np == actual -def test_hdf_helium_treatment(hdf_file_path, simulation_verysimple): +def test_hdf_helium_treatment(simulation_verysimple, snapshot): actual = getattr(simulation_verysimple.plasma, "helium_treatment") - path = os.path.join("plasma", "scalars") - expected = pd.read_hdf(hdf_file_path, path)["helium_treatment"] - assert actual == expected + assert snapshot == actual -def test_atomic_data_uuid(hdf_file_path, simulation_verysimple): +def test_atomic_data_uuid(simulation_verysimple, snapshot): actual = getattr(simulation_verysimple.plasma.atomic_data, "uuid1") - path = os.path.join("plasma", "scalars") - expected = pd.read_hdf(hdf_file_path, path)["atom_data_uuid"] - assert actual == expected - - -@pytest.fixture(scope="module", autouse=True) -def to_hdf_collection_buffer(hdf_file_path, simulation_verysimple): - simulation_verysimple.plasma.to_hdf( - hdf_file_path, - name="collection", - collection=property_collections.basic_inputs, - overwrite=True, - ) + assert snapshot == actual collection_properties = ["t_rad", "w", "density"] @pytest.mark.parametrize("attr", collection_properties) -def test_collection(hdf_file_path, simulation_verysimple, attr): +def test_collection(simulation_verysimple, attr, snapshot_np): actual = getattr(simulation_verysimple.plasma, attr) if hasattr(actual, "cgs"): actual = actual.cgs.value - path = os.path.join("collection", attr) - expected = pd.read_hdf(hdf_file_path, path) - assert_almost_equal(actual, expected.values) + assert snapshot_np == actual diff --git a/tardis/plasma/tests/test_nlte_excitation.py b/tardis/plasma/tests/test_nlte_excitation.py index 657d49711c0..884f28af20a 100644 --- a/tardis/plasma/tests/test_nlte_excitation.py +++ b/tardis/plasma/tests/test_nlte_excitation.py @@ -1,18 +1,14 @@ -import pandas as pd import numpy as np +import pandas as pd import pytest -from numpy.testing import assert_allclose - +from tardis.plasma.properties.nlte_excitation_data import NLTEExcitationData from tardis.plasma.properties.nlte_rate_equation_solver import ( NLTERateEquationSolver, ) -from tardis.plasma.properties.nlte_excitation_data import NLTEExcitationData -def test_prepare_bound_bound_rate_matrix( - nlte_atomic_dataset, -): +def test_prepare_bound_bound_rate_matrix(nlte_atomic_dataset, snapshot_np): """ Using a simple case of nlte_exc for HI, checks if prepare_bound_bound_rate_matrix generates the correct data. """ @@ -73,50 +69,10 @@ def test_prepare_bound_bound_rate_matrix( r_lu_matrix, simple_beta_sobolev, ) - desired_rate_matrix = [ - [ - [-4.41229578e10], - [1.09803977e10], - [8.87031593e08], - [1.83520728e08], - [5.71742068e07], - ], - [ - [3.54409576e10], - [-3.64473689e11], - [1.32571818e11], - [1.04228424e10], - [2.27047121e09], - ], - [ - [5.71505717e09], - [2.97836962e11], - [-1.41199954e12], - [6.39719360e11], - [5.08905487e10], - ], - [ - [2.00818482e09], - [4.15382182e10], - [1.13720607e12], - [-3.74593514e12], - [1.98120242e12], - ], - [ - [9.58758249e08], - [1.41181112e10], - [1.41334621e11], - [3.09560941e12], - [-2.03442061e12], - ], - ] # if this test fails the first thing to check is if the reshape in the # methods made a view or a copy. If it's a copy rewrite the function. - assert_allclose( - desired_rate_matrix, - np.array(actual_rate_matrix), - rtol=1e-6, - ) + # TODO: allow rtol=1e-6 + assert snapshot_np == np.array(actual_rate_matrix) @pytest.mark.parametrize( @@ -124,24 +80,17 @@ def test_prepare_bound_bound_rate_matrix( "coll_exc_coeff_values", "coll_deexc_coeff_values", "number_of_levels", - "desired_coeff_matrix", ], [ ( [1, -2, 3], [4, 9, 10], 3, - [[1.0, 4.0, 9.0], [1.0, -7.0, 10.0], [-2.0, 3.0, -19.0]], ), ( [0.21, 0.045, 0.1234], [0.7865, 0.987, 0.00123], 3, - [ - [-0.255, 0.7865, 0.987], - [0.21, -0.9099, 0.00123], - [0.045, 0.1234, -0.98823], - ], ), ], ) @@ -149,7 +98,7 @@ def test_coll_exc_deexc_matrix( coll_exc_coeff_values, coll_deexc_coeff_values, number_of_levels, - desired_coeff_matrix, + snapshot_np, ): """ Checks the NLTERateEquationSolver.create_coll_exc_deexc_matrix for simple values of species with 3 levels. @@ -164,4 +113,4 @@ def test_coll_exc_deexc_matrix( obtained_coeff_matrix = NLTERateEquationSolver.create_coll_exc_deexc_matrix( exc_coeff, deexc_coeff, number_of_levels ) - assert_allclose(obtained_coeff_matrix, desired_coeff_matrix) + assert snapshot_np == obtained_coeff_matrix diff --git a/tardis/plasma/tests/test_nlte_solver.py b/tardis/plasma/tests/test_nlte_solver.py index fe47b496e97..fa89a9aab52 100644 --- a/tardis/plasma/tests/test_nlte_solver.py +++ b/tardis/plasma/tests/test_nlte_solver.py @@ -1,14 +1,9 @@ -import os - -import pytest import numpy as np import pandas as pd -from copy import deepcopy -from numpy.testing import assert_allclose, assert_almost_equal -from tardis.io.configuration.config_reader import Configuration -from tardis.model.base import SimulationState +import pytest +from numpy.testing import assert_allclose + from tardis.plasma.properties import NLTERateEquationSolver -from tardis.io.atom_data.base import AtomData from tardis.plasma.properties.ion_population import IonNumberDensity from tardis.plasma.standard_plasmas import assemble_plasma @@ -144,6 +139,7 @@ def test_rate_matrix( simple_total_rad_recomb_coefficients, simple_total_col_ion_coefficients, simple_total_col_recomb_coefficients, + snapshot_np, ): """ Using a simple case of nlte_ion for HI and HeII, checks if the calculate_rate_matrix generates the correct data. @@ -159,18 +155,9 @@ def test_rate_matrix( simple_total_col_ion_coefficients, simple_total_col_recomb_coefficients, ) - desired_rate_matrix = [ - [-0.077601, 0.099272, 0.000000, 0.000000, 0.000000, 0.0], - [1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.0], - [0.000000, 0.000000, -0.157263, 0.221960, 0.000000, 0.0], - [0.000000, 0.000000, 0.000000, -0.834623, 0.161479, 0.0], - [0.000000, 0.000000, 1.000000, 1.000000, 1.000000, 0.0], - [0.000000, 1.000000, 0.000000, 1.000000, 2.000000, -1.0], - ] - - assert_almost_equal( - desired_rate_matrix, np.array(actual_rate_matrix), decimal=6 - ) + # TODO: decimal=6 + # allow for assert_almost_equal + assert snapshot_np == np.array(actual_rate_matrix) def test_jacobian_matrix( @@ -181,6 +168,7 @@ def test_jacobian_matrix( simple_total_rad_recomb_coefficients, simple_total_col_ion_coefficients, simple_total_col_recomb_coefficients, + snapshot_np, ): """ Using a simple case of nlte_ion for HI and HeII, @@ -217,15 +205,8 @@ def test_jacobian_matrix( simple_total_col_recomb_coefficients, ) - desired_jacobian_matrix = [ - [-0.07760098, 0.09927163, 0.0, 0.0, 0.0, 0.23467404], - [1.0, 1.0, 0.0, 0.0, 0.0, 0.0], - [0.0, 0.0, -0.15726292, 0.22196045, 0.0, 0.04022076], - [0.0, 0.0, 0.0, -0.8346228, 0.16147935, 0.20061248], - [0.0, 0.0, 1.0, 1.0, 1.0, 0.0], - [0.0, 1.0, 0.0, 1.0, 2.0, -1.0], - ] - assert_almost_equal(actual_jacobian_matrix, desired_jacobian_matrix) + # TODO: allow for assert_almost_equal + assert snapshot_np == actual_jacobian_matrix @pytest.fixture @@ -260,7 +241,7 @@ def nlte_raw_plasma_w0( def test_critical_case_w1(nlte_raw_plasma_w1): """Check that the LTE and NLTE solution agree for w=1.0.""" - ion_number_density_nlte = nlte_raw_plasma_w1.ion_number_density_nlte.values + ion_number_density_nlte = nlte_raw_plasma_w1.ion_number_density.values ion_number_density_nlte[ion_number_density_nlte < 1e-10] = 0.0 ind = IonNumberDensity(nlte_raw_plasma_w1) diff --git a/tardis/plasma/tests/test_plasma_contiuum.py b/tardis/plasma/tests/test_plasma_contiuum.py index 083e5fd65cd..633b47a8036 100644 --- a/tardis/plasma/tests/test_plasma_contiuum.py +++ b/tardis/plasma/tests/test_plasma_contiuum.py @@ -1,11 +1,9 @@ -import pytest import numpy as np -from numpy.testing import assert_allclose + from tardis.plasma.properties import YgData -def test_exp1_times_exp(): +def test_exp1_times_exp(snapshot_np): x = np.array([499.0, 501.0, 710.0]) - desired = np.array([0.00200000797, 0.0019920397, 0.0014064725]) actual = YgData.exp1_times_exp(x) - assert_allclose(actual, desired) + assert snapshot_np == actual diff --git a/tardis/plasma/tests/test_plasma_vboundary.py b/tardis/plasma/tests/test_plasma_vboundary.py index 3ea2a53f7f5..af48ac49355 100644 --- a/tardis/plasma/tests/test_plasma_vboundary.py +++ b/tardis/plasma/tests/test_plasma_vboundary.py @@ -1,10 +1,10 @@ -import tardis -import pytest import os + import astropy.units as u +import pytest +import tardis from tardis.io.configuration.config_reader import Configuration -from tardis.io.atom_data.base import AtomData from tardis.simulation import Simulation DATA_PATH = os.path.join(tardis.__path__[0], "plasma", "tests", "data") diff --git a/tardis/plasma/tests/test_tardis_model_density_config.py b/tardis/plasma/tests/test_tardis_model_density_config.py index 6bb6ff6dbdf..f3d37dc35a0 100644 --- a/tardis/plasma/tests/test_tardis_model_density_config.py +++ b/tardis/plasma/tests/test_tardis_model_density_config.py @@ -3,7 +3,6 @@ from tardis.io.configuration.config_reader import Configuration from tardis.model import SimulationState from tardis.plasma.standard_plasmas import assemble_plasma -from numpy.testing import assert_almost_equal @pytest.fixture @@ -25,20 +24,16 @@ def raw_plasma(tardis_model_density_config, raw_model, kurucz_atomic_data): ) -def test_electron_densities(raw_plasma): - assert_almost_equal(raw_plasma.electron_densities[8], 2.72e14) - assert_almost_equal(raw_plasma.electron_densities[3], 2.6e14) +def test_electron_densities(raw_plasma, snapshot_np): + assert snapshot_np == raw_plasma.electron_densities[8] + assert snapshot_np == raw_plasma.electron_densities[3] -def test_isotope_number_densities(raw_plasma): - assert_almost_equal( - raw_plasma.isotope_number_density.loc[(28, 56), 0], 9688803936.317898 - ) - assert_almost_equal( - raw_plasma.isotope_number_density.loc[(28, 58), 1], 13097656958.746628 - ) +def test_isotope_number_densities(raw_plasma, snapshot_np): + assert snapshot_np == raw_plasma.isotope_number_density.loc[(28, 56), 0] + assert snapshot_np == raw_plasma.isotope_number_density.loc[(28, 58), 1] -def test_t_rad(raw_plasma): - assert_almost_equal(raw_plasma.t_rad[5], 76459.592) - assert_almost_equal(raw_plasma.t_rad[3], 76399.042) +def test_t_rad(raw_plasma, snapshot_np): + assert snapshot_np == raw_plasma.t_rad[5] + assert snapshot_np == raw_plasma.t_rad[3] diff --git a/tardis/util/syrupy_extensions.py b/tardis/util/syrupy_extensions.py new file mode 100644 index 00000000000..050fca3a1bc --- /dev/null +++ b/tardis/util/syrupy_extensions.py @@ -0,0 +1,129 @@ +import re +from typing import Any, List, Tuple + +import numpy as np +import pandas as pd +from syrupy.data import SnapshotCollection +from syrupy.extensions.single_file import SingleFileSnapshotExtension, WriteMode +from syrupy.location import PyTestLocation +from syrupy.types import SerializableData, SnapshotIndex + + +class SingleFileSanitizedNames(SingleFileSnapshotExtension): + # changing write mode to text helps avoid an error message + # that comes when files are serialised in syrupy in bytes + # either way we won't be serialising files in most cases in bytes + _write_mode = WriteMode.TEXT + _file_extension = "txt" + + # would change names of all snapshots generated + # that use this class- making filenames compliant with python standards. + @classmethod + def get_snapshot_name( + cls, *, test_location: "PyTestLocation", index: "SnapshotIndex" + ) -> str: + original_name = SingleFileSnapshotExtension.get_snapshot_name( + test_location=test_location, index=index + ) + double_under = r"[:\[\]{}]" + no_space = r'[,"\']' # quotes and commas + + name = re.sub(double_under, "__", original_name) + name = re.sub(no_space, "", name) + + return f"{name}" + + +class NumpySnapshotExtenstion(SingleFileSanitizedNames): + _file_extension = "npy" + + def matches(self, *, serialized_data, snapshot_data): + try: + if ( + np.testing.assert_allclose( + np.array(snapshot_data), np.array(serialized_data) + ) + is not None + ): + return False + else: + return True + + except: + return False + + def _read_snapshot_data_from_location( + self, *, snapshot_location: str, snapshot_name: str, session_id: str + ): + # see https://github.com/tophat/syrupy/blob/f4bc8453466af2cfa75cdda1d50d67bc8c4396c3/src/syrupy/extensions/base.py#L139 + try: + return np.load(snapshot_location) + + except OSError: + return None + + @classmethod + def _write_snapshot_collection( + cls, *, snapshot_collection: SnapshotCollection + ) -> None: + # see https://github.com/tophat/syrupy/blob/f4bc8453466af2cfa75cdda1d50d67bc8c4396c3/src/syrupy/extensions/base.py#L161 + + filepath, data = ( + snapshot_collection.location, + next(iter(snapshot_collection)).data, + ) + + np.save(filepath, data) + + def serialize(self, data: SerializableData, **kwargs: Any) -> str: + return data + + +class PandasSnapshotExtenstion(SingleFileSanitizedNames): + _file_extension = "h5" + + def matches(self, *, serialized_data, snapshot_data): + try: + comparer = { + pd.Series: pd.testing.assert_series_equal, + pd.DataFrame: pd.testing.assert_frame_equal, + } + try: + comp_func = comparer[type(serialized_data)] + except KeyError: + raise ValueError( + "Can only compare Series and Dataframes with PandasSnapshotExtenstion." + ) + + if comp_func(serialized_data, snapshot_data) is not None: + return False + else: + return True + + except: + return False + + def _read_snapshot_data_from_location( + self, *, snapshot_location: str, snapshot_name: str, session_id: str + ): + # see https://github.com/tophat/syrupy/blob/f4bc8453466af2cfa75cdda1d50d67bc8c4396c3/src/syrupy/extensions/base.py#L139 + try: + data = pd.read_hdf(snapshot_location) + return data + + except OSError: + return None + + @classmethod + def _write_snapshot_collection( + cls, *, snapshot_collection: SnapshotCollection + ) -> None: + # see https://github.com/tophat/syrupy/blob/f4bc8453466af2cfa75cdda1d50d67bc8c4396c3/src/syrupy/extensions/base.py#L161 + filepath, data = ( + snapshot_collection.location, + next(iter(snapshot_collection)).data, + ) + data.to_hdf(filepath, "/data") + + def serialize(self, data: SerializableData, **kwargs: Any) -> str: + return data diff --git a/tardis_env3.yml b/tardis_env3.yml index efa0e7b399e..99224c10a23 100644 --- a/tardis_env3.yml +++ b/tardis_env3.yml @@ -68,9 +68,11 @@ dependencies: - pytest-html - python-dokuwiki - coverage + - syrupy # Code quality - black =22.3 # Other - git-lfs +