pydiverse-common 0.3.3__tar.gz → 0.3.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pydiverse_common-0.3.5/.github/scripts/check_deps.sh +22 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.github/workflows/tests.yml +2 -1
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/PKG-INFO +3 -1
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/source/changelog.md +3 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/pixi.lock +136 -60
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/pixi.toml +3 -2
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/pyproject.toml +3 -1
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/__init__.py +2 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/dtypes.py +46 -3
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/dtypes/test_dtype_pandas.py +26 -7
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/dtypes/test_dtype_polars.py +9 -1
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/dtypes/test_dtype_pyarrow.py +15 -2
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/dtypes/test_dtype_sqlalchemy.py +17 -8
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.gitattributes +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.github/CODEOWNERS +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.github/dependabot.yml +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.github/workflows/release.yml +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.github/workflows/update-lockfiles.yml +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.gitignore +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.pre-commit-config.yaml +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/.readthedocs.yaml +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/LICENSE +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/README.md +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/Makefile +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/make.bat +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/package/README.md +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/source/conf.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/source/index.md +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/source/license.md +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/docs/source/reference/api.rst +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/pytest.ini +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/errors/__init__.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/testing.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/__init__.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/computation_tracing.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/deep_map.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/deep_merge.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/disposable.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/hashing.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/import_.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/structlog.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/version.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/conftest.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/test_util.py +0 -0
- {pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/tests/test_version.py +0 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
set -euo pipefail
|
4
|
+
|
5
|
+
contains_dependency_all=true
|
6
|
+
|
7
|
+
while read -r package version; do
|
8
|
+
if [[ $package == "python" ]]; then
|
9
|
+
continue
|
10
|
+
fi
|
11
|
+
|
12
|
+
dependency="${package} ${version}"
|
13
|
+
contains_dependency=$(yq -r ".project.dependencies | map(. == \"${dependency}\") | any" pyproject.toml)
|
14
|
+
if [[ $contains_dependency == "false" ]]; then
|
15
|
+
echo "${dependency} not found in pyproject.toml"
|
16
|
+
contains_dependency_all=false
|
17
|
+
fi
|
18
|
+
done < <(yq -r '.dependencies | to_entries | .[] | "\(.key) \(.value)"' pixi.toml)
|
19
|
+
|
20
|
+
if [[ $contains_dependency_all == "false" ]]; then
|
21
|
+
exit 1
|
22
|
+
fi
|
@@ -23,7 +23,8 @@ jobs:
|
|
23
23
|
run: pixi run postinstall
|
24
24
|
- name: pre-commit
|
25
25
|
run: pixi run pre-commit run -a --color=always --show-diff-on-failure
|
26
|
-
|
26
|
+
- name: Check pyproject.toml dependencies
|
27
|
+
run: pixi run check-deps
|
27
28
|
test:
|
28
29
|
name: pytest
|
29
30
|
runs-on: ${{ matrix.os }}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: pydiverse-common
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.5
|
4
4
|
Summary: Common functionality shared between pydiverse libraries
|
5
5
|
Author: QuantCo, Inc.
|
6
6
|
Author-email: Martin Trautmann <windiana@users.sf.net>, Finn Rudolph <finn.rudolph@t-online.de>
|
@@ -47,6 +47,8 @@ Classifier: Programming Language :: SQL
|
|
47
47
|
Classifier: Topic :: Database
|
48
48
|
Classifier: Topic :: Scientific/Engineering
|
49
49
|
Classifier: Topic :: Software Development
|
50
|
+
Requires-Python: <3.14,>=3.10
|
51
|
+
Requires-Dist: python-box<8,>=7.3.2
|
50
52
|
Description-Content-Type: text/markdown
|
51
53
|
|
52
54
|
# pydiverse.common
|
@@ -1180,6 +1180,7 @@ environments:
|
|
1180
1180
|
- conda: https://conda.anaconda.org/conda-forge/noarch/docformatter-1.7.7-pyhd8ed1ab_0.conda
|
1181
1181
|
- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda
|
1182
1182
|
- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.18.0-pyhd8ed1ab_0.conda
|
1183
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/go-yq-4.45.4-hdd9d35a_0.conda
|
1183
1184
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda
|
1184
1185
|
- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.12-pyhd8ed1ab_0.conda
|
1185
1186
|
- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
|
@@ -1276,6 +1277,7 @@ environments:
|
|
1276
1277
|
- conda: https://conda.anaconda.org/conda-forge/noarch/docformatter-1.7.7-pyhd8ed1ab_0.conda
|
1277
1278
|
- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda
|
1278
1279
|
- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.18.0-pyhd8ed1ab_0.conda
|
1280
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/go-yq-4.45.4-h86ecc28_0.conda
|
1279
1281
|
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda
|
1280
1282
|
- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.12-pyhd8ed1ab_0.conda
|
1281
1283
|
- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
|
@@ -1370,6 +1372,7 @@ environments:
|
|
1370
1372
|
- conda: https://conda.anaconda.org/conda-forge/noarch/docformatter-1.7.7-pyhd8ed1ab_0.conda
|
1371
1373
|
- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda
|
1372
1374
|
- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.18.0-pyhd8ed1ab_0.conda
|
1375
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/go-yq-4.45.4-h6e16a3a_0.conda
|
1373
1376
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/icu-75.1-h120a0e1_0.conda
|
1374
1377
|
- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.12-pyhd8ed1ab_0.conda
|
1375
1378
|
- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
|
@@ -1458,6 +1461,7 @@ environments:
|
|
1458
1461
|
- conda: https://conda.anaconda.org/conda-forge/noarch/docformatter-1.7.7-pyhd8ed1ab_0.conda
|
1459
1462
|
- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda
|
1460
1463
|
- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.18.0-pyhd8ed1ab_0.conda
|
1464
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/go-yq-4.45.4-h5505292_0.conda
|
1461
1465
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda
|
1462
1466
|
- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.12-pyhd8ed1ab_0.conda
|
1463
1467
|
- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
|
@@ -1548,6 +1552,7 @@ environments:
|
|
1548
1552
|
- conda: https://conda.anaconda.org/conda-forge/noarch/docformatter-1.7.7-pyhd8ed1ab_0.conda
|
1549
1553
|
- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda
|
1550
1554
|
- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.18.0-pyhd8ed1ab_0.conda
|
1555
|
+
- conda: https://conda.anaconda.org/conda-forge/win-64/go-yq-4.45.4-h2466b09_0.conda
|
1551
1556
|
- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.12-pyhd8ed1ab_0.conda
|
1552
1557
|
- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
|
1553
1558
|
- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda
|
@@ -6888,8 +6893,6 @@ packages:
|
|
6888
6893
|
- pycparser
|
6889
6894
|
- python >=3.10,<3.11.0a0
|
6890
6895
|
- python_abi 3.10.* *_cp310
|
6891
|
-
arch: x86_64
|
6892
|
-
platform: linux
|
6893
6896
|
license: MIT
|
6894
6897
|
license_family: MIT
|
6895
6898
|
size: 243532
|
@@ -6932,8 +6935,6 @@ packages:
|
|
6932
6935
|
- pycparser
|
6933
6936
|
- python >=3.13.0rc1,<3.14.0a0
|
6934
6937
|
- python_abi 3.13.* *_cp313
|
6935
|
-
arch: x86_64
|
6936
|
-
platform: linux
|
6937
6938
|
license: MIT
|
6938
6939
|
license_family: MIT
|
6939
6940
|
size: 295514
|
@@ -6947,8 +6948,6 @@ packages:
|
|
6947
6948
|
- pycparser
|
6948
6949
|
- python >=3.10,<3.11.0a0
|
6949
6950
|
- python_abi 3.10.* *_cp310
|
6950
|
-
arch: aarch64
|
6951
|
-
platform: linux
|
6952
6951
|
license: MIT
|
6953
6952
|
license_family: MIT
|
6954
6953
|
size: 260852
|
@@ -6988,8 +6987,6 @@ packages:
|
|
6988
6987
|
- pycparser
|
6989
6988
|
- python >=3.13.0rc1,<3.14.0a0
|
6990
6989
|
- python_abi 3.13.* *_cp313
|
6991
|
-
arch: aarch64
|
6992
|
-
platform: linux
|
6993
6990
|
license: MIT
|
6994
6991
|
license_family: MIT
|
6995
6992
|
size: 314846
|
@@ -7003,8 +7000,6 @@ packages:
|
|
7003
7000
|
- pycparser
|
7004
7001
|
- python >=3.10,<3.11.0a0
|
7005
7002
|
- python_abi 3.10.* *_cp310
|
7006
|
-
arch: x86_64
|
7007
|
-
platform: osx
|
7008
7003
|
license: MIT
|
7009
7004
|
license_family: MIT
|
7010
7005
|
size: 229844
|
@@ -7044,8 +7039,6 @@ packages:
|
|
7044
7039
|
- pycparser
|
7045
7040
|
- python >=3.13.0rc1,<3.14.0a0
|
7046
7041
|
- python_abi 3.13.* *_cp313
|
7047
|
-
arch: x86_64
|
7048
|
-
platform: osx
|
7049
7042
|
license: MIT
|
7050
7043
|
license_family: MIT
|
7051
7044
|
size: 284540
|
@@ -7060,8 +7053,6 @@ packages:
|
|
7060
7053
|
- python >=3.10,<3.11.0a0
|
7061
7054
|
- python >=3.10,<3.11.0a0 *_cpython
|
7062
7055
|
- python_abi 3.10.* *_cp310
|
7063
|
-
arch: arm64
|
7064
|
-
platform: osx
|
7065
7056
|
license: MIT
|
7066
7057
|
license_family: MIT
|
7067
7058
|
size: 229224
|
@@ -7104,8 +7095,6 @@ packages:
|
|
7104
7095
|
- python >=3.13.0rc1,<3.14.0a0
|
7105
7096
|
- python >=3.13.0rc1,<3.14.0a0 *_cp313
|
7106
7097
|
- python_abi 3.13.* *_cp313
|
7107
|
-
arch: arm64
|
7108
|
-
platform: osx
|
7109
7098
|
license: MIT
|
7110
7099
|
license_family: MIT
|
7111
7100
|
size: 282115
|
@@ -7120,8 +7109,6 @@ packages:
|
|
7120
7109
|
- ucrt >=10.0.20348.0
|
7121
7110
|
- vc >=14.2,<15
|
7122
7111
|
- vc14_runtime >=14.29.30139
|
7123
|
-
arch: x86_64
|
7124
|
-
platform: win
|
7125
7112
|
license: MIT
|
7126
7113
|
license_family: MIT
|
7127
7114
|
size: 238887
|
@@ -7164,8 +7151,6 @@ packages:
|
|
7164
7151
|
- ucrt >=10.0.20348.0
|
7165
7152
|
- vc >=14.2,<15
|
7166
7153
|
- vc14_runtime >=14.29.30139
|
7167
|
-
arch: x86_64
|
7168
|
-
platform: win
|
7169
7154
|
license: MIT
|
7170
7155
|
license_family: MIT
|
7171
7156
|
size: 291828
|
@@ -7629,6 +7614,57 @@ packages:
|
|
7629
7614
|
license_family: BSD
|
7630
7615
|
size: 112215
|
7631
7616
|
timestamp: 1718284365403
|
7617
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/go-yq-4.45.4-hdd9d35a_0.conda
|
7618
|
+
sha256: 710d614cd37077a1b8cb473d9d18b52e7ad4167a40a480f57afdeb42e658f318
|
7619
|
+
md5: 0c3da887d37e71224d0077fbb26d1bc5
|
7620
|
+
depends:
|
7621
|
+
- __glibc >=2.17
|
7622
|
+
- __glibc >=2.17,<3.0.a0
|
7623
|
+
- libgcc >=13
|
7624
|
+
license: MIT
|
7625
|
+
license_family: MIT
|
7626
|
+
size: 3962140
|
7627
|
+
timestamp: 1746984672469
|
7628
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/go-yq-4.45.4-h86ecc28_0.conda
|
7629
|
+
sha256: 5f7f6482aaa817807e43ec5e69967d2c2862687d4b683994b0f170521742c5a9
|
7630
|
+
md5: 550e6f0253305a62e99e113974502f14
|
7631
|
+
depends:
|
7632
|
+
- libgcc >=13
|
7633
|
+
license: MIT
|
7634
|
+
license_family: MIT
|
7635
|
+
size: 3574358
|
7636
|
+
timestamp: 1746984625484
|
7637
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/go-yq-4.45.4-h6e16a3a_0.conda
|
7638
|
+
sha256: 446b4cf3173b27ba3bad51b57592e0ffd3345ffbae60e04d184b9e70c6172082
|
7639
|
+
md5: 34bec47340c1e15660de53e6ac2256ab
|
7640
|
+
depends:
|
7641
|
+
- __osx >=10.13
|
7642
|
+
constrains:
|
7643
|
+
- __osx>=10.12
|
7644
|
+
license: MIT
|
7645
|
+
license_family: MIT
|
7646
|
+
size: 3854128
|
7647
|
+
timestamp: 1746984683074
|
7648
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/go-yq-4.45.4-h5505292_0.conda
|
7649
|
+
sha256: 5749df601e7039b023481b3fede7cef428e05620f230e016103cd78373bde04f
|
7650
|
+
md5: 9e123f64b7084c63ae3c167e68efcfa7
|
7651
|
+
depends:
|
7652
|
+
- __osx >=11.0
|
7653
|
+
license: MIT
|
7654
|
+
license_family: MIT
|
7655
|
+
size: 3556744
|
7656
|
+
timestamp: 1746984719572
|
7657
|
+
- conda: https://conda.anaconda.org/conda-forge/win-64/go-yq-4.45.4-h2466b09_0.conda
|
7658
|
+
sha256: 7032ee8e93fb4f4af7a793df7d2166d226ae8a0b43580a5b4fa759b19af0e5e2
|
7659
|
+
md5: 571bc8198620709a5bcaa824fc467b57
|
7660
|
+
depends:
|
7661
|
+
- ucrt >=10.0.20348.0
|
7662
|
+
- vc >=14.2,<15
|
7663
|
+
- vc14_runtime >=14.29.30139
|
7664
|
+
license: MIT
|
7665
|
+
license_family: MIT
|
7666
|
+
size: 8291388
|
7667
|
+
timestamp: 1746984722615
|
7632
7668
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.2.3-py310hf71b8c6_0.conda
|
7633
7669
|
sha256: 9d02287ff70b5734ee7a23acde4012df62f851e787aad4219d4259b591aeb054
|
7634
7670
|
md5: 8455091aed2d84aa239354f67cbdfe74
|
@@ -14268,6 +14304,8 @@ packages:
|
|
14268
14304
|
- tzdata
|
14269
14305
|
constrains:
|
14270
14306
|
- python_abi 3.10.* *_cp310
|
14307
|
+
arch: x86_64
|
14308
|
+
platform: linux
|
14271
14309
|
license: Python-2.0
|
14272
14310
|
size: 25042108
|
14273
14311
|
timestamp: 1749049293621
|
@@ -14294,6 +14332,8 @@ packages:
|
|
14294
14332
|
- tzdata
|
14295
14333
|
constrains:
|
14296
14334
|
- python_abi 3.11.* *_cp311
|
14335
|
+
arch: x86_64
|
14336
|
+
platform: linux
|
14297
14337
|
license: Python-2.0
|
14298
14338
|
size: 30629559
|
14299
14339
|
timestamp: 1749050021812
|
@@ -14346,6 +14386,8 @@ packages:
|
|
14346
14386
|
- tzdata
|
14347
14387
|
constrains:
|
14348
14388
|
- python_abi 3.12.* *_cp312
|
14389
|
+
arch: x86_64
|
14390
|
+
platform: linux
|
14349
14391
|
license: Python-2.0
|
14350
14392
|
size: 31445023
|
14351
14393
|
timestamp: 1749050216615
|
@@ -14371,6 +14413,8 @@ packages:
|
|
14371
14413
|
- readline >=8.2,<9.0a0
|
14372
14414
|
- tk >=8.6.13,<8.7.0a0
|
14373
14415
|
- tzdata
|
14416
|
+
arch: x86_64
|
14417
|
+
platform: linux
|
14374
14418
|
license: Python-2.0
|
14375
14419
|
size: 33268245
|
14376
14420
|
timestamp: 1744665022734
|
@@ -14397,6 +14441,8 @@ packages:
|
|
14397
14441
|
- tzdata
|
14398
14442
|
constrains:
|
14399
14443
|
- python_abi 3.10.* *_cp310
|
14444
|
+
arch: aarch64
|
14445
|
+
platform: linux
|
14400
14446
|
license: Python-2.0
|
14401
14447
|
size: 13039547
|
14402
14448
|
timestamp: 1749048139656
|
@@ -14422,6 +14468,8 @@ packages:
|
|
14422
14468
|
- tzdata
|
14423
14469
|
constrains:
|
14424
14470
|
- python_abi 3.11.* *_cp311
|
14471
|
+
arch: aarch64
|
14472
|
+
platform: linux
|
14425
14473
|
license: Python-2.0
|
14426
14474
|
size: 15306062
|
14427
14475
|
timestamp: 1749048115706
|
@@ -14447,6 +14495,8 @@ packages:
|
|
14447
14495
|
- tzdata
|
14448
14496
|
constrains:
|
14449
14497
|
- python_abi 3.12.* *_cp312
|
14498
|
+
arch: aarch64
|
14499
|
+
platform: linux
|
14450
14500
|
license: Python-2.0
|
14451
14501
|
size: 13738751
|
14452
14502
|
timestamp: 1749047852768
|
@@ -14471,6 +14521,8 @@ packages:
|
|
14471
14521
|
- readline >=8.2,<9.0a0
|
14472
14522
|
- tk >=8.6.13,<8.7.0a0
|
14473
14523
|
- tzdata
|
14524
|
+
arch: aarch64
|
14525
|
+
platform: linux
|
14474
14526
|
license: Python-2.0
|
14475
14527
|
size: 33727843
|
14476
14528
|
timestamp: 1744663385273
|
@@ -14493,6 +14545,8 @@ packages:
|
|
14493
14545
|
- tzdata
|
14494
14546
|
constrains:
|
14495
14547
|
- python_abi 3.10.* *_cp310
|
14548
|
+
arch: x86_64
|
14549
|
+
platform: osx
|
14496
14550
|
license: Python-2.0
|
14497
14551
|
size: 12921103
|
14498
14552
|
timestamp: 1749048830353
|
@@ -14514,6 +14568,8 @@ packages:
|
|
14514
14568
|
- tzdata
|
14515
14569
|
constrains:
|
14516
14570
|
- python_abi 3.11.* *_cp311
|
14571
|
+
arch: x86_64
|
14572
|
+
platform: osx
|
14517
14573
|
license: Python-2.0
|
14518
14574
|
size: 15423460
|
14519
14575
|
timestamp: 1749049420299
|
@@ -14556,6 +14612,8 @@ packages:
|
|
14556
14612
|
- tzdata
|
14557
14613
|
constrains:
|
14558
14614
|
- python_abi 3.12.* *_cp312
|
14615
|
+
arch: x86_64
|
14616
|
+
platform: osx
|
14559
14617
|
license: Python-2.0
|
14560
14618
|
size: 13571569
|
14561
14619
|
timestamp: 1749049058713
|
@@ -14578,6 +14636,8 @@ packages:
|
|
14578
14636
|
- readline >=8.2,<9.0a0
|
14579
14637
|
- tk >=8.6.13,<8.7.0a0
|
14580
14638
|
- tzdata
|
14639
|
+
arch: x86_64
|
14640
|
+
platform: osx
|
14581
14641
|
license: Python-2.0
|
14582
14642
|
size: 13875464
|
14583
14643
|
timestamp: 1744664784298
|
@@ -14600,6 +14660,8 @@ packages:
|
|
14600
14660
|
- tzdata
|
14601
14661
|
constrains:
|
14602
14662
|
- python_abi 3.10.* *_cp310
|
14663
|
+
arch: arm64
|
14664
|
+
platform: osx
|
14603
14665
|
license: Python-2.0
|
14604
14666
|
size: 12385306
|
14605
14667
|
timestamp: 1749048585934
|
@@ -14621,6 +14683,8 @@ packages:
|
|
14621
14683
|
- tzdata
|
14622
14684
|
constrains:
|
14623
14685
|
- python_abi 3.11.* *_cp311
|
14686
|
+
arch: arm64
|
14687
|
+
platform: osx
|
14624
14688
|
license: Python-2.0
|
14625
14689
|
size: 14573820
|
14626
14690
|
timestamp: 1749048947732
|
@@ -14642,6 +14706,8 @@ packages:
|
|
14642
14706
|
- tzdata
|
14643
14707
|
constrains:
|
14644
14708
|
- python_abi 3.12.* *_cp312
|
14709
|
+
arch: arm64
|
14710
|
+
platform: osx
|
14645
14711
|
license: Python-2.0
|
14646
14712
|
size: 13009234
|
14647
14713
|
timestamp: 1749048134449
|
@@ -14664,6 +14730,8 @@ packages:
|
|
14664
14730
|
- readline >=8.2,<9.0a0
|
14665
14731
|
- tk >=8.6.13,<8.7.0a0
|
14666
14732
|
- tzdata
|
14733
|
+
arch: arm64
|
14734
|
+
platform: osx
|
14667
14735
|
license: Python-2.0
|
14668
14736
|
size: 12136505
|
14669
14737
|
timestamp: 1744663807953
|
@@ -14686,6 +14754,8 @@ packages:
|
|
14686
14754
|
- vc14_runtime >=14.29.30139
|
14687
14755
|
constrains:
|
14688
14756
|
- python_abi 3.10.* *_cp310
|
14757
|
+
arch: x86_64
|
14758
|
+
platform: win
|
14689
14759
|
license: Python-2.0
|
14690
14760
|
size: 15832933
|
14691
14761
|
timestamp: 1749048670944
|
@@ -14707,6 +14777,8 @@ packages:
|
|
14707
14777
|
- vc14_runtime >=14.29.30139
|
14708
14778
|
constrains:
|
14709
14779
|
- python_abi 3.11.* *_cp311
|
14780
|
+
arch: x86_64
|
14781
|
+
platform: win
|
14710
14782
|
license: Python-2.0
|
14711
14783
|
size: 18242669
|
14712
14784
|
timestamp: 1749048351218
|
@@ -14728,6 +14800,8 @@ packages:
|
|
14728
14800
|
- vc14_runtime >=14.29.30139
|
14729
14801
|
constrains:
|
14730
14802
|
- python_abi 3.12.* *_cp312
|
14803
|
+
arch: x86_64
|
14804
|
+
platform: win
|
14731
14805
|
license: Python-2.0
|
14732
14806
|
size: 15829289
|
14733
14807
|
timestamp: 1749047682640
|
@@ -14750,6 +14824,8 @@ packages:
|
|
14750
14824
|
- ucrt >=10.0.20348.0
|
14751
14825
|
- vc >=14.2,<15
|
14752
14826
|
- vc14_runtime >=14.29.30139
|
14827
|
+
arch: x86_64
|
14828
|
+
platform: win
|
14753
14829
|
license: Python-2.0
|
14754
14830
|
size: 16614435
|
14755
14831
|
timestamp: 1744663103022
|
@@ -14765,6 +14841,8 @@ packages:
|
|
14765
14841
|
- python_abi 3.10.* *_cp310
|
14766
14842
|
- ruamel.yaml
|
14767
14843
|
- toml
|
14844
|
+
arch: x86_64
|
14845
|
+
platform: linux
|
14768
14846
|
license: MIT
|
14769
14847
|
license_family: MIT
|
14770
14848
|
size: 752684
|
@@ -14780,6 +14858,8 @@ packages:
|
|
14780
14858
|
- python_abi 3.11.* *_cp311
|
14781
14859
|
- ruamel.yaml
|
14782
14860
|
- toml
|
14861
|
+
arch: x86_64
|
14862
|
+
platform: linux
|
14783
14863
|
license: MIT
|
14784
14864
|
license_family: MIT
|
14785
14865
|
size: 774302
|
@@ -14795,6 +14875,8 @@ packages:
|
|
14795
14875
|
- python_abi 3.12.* *_cp312
|
14796
14876
|
- ruamel.yaml
|
14797
14877
|
- toml
|
14878
|
+
arch: x86_64
|
14879
|
+
platform: linux
|
14798
14880
|
license: MIT
|
14799
14881
|
license_family: MIT
|
14800
14882
|
size: 768872
|
@@ -14810,6 +14892,8 @@ packages:
|
|
14810
14892
|
- python_abi 3.13.* *_cp313
|
14811
14893
|
- ruamel.yaml
|
14812
14894
|
- toml
|
14895
|
+
arch: x86_64
|
14896
|
+
platform: linux
|
14813
14897
|
license: MIT
|
14814
14898
|
license_family: MIT
|
14815
14899
|
size: 766775
|
@@ -14825,6 +14909,8 @@ packages:
|
|
14825
14909
|
- python_abi 3.10.* *_cp310
|
14826
14910
|
- ruamel.yaml
|
14827
14911
|
- toml
|
14912
|
+
arch: aarch64
|
14913
|
+
platform: linux
|
14828
14914
|
license: MIT
|
14829
14915
|
license_family: MIT
|
14830
14916
|
size: 715030
|
@@ -14840,6 +14926,8 @@ packages:
|
|
14840
14926
|
- python_abi 3.11.* *_cp311
|
14841
14927
|
- ruamel.yaml
|
14842
14928
|
- toml
|
14929
|
+
arch: aarch64
|
14930
|
+
platform: linux
|
14843
14931
|
license: MIT
|
14844
14932
|
license_family: MIT
|
14845
14933
|
size: 734401
|
@@ -14855,6 +14943,8 @@ packages:
|
|
14855
14943
|
- python_abi 3.12.* *_cp312
|
14856
14944
|
- ruamel.yaml
|
14857
14945
|
- toml
|
14946
|
+
arch: aarch64
|
14947
|
+
platform: linux
|
14858
14948
|
license: MIT
|
14859
14949
|
license_family: MIT
|
14860
14950
|
size: 726035
|
@@ -14870,6 +14960,8 @@ packages:
|
|
14870
14960
|
- python_abi 3.13.* *_cp313
|
14871
14961
|
- ruamel.yaml
|
14872
14962
|
- toml
|
14963
|
+
arch: aarch64
|
14964
|
+
platform: linux
|
14873
14965
|
license: MIT
|
14874
14966
|
license_family: MIT
|
14875
14967
|
size: 724285
|
@@ -14884,6 +14976,8 @@ packages:
|
|
14884
14976
|
- python_abi 3.10.* *_cp310
|
14885
14977
|
- ruamel.yaml
|
14886
14978
|
- toml
|
14979
|
+
arch: x86_64
|
14980
|
+
platform: osx
|
14887
14981
|
license: MIT
|
14888
14982
|
license_family: MIT
|
14889
14983
|
size: 686709
|
@@ -14898,6 +14992,8 @@ packages:
|
|
14898
14992
|
- python_abi 3.11.* *_cp311
|
14899
14993
|
- ruamel.yaml
|
14900
14994
|
- toml
|
14995
|
+
arch: x86_64
|
14996
|
+
platform: osx
|
14901
14997
|
license: MIT
|
14902
14998
|
license_family: MIT
|
14903
14999
|
size: 698995
|
@@ -14912,6 +15008,8 @@ packages:
|
|
14912
15008
|
- python_abi 3.12.* *_cp312
|
14913
15009
|
- ruamel.yaml
|
14914
15010
|
- toml
|
15011
|
+
arch: x86_64
|
15012
|
+
platform: osx
|
14915
15013
|
license: MIT
|
14916
15014
|
license_family: MIT
|
14917
15015
|
size: 685217
|
@@ -14926,6 +15024,8 @@ packages:
|
|
14926
15024
|
- python_abi 3.13.* *_cp313
|
14927
15025
|
- ruamel.yaml
|
14928
15026
|
- toml
|
15027
|
+
arch: x86_64
|
15028
|
+
platform: osx
|
14929
15029
|
license: MIT
|
14930
15030
|
license_family: MIT
|
14931
15031
|
size: 687987
|
@@ -14941,6 +15041,8 @@ packages:
|
|
14941
15041
|
- python_abi 3.10.* *_cp310
|
14942
15042
|
- ruamel.yaml
|
14943
15043
|
- toml
|
15044
|
+
arch: arm64
|
15045
|
+
platform: osx
|
14944
15046
|
license: MIT
|
14945
15047
|
license_family: MIT
|
14946
15048
|
size: 683806
|
@@ -14956,6 +15058,8 @@ packages:
|
|
14956
15058
|
- python_abi 3.11.* *_cp311
|
14957
15059
|
- ruamel.yaml
|
14958
15060
|
- toml
|
15061
|
+
arch: arm64
|
15062
|
+
platform: osx
|
14959
15063
|
license: MIT
|
14960
15064
|
license_family: MIT
|
14961
15065
|
size: 691227
|
@@ -14971,6 +15075,8 @@ packages:
|
|
14971
15075
|
- python_abi 3.12.* *_cp312
|
14972
15076
|
- ruamel.yaml
|
14973
15077
|
- toml
|
15078
|
+
arch: arm64
|
15079
|
+
platform: osx
|
14974
15080
|
license: MIT
|
14975
15081
|
license_family: MIT
|
14976
15082
|
size: 681412
|
@@ -14986,6 +15092,8 @@ packages:
|
|
14986
15092
|
- python_abi 3.13.* *_cp313
|
14987
15093
|
- ruamel.yaml
|
14988
15094
|
- toml
|
15095
|
+
arch: arm64
|
15096
|
+
platform: osx
|
14989
15097
|
license: MIT
|
14990
15098
|
license_family: MIT
|
14991
15099
|
size: 684872
|
@@ -15002,6 +15110,8 @@ packages:
|
|
15002
15110
|
- ucrt >=10.0.20348.0
|
15003
15111
|
- vc >=14.2,<15
|
15004
15112
|
- vc14_runtime >=14.29.30139
|
15113
|
+
arch: x86_64
|
15114
|
+
platform: win
|
15005
15115
|
license: MIT
|
15006
15116
|
license_family: MIT
|
15007
15117
|
size: 607423
|
@@ -15018,6 +15128,8 @@ packages:
|
|
15018
15128
|
- ucrt >=10.0.20348.0
|
15019
15129
|
- vc >=14.2,<15
|
15020
15130
|
- vc14_runtime >=14.29.30139
|
15131
|
+
arch: x86_64
|
15132
|
+
platform: win
|
15021
15133
|
license: MIT
|
15022
15134
|
license_family: MIT
|
15023
15135
|
size: 628594
|
@@ -15034,6 +15146,8 @@ packages:
|
|
15034
15146
|
- ucrt >=10.0.20348.0
|
15035
15147
|
- vc >=14.2,<15
|
15036
15148
|
- vc14_runtime >=14.29.30139
|
15149
|
+
arch: x86_64
|
15150
|
+
platform: win
|
15037
15151
|
license: MIT
|
15038
15152
|
license_family: MIT
|
15039
15153
|
size: 607016
|
@@ -15050,6 +15164,8 @@ packages:
|
|
15050
15164
|
- ucrt >=10.0.20348.0
|
15051
15165
|
- vc >=14.2,<15
|
15052
15166
|
- vc14_runtime >=14.29.30139
|
15167
|
+
arch: x86_64
|
15168
|
+
platform: win
|
15053
15169
|
license: MIT
|
15054
15170
|
license_family: MIT
|
15055
15171
|
size: 604818
|
@@ -15199,8 +15315,6 @@ packages:
|
|
15199
15315
|
- python >=3.10,<3.11.0a0
|
15200
15316
|
- python_abi 3.10.* *_cp310
|
15201
15317
|
- yaml >=0.2.5,<0.3.0a0
|
15202
|
-
arch: x86_64
|
15203
|
-
platform: linux
|
15204
15318
|
license: MIT
|
15205
15319
|
license_family: MIT
|
15206
15320
|
size: 182769
|
@@ -15240,8 +15354,6 @@ packages:
|
|
15240
15354
|
- python >=3.13,<3.14.0a0
|
15241
15355
|
- python_abi 3.13.* *_cp313
|
15242
15356
|
- yaml >=0.2.5,<0.3.0a0
|
15243
|
-
arch: x86_64
|
15244
|
-
platform: linux
|
15245
15357
|
license: MIT
|
15246
15358
|
license_family: MIT
|
15247
15359
|
size: 205919
|
@@ -15255,8 +15367,6 @@ packages:
|
|
15255
15367
|
- python >=3.10,<3.11.0a0 *_cpython
|
15256
15368
|
- python_abi 3.10.* *_cp310
|
15257
15369
|
- yaml >=0.2.5,<0.3.0a0
|
15258
|
-
arch: aarch64
|
15259
|
-
platform: linux
|
15260
15370
|
license: MIT
|
15261
15371
|
license_family: MIT
|
15262
15372
|
size: 174914
|
@@ -15296,8 +15406,6 @@ packages:
|
|
15296
15406
|
- python >=3.13,<3.14.0a0 *_cp313
|
15297
15407
|
- python_abi 3.13.* *_cp313
|
15298
15408
|
- yaml >=0.2.5,<0.3.0a0
|
15299
|
-
arch: aarch64
|
15300
|
-
platform: linux
|
15301
15409
|
license: MIT
|
15302
15410
|
license_family: MIT
|
15303
15411
|
size: 198985
|
@@ -15310,8 +15418,6 @@ packages:
|
|
15310
15418
|
- python >=3.10,<3.11.0a0
|
15311
15419
|
- python_abi 3.10.* *_cp310
|
15312
15420
|
- yaml >=0.2.5,<0.3.0a0
|
15313
|
-
arch: x86_64
|
15314
|
-
platform: osx
|
15315
15421
|
license: MIT
|
15316
15422
|
license_family: MIT
|
15317
15423
|
size: 168613
|
@@ -15348,8 +15454,6 @@ packages:
|
|
15348
15454
|
- python >=3.13,<3.14.0a0
|
15349
15455
|
- python_abi 3.13.* *_cp313
|
15350
15456
|
- yaml >=0.2.5,<0.3.0a0
|
15351
|
-
arch: x86_64
|
15352
|
-
platform: osx
|
15353
15457
|
license: MIT
|
15354
15458
|
license_family: MIT
|
15355
15459
|
size: 196573
|
@@ -15363,8 +15467,6 @@ packages:
|
|
15363
15467
|
- python >=3.10,<3.11.0a0 *_cpython
|
15364
15468
|
- python_abi 3.10.* *_cp310
|
15365
15469
|
- yaml >=0.2.5,<0.3.0a0
|
15366
|
-
arch: arm64
|
15367
|
-
platform: osx
|
15368
15470
|
license: MIT
|
15369
15471
|
license_family: MIT
|
15370
15472
|
size: 166853
|
@@ -15404,8 +15506,6 @@ packages:
|
|
15404
15506
|
- python >=3.13,<3.14.0a0 *_cp313
|
15405
15507
|
- python_abi 3.13.* *_cp313
|
15406
15508
|
- yaml >=0.2.5,<0.3.0a0
|
15407
|
-
arch: arm64
|
15408
|
-
platform: osx
|
15409
15509
|
license: MIT
|
15410
15510
|
license_family: MIT
|
15411
15511
|
size: 194243
|
@@ -15420,8 +15520,6 @@ packages:
|
|
15420
15520
|
- vc >=14.2,<15
|
15421
15521
|
- vc14_runtime >=14.29.30139
|
15422
15522
|
- yaml >=0.2.5,<0.3.0a0
|
15423
|
-
arch: x86_64
|
15424
|
-
platform: win
|
15425
15523
|
license: MIT
|
15426
15524
|
license_family: MIT
|
15427
15525
|
size: 157941
|
@@ -15464,8 +15562,6 @@ packages:
|
|
15464
15562
|
- vc >=14.2,<15
|
15465
15563
|
- vc14_runtime >=14.29.30139
|
15466
15564
|
- yaml >=0.2.5,<0.3.0a0
|
15467
|
-
arch: x86_64
|
15468
|
-
platform: win
|
15469
15565
|
license: MIT
|
15470
15566
|
license_family: MIT
|
15471
15567
|
size: 182783
|
@@ -17377,8 +17473,6 @@ packages:
|
|
17377
17473
|
- libstdcxx >=13
|
17378
17474
|
- python >=3.10,<3.11.0a0
|
17379
17475
|
- python_abi 3.10.* *_cp310
|
17380
|
-
arch: x86_64
|
17381
|
-
platform: linux
|
17382
17476
|
license: MIT
|
17383
17477
|
license_family: MIT
|
17384
17478
|
size: 13756
|
@@ -17421,8 +17515,6 @@ packages:
|
|
17421
17515
|
- libstdcxx >=13
|
17422
17516
|
- python >=3.13.0rc1,<3.14.0a0
|
17423
17517
|
- python_abi 3.13.* *_cp313
|
17424
|
-
arch: x86_64
|
17425
|
-
platform: linux
|
17426
17518
|
license: MIT
|
17427
17519
|
license_family: MIT
|
17428
17520
|
size: 13916
|
@@ -17437,8 +17529,6 @@ packages:
|
|
17437
17529
|
- python >=3.10,<3.11.0a0
|
17438
17530
|
- python >=3.10,<3.11.0a0 *_cpython
|
17439
17531
|
- python_abi 3.10.* *_cp310
|
17440
|
-
arch: aarch64
|
17441
|
-
platform: linux
|
17442
17532
|
license: MIT
|
17443
17533
|
license_family: MIT
|
17444
17534
|
size: 14690
|
@@ -17481,8 +17571,6 @@ packages:
|
|
17481
17571
|
- python >=3.13.0rc1,<3.14.0a0
|
17482
17572
|
- python >=3.13.0rc1,<3.14.0a0 *_cp313
|
17483
17573
|
- python_abi 3.13.* *_cp313
|
17484
|
-
arch: aarch64
|
17485
|
-
platform: linux
|
17486
17574
|
license: MIT
|
17487
17575
|
license_family: MIT
|
17488
17576
|
size: 14819
|
@@ -17496,8 +17584,6 @@ packages:
|
|
17496
17584
|
- libcxx >=17
|
17497
17585
|
- python >=3.10,<3.11.0a0
|
17498
17586
|
- python_abi 3.10.* *_cp310
|
17499
|
-
arch: x86_64
|
17500
|
-
platform: osx
|
17501
17587
|
license: MIT
|
17502
17588
|
license_family: MIT
|
17503
17589
|
size: 12925
|
@@ -17537,8 +17623,6 @@ packages:
|
|
17537
17623
|
- libcxx >=17
|
17538
17624
|
- python >=3.13.0rc1,<3.14.0a0
|
17539
17625
|
- python_abi 3.13.* *_cp313
|
17540
|
-
arch: x86_64
|
17541
|
-
platform: osx
|
17542
17626
|
license: MIT
|
17543
17627
|
license_family: MIT
|
17544
17628
|
size: 13126
|
@@ -17553,8 +17637,6 @@ packages:
|
|
17553
17637
|
- python >=3.10,<3.11.0a0
|
17554
17638
|
- python >=3.10,<3.11.0a0 *_cpython
|
17555
17639
|
- python_abi 3.10.* *_cp310
|
17556
|
-
arch: arm64
|
17557
|
-
platform: osx
|
17558
17640
|
license: MIT
|
17559
17641
|
license_family: MIT
|
17560
17642
|
size: 13565
|
@@ -17597,8 +17679,6 @@ packages:
|
|
17597
17679
|
- python >=3.13.0rc1,<3.14.0a0
|
17598
17680
|
- python >=3.13.0rc1,<3.14.0a0 *_cp313
|
17599
17681
|
- python_abi 3.13.* *_cp313
|
17600
|
-
arch: arm64
|
17601
|
-
platform: osx
|
17602
17682
|
license: MIT
|
17603
17683
|
license_family: MIT
|
17604
17684
|
size: 13689
|
@@ -17613,8 +17693,6 @@ packages:
|
|
17613
17693
|
- ucrt >=10.0.20348.0
|
17614
17694
|
- vc >=14.2,<15
|
17615
17695
|
- vc14_runtime >=14.29.30139
|
17616
|
-
arch: x86_64
|
17617
|
-
platform: win
|
17618
17696
|
license: MIT
|
17619
17697
|
license_family: MIT
|
17620
17698
|
size: 17065
|
@@ -17657,8 +17735,6 @@ packages:
|
|
17657
17735
|
- ucrt >=10.0.20348.0
|
17658
17736
|
- vc >=14.2,<15
|
17659
17737
|
- vc14_runtime >=14.29.30139
|
17660
|
-
arch: x86_64
|
17661
|
-
platform: win
|
17662
17738
|
license: MIT
|
17663
17739
|
license_family: MIT
|
17664
17740
|
size: 17210
|
@@ -6,7 +6,6 @@ authors = [
|
|
6
6
|
channels = ["conda-forge"]
|
7
7
|
name = "pydiverse.common"
|
8
8
|
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64", "linux-aarch64"]
|
9
|
-
version = "0.1.0"
|
10
9
|
|
11
10
|
[tasks]
|
12
11
|
postinstall = "pip install --no-build-isolation --no-deps --disable-pip-version-check -e ."
|
@@ -42,7 +41,7 @@ Sphinx = ">=7.3.7"
|
|
42
41
|
furo = ">=2023.5.20"
|
43
42
|
sphinxcontrib-apidoc = ">=0.3.0"
|
44
43
|
myst-parser = ">=2.0.0"
|
45
|
-
sphinx-autosummary-accessors = "2023.4.0"
|
44
|
+
sphinx-autosummary-accessors = ">=2023.4.0"
|
46
45
|
sphinx-click = ">=4.4.0"
|
47
46
|
sphinx-autobuild = ">=2021.3.14"
|
48
47
|
sphinx-copybutton = ">=0.5.2"
|
@@ -64,6 +63,7 @@ taplo = "*"
|
|
64
63
|
pre-commit-hooks = "*"
|
65
64
|
typos = "*"
|
66
65
|
conda-deny = "*"
|
66
|
+
go-yq = "*"
|
67
67
|
|
68
68
|
[feature.lint.tasks]
|
69
69
|
#commitit-install = "commitit install"
|
@@ -71,6 +71,7 @@ conda-deny = "*"
|
|
71
71
|
pre-commit-install = "pre-commit install"
|
72
72
|
pre-commit-run = "pre-commit run -a"
|
73
73
|
conda-deny = "conda-deny check"
|
74
|
+
check-deps = "sh -c .github/scripts/check_deps.sh"
|
74
75
|
|
75
76
|
[feature.py310.dependencies]
|
76
77
|
python = "3.10.*"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "pydiverse-common"
|
3
|
-
version = "0.3.
|
3
|
+
version = "0.3.5"
|
4
4
|
description = "Common functionality shared between pydiverse libraries"
|
5
5
|
authors = [
|
6
6
|
{ name = "QuantCo, Inc." },
|
@@ -24,6 +24,8 @@ classifiers = [
|
|
24
24
|
"Topic :: Scientific/Engineering",
|
25
25
|
"Topic :: Software Development",
|
26
26
|
]
|
27
|
+
requires-python = ">=3.10,<3.14"
|
28
|
+
dependencies = ["python-box >=7.3.2,<8"]
|
27
29
|
|
28
30
|
[tool.hatch.build.targets.wheel]
|
29
31
|
packages = ["src/pydiverse"]
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# Copyright (c) QuantCo and pydiverse contributors 2025-2025
|
2
2
|
# SPDX-License-Identifier: BSD-3-Clause
|
3
|
-
|
3
|
+
import enum
|
4
4
|
|
5
5
|
|
6
|
-
class PandasBackend(str, Enum):
|
6
|
+
class PandasBackend(str, enum.Enum):
|
7
7
|
NUMPY = "numpy"
|
8
8
|
ARROW = "arrow"
|
9
9
|
|
@@ -141,6 +141,9 @@ class Dtype:
|
|
141
141
|
# we don't know any decimal/time/null dtypes in pandas if column is not
|
142
142
|
# arrow backed
|
143
143
|
|
144
|
+
if pandas_type.name == "category":
|
145
|
+
return Enum(*pandas_type.categories.to_list())
|
146
|
+
|
144
147
|
raise TypeError
|
145
148
|
|
146
149
|
@staticmethod
|
@@ -204,6 +207,8 @@ class Dtype:
|
|
204
207
|
|
205
208
|
if isinstance(polars_type, pl.List):
|
206
209
|
return List(Dtype.from_polars(polars_type.inner))
|
210
|
+
if isinstance(polars_type, pl.Enum):
|
211
|
+
return Enum(*polars_type.categories)
|
207
212
|
|
208
213
|
return {
|
209
214
|
pl.Int64: Int64(),
|
@@ -224,7 +229,6 @@ class Dtype:
|
|
224
229
|
pl.Date: Date(),
|
225
230
|
pl.Null: NullType(),
|
226
231
|
pl.Duration: Duration(),
|
227
|
-
pl.Enum: String(),
|
228
232
|
}[polars_type.base_type()]
|
229
233
|
|
230
234
|
def to_sql(self):
|
@@ -293,6 +297,9 @@ class Dtype:
|
|
293
297
|
if isinstance(self, List):
|
294
298
|
raise TypeError("pandas doesn't have a native list dtype")
|
295
299
|
|
300
|
+
if isinstance(self, Enum):
|
301
|
+
return pd.CategoricalDtype(self.categories)
|
302
|
+
|
296
303
|
return {
|
297
304
|
Int(): pd.Int64Dtype(), # we default to 64 bit
|
298
305
|
Int8(): pd.Int8Dtype(),
|
@@ -319,6 +326,9 @@ class Dtype:
|
|
319
326
|
"""Convert this Dtype to a PyArrow type."""
|
320
327
|
import pyarrow as pa
|
321
328
|
|
329
|
+
if isinstance(self, Enum):
|
330
|
+
return pa.string()
|
331
|
+
|
322
332
|
return {
|
323
333
|
Int(): pa.int64(), # we default to 64 bit
|
324
334
|
Int8(): pa.int8(),
|
@@ -463,3 +473,36 @@ class List(Dtype):
|
|
463
473
|
import pyarrow as pa
|
464
474
|
|
465
475
|
return pa.list_(self.inner.to_arrow())
|
476
|
+
|
477
|
+
|
478
|
+
class Enum(String):
|
479
|
+
def __init__(self, *categories: str):
|
480
|
+
if not all(isinstance(c, str) for c in categories):
|
481
|
+
raise TypeError("arguments for `Enum` must have type `str`")
|
482
|
+
self.categories = list(categories)
|
483
|
+
|
484
|
+
def __eq__(self, rhs):
|
485
|
+
return isinstance(rhs, Enum) and self.categories == rhs.categories
|
486
|
+
|
487
|
+
def __repr__(self) -> str:
|
488
|
+
return f"Enum[{', '.join(repr(c) for c in self.categories)}]"
|
489
|
+
|
490
|
+
def __hash__(self):
|
491
|
+
return hash(tuple(self.categories))
|
492
|
+
|
493
|
+
def to_polars(self):
|
494
|
+
import polars as pl
|
495
|
+
|
496
|
+
return pl.Enum(self.categories)
|
497
|
+
|
498
|
+
def to_sql(self):
|
499
|
+
import sqlalchemy as sqa
|
500
|
+
|
501
|
+
return sqa.String()
|
502
|
+
|
503
|
+
def to_arrow(self):
|
504
|
+
import pyarrow as pa
|
505
|
+
|
506
|
+
# There is also pa.dictionary(), which seems to be kind of similar to an enum.
|
507
|
+
# Maybe it is better to convert to this.
|
508
|
+
return pa.string()
|
@@ -21,9 +21,13 @@ from pydiverse.common import (
|
|
21
21
|
Bool,
|
22
22
|
Date,
|
23
23
|
Datetime,
|
24
|
+
Decimal,
|
24
25
|
Dtype,
|
26
|
+
Enum,
|
27
|
+
Float,
|
25
28
|
Float32,
|
26
29
|
Float64,
|
30
|
+
Int,
|
27
31
|
Int8,
|
28
32
|
Int16,
|
29
33
|
Int32,
|
@@ -154,8 +158,11 @@ def test_dtype_to_pandas_pyarrow():
|
|
154
158
|
def test_all_types_numpy(type_):
|
155
159
|
if type_ is pdc.List:
|
156
160
|
type_obj = type_(pdc.Int64())
|
161
|
+
elif type_ is pdc.Enum:
|
162
|
+
type_obj = type_("a", "b", "c")
|
157
163
|
else:
|
158
164
|
type_obj = type_()
|
165
|
+
|
159
166
|
if type_ is pdc.NullType:
|
160
167
|
with pytest.raises(TypeError, match="pandas doesn't have a native null dtype"):
|
161
168
|
type_obj.to_pandas(PandasBackend.NUMPY)
|
@@ -166,14 +173,17 @@ def test_all_types_numpy(type_):
|
|
166
173
|
with pytest.raises(TypeError, match="pandas doesn't have a native list dtype"):
|
167
174
|
type_obj.to_pandas(PandasBackend.NUMPY)
|
168
175
|
else:
|
176
|
+
acceptance_map = {
|
177
|
+
Float: Float64(),
|
178
|
+
Int: Int64(),
|
179
|
+
Decimal: Float64(),
|
180
|
+
Date: Datetime(),
|
181
|
+
}
|
182
|
+
|
169
183
|
dst_type = type_obj.to_pandas(PandasBackend.NUMPY)
|
170
184
|
back_type = Dtype.from_pandas(dst_type)
|
171
|
-
|
172
|
-
|
173
|
-
elif type_ is pdc.Date:
|
174
|
-
assert isinstance(back_type, pdc.Datetime)
|
175
|
-
else:
|
176
|
-
assert isinstance(back_type, type_)
|
185
|
+
|
186
|
+
assert back_type == acceptance_map.get(type_, type_obj)
|
177
187
|
|
178
188
|
|
179
189
|
@pytest.mark.skipif(np is None, reason="requires pandas, numpy, and pyarrow")
|
@@ -184,8 +194,17 @@ def test_all_types_numpy(type_):
|
|
184
194
|
def test_all_types_arrow(type_):
|
185
195
|
if type_ is pdc.List:
|
186
196
|
type_obj = type_(pdc.Int64())
|
197
|
+
elif type_ is pdc.Enum:
|
198
|
+
type_obj = type_("a", "b", "c")
|
187
199
|
else:
|
188
200
|
type_obj = type_()
|
201
|
+
|
202
|
+
acceptance_map = {
|
203
|
+
Enum: String(),
|
204
|
+
Float: Float64(),
|
205
|
+
Int: Int64(),
|
206
|
+
}
|
207
|
+
|
189
208
|
dst_type = type_obj.to_pandas(PandasBackend.ARROW)
|
190
209
|
back_type = Dtype.from_pandas(dst_type)
|
191
|
-
assert
|
210
|
+
assert back_type == acceptance_map.get(type_, type_obj)
|
@@ -9,8 +9,10 @@ from pydiverse.common import (
|
|
9
9
|
Date,
|
10
10
|
Datetime,
|
11
11
|
Dtype,
|
12
|
+
Float,
|
12
13
|
Float32,
|
13
14
|
Float64,
|
15
|
+
Int,
|
14
16
|
Int8,
|
15
17
|
Int16,
|
16
18
|
Int32,
|
@@ -95,6 +97,12 @@ def test_all_types(type_):
|
|
95
97
|
type_obj = type_(pdc.Int64())
|
96
98
|
else:
|
97
99
|
type_obj = type_()
|
100
|
+
|
101
|
+
acceptance_map = {
|
102
|
+
Float: Float64(),
|
103
|
+
Int: Int64(),
|
104
|
+
}
|
105
|
+
|
98
106
|
dst_type = type_obj.to_polars()
|
99
107
|
back_type = Dtype.from_polars(dst_type)
|
100
|
-
assert
|
108
|
+
assert back_type == acceptance_map.get(type_, type_obj)
|
@@ -15,8 +15,11 @@ from pydiverse.common import (
|
|
15
15
|
Date,
|
16
16
|
Datetime,
|
17
17
|
Dtype,
|
18
|
+
Enum,
|
19
|
+
Float,
|
18
20
|
Float32,
|
19
21
|
Float64,
|
22
|
+
Int,
|
20
23
|
Int8,
|
21
24
|
Int16,
|
22
25
|
Int32,
|
@@ -92,7 +95,7 @@ def test_dtype_to_pyarrow():
|
|
92
95
|
assert_conversion(Datetime(), pa.timestamp("us"))
|
93
96
|
|
94
97
|
|
95
|
-
@pytest.mark.skipif(pa is None, reason="requires
|
98
|
+
@pytest.mark.skipif(pa is None, reason="requires pyarrow")
|
96
99
|
@pytest.mark.parametrize(
|
97
100
|
"type_",
|
98
101
|
ALL_TYPES,
|
@@ -100,8 +103,18 @@ def test_dtype_to_pyarrow():
|
|
100
103
|
def test_all_types(type_):
|
101
104
|
if type_ is pdc.List:
|
102
105
|
type_obj = type_(pdc.Int64())
|
106
|
+
elif type_ is pdc.Enum:
|
107
|
+
type_obj = type_("a", "b", "c")
|
103
108
|
else:
|
104
109
|
type_obj = type_()
|
110
|
+
|
111
|
+
acceptance_map = {
|
112
|
+
Enum: String(),
|
113
|
+
Float: Float64(),
|
114
|
+
Int: Int64(),
|
115
|
+
}
|
116
|
+
|
105
117
|
dst_type = type_obj.to_arrow()
|
106
118
|
back_type = Dtype.from_arrow(dst_type)
|
107
|
-
|
119
|
+
|
120
|
+
assert back_type == acceptance_map.get(type_, type_obj)
|
@@ -9,8 +9,11 @@ from pydiverse.common import (
|
|
9
9
|
Datetime,
|
10
10
|
Decimal,
|
11
11
|
Dtype,
|
12
|
+
Enum,
|
13
|
+
Float,
|
12
14
|
Float32,
|
13
15
|
Float64,
|
16
|
+
Int,
|
14
17
|
Int8,
|
15
18
|
Int16,
|
16
19
|
Int32,
|
@@ -82,7 +85,7 @@ def test_dtype_to_sqlalchemy():
|
|
82
85
|
assert_conversion(Datetime(), sa.DateTime)
|
83
86
|
|
84
87
|
|
85
|
-
@pytest.mark.skipif(sa is None, reason="requires
|
88
|
+
@pytest.mark.skipif(sa is None, reason="requires sqlalchemy")
|
86
89
|
@pytest.mark.parametrize(
|
87
90
|
"type_",
|
88
91
|
ALL_TYPES,
|
@@ -90,19 +93,25 @@ def test_dtype_to_sqlalchemy():
|
|
90
93
|
def test_all_types(type_):
|
91
94
|
if type_ is pdc.List:
|
92
95
|
type_obj = type_(pdc.Int64())
|
96
|
+
elif type_ is pdc.Enum:
|
97
|
+
type_obj = type_("a", "b", "c")
|
93
98
|
else:
|
94
99
|
type_obj = type_()
|
95
100
|
dst_type = type_obj.to_sql()
|
96
101
|
back_type = Dtype.from_sql(dst_type)
|
97
102
|
acceptance_map = {
|
98
103
|
# SQL is a bit less strict about integer precisions
|
99
|
-
Int8: Int16,
|
100
|
-
UInt8: Int16,
|
101
|
-
UInt16: Int32,
|
102
|
-
UInt32: Int64,
|
103
|
-
UInt64: Int64,
|
104
|
+
Int8: Int16(),
|
105
|
+
UInt8: Int16(),
|
106
|
+
UInt16: Int32(),
|
107
|
+
UInt32: Int64(),
|
108
|
+
UInt64: Int64(),
|
104
109
|
# we intentionally fetch Decimal as Float since Decimal is more a relational
|
105
110
|
# database thing
|
106
|
-
Decimal: Float64,
|
111
|
+
Decimal: Float64(),
|
112
|
+
Float: Float64(),
|
113
|
+
Int: Int64(),
|
114
|
+
# there is no Enum
|
115
|
+
Enum: String(),
|
107
116
|
}
|
108
|
-
assert
|
117
|
+
assert back_type == acceptance_map.get(type_, type_obj)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pydiverse_common-0.3.3 → pydiverse_common-0.3.5}/src/pydiverse/common/util/computation_tracing.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|