pydiverse-common 0.1.0__tar.gz → 0.2.1__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.
Files changed (42) hide show
  1. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.github/workflows/release.yml +1 -1
  2. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.github/workflows/tests.yml +6 -4
  3. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.github/workflows/update-lockfiles.yml +1 -1
  4. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.pre-commit-config.yaml +19 -8
  5. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/PKG-INFO +2 -3
  6. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/source/changelog.md +8 -1
  7. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/source/conf.py +3 -0
  8. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/pixi.lock +8621 -6631
  9. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/pixi.toml +36 -12
  10. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/pyproject.toml +10 -10
  11. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/src/pydiverse/common/__init__.py +2 -2
  12. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/src/pydiverse/common/dtypes.py +29 -10
  13. pydiverse_common-0.2.1/src/pydiverse/common/errors/__init__.py +9 -0
  14. pydiverse_common-0.2.1/src/pydiverse/common/util/__init__.py +13 -0
  15. pydiverse_common-0.2.1/src/pydiverse/common/util/computation_tracing.py +341 -0
  16. pydiverse_common-0.2.1/src/pydiverse/common/util/deep_map.py +100 -0
  17. pydiverse_common-0.2.1/src/pydiverse/common/util/deep_merge.py +55 -0
  18. pydiverse_common-0.2.1/src/pydiverse/common/util/disposable.py +28 -0
  19. pydiverse_common-0.2.1/src/pydiverse/common/util/hashing.py +32 -0
  20. pydiverse_common-0.2.1/src/pydiverse/common/util/import_.py +135 -0
  21. pydiverse_common-0.2.1/src/pydiverse/common/util/structlog.py +115 -0
  22. pydiverse_common-0.2.1/tests/conftest.py +31 -0
  23. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/tests/dtypes/test_dtype_pandas.py +15 -5
  24. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/tests/dtypes/test_dtype_polars.py +2 -2
  25. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/tests/dtypes/test_dtype_pyarrow.py +9 -2
  26. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/tests/dtypes/test_dtype_sqlalchemy.py +10 -3
  27. pydiverse_common-0.2.1/tests/test_util.py +114 -0
  28. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.gitattributes +0 -0
  29. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.github/CODEOWNERS +0 -0
  30. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  31. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.github/dependabot.yml +0 -0
  32. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.gitignore +0 -0
  33. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/.readthedocs.yaml +0 -0
  34. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/LICENSE +0 -0
  35. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/README.md +0 -0
  36. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/Makefile +0 -0
  37. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/make.bat +0 -0
  38. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/package/README.md +0 -0
  39. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/source/index.md +0 -0
  40. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/source/license.md +0 -0
  41. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/docs/source/reference/api.rst +0 -0
  42. {pydiverse_common-0.1.0 → pydiverse_common-0.2.1}/pytest.ini +0 -0
@@ -17,7 +17,7 @@ jobs:
17
17
  uses: actions/checkout@v4
18
18
 
19
19
  - name: Set up pixi
20
- uses: prefix-dev/setup-pixi@v0.8.3
20
+ uses: prefix-dev/setup-pixi@v0.8.8
21
21
  with:
22
22
  environments: release
23
23
 
@@ -17,7 +17,7 @@ jobs:
17
17
  - name: Checkout branch
18
18
  uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
19
19
  - name: Set up pixi
20
- uses: prefix-dev/setup-pixi@2970de4ad95fecdf1c3173999267d5b28c01853e # v0.8.1
20
+ uses: prefix-dev/setup-pixi@19eac09b398e3d0c747adc7921926a6d802df4da # v0.8.1
21
21
  - name: Install repository
22
22
  # needed for generate-col-ops hook
23
23
  run: pixi run postinstall
@@ -33,15 +33,17 @@ jobs:
33
33
  - ubuntu-latest
34
34
  environment:
35
35
  - py310
36
- - py311
37
- - py312
38
36
  - py313
37
+ - py310all
38
+ - py311all
39
+ - py312all
40
+ - py313all
39
41
  timeout-minutes: 5
40
42
  steps:
41
43
  - uses: actions/checkout@v4
42
44
 
43
45
  - name: Setup Pixi
44
- uses: prefix-dev/setup-pixi@v0.8.3
46
+ uses: prefix-dev/setup-pixi@v0.8.8
45
47
  with:
46
48
  environments: ${{ matrix.environment }}
47
49
 
@@ -15,7 +15,7 @@ jobs:
15
15
  steps:
16
16
  - uses: actions/checkout@v4
17
17
  - name: Set up pixi
18
- uses: prefix-dev/setup-pixi@v0.8.3
18
+ uses: prefix-dev/setup-pixi@v0.8.8
19
19
  with:
20
20
  run-install: false
21
21
  - name: Update lockfiles
@@ -14,50 +14,61 @@ repos:
14
14
  # ruff
15
15
  - id: ruff
16
16
  name: ruff
17
- entry: pixi run ruff check --fix --exit-non-zero-on-fix --force-exclude
17
+ entry: pixi run -e lint ruff check --fix --exit-non-zero-on-fix --force-exclude
18
18
  language: system
19
19
  types_or: [python, pyi]
20
20
  require_serial: true
21
21
  - id: ruff-format
22
22
  name: ruff-format
23
- entry: pixi run ruff format --force-exclude
23
+ entry: pixi run -e lint ruff format --force-exclude
24
24
  language: system
25
25
  types_or: [python, pyi]
26
26
  require_serial: true
27
27
  # mypy
28
28
  # - id: mypy
29
29
  # name: mypy
30
- # entry: pixi run mypy
30
+ # entry: pixi run -e lint mypy
31
31
  # language: system
32
32
  # types: [python]
33
33
  # require_serial: true
34
34
  # taplo
35
35
  - id: taplo
36
36
  name: taplo
37
- entry: pixi run taplo format
37
+ entry: pixi run -e lint taplo format
38
38
  language: system
39
39
  types: [toml]
40
40
  # pre-commit-hooks
41
41
  - id: trailing-whitespace-fixer
42
42
  name: trailing-whitespace-fixer
43
- entry: pixi run trailing-whitespace-fixer
43
+ entry: pixi run -e lint trailing-whitespace-fixer
44
44
  language: system
45
45
  types: [text]
46
46
  - id: end-of-file-fixer
47
47
  name: end-of-file-fixer
48
- entry: pixi run end-of-file-fixer
48
+ entry: pixi run -e lint end-of-file-fixer
49
49
  language: system
50
50
  types: [text]
51
51
  - id: check-merge-conflict
52
52
  name: check-merge-conflict
53
- entry: pixi run check-merge-conflict --assume-in-merge
53
+ entry: pixi run -e lint check-merge-conflict --assume-in-merge
54
54
  language: system
55
55
  types: [text]
56
56
  exclude: ".rst$"
57
57
  # typos
58
58
  - id: typos
59
59
  name: typos
60
- entry: pixi run typos --force-exclude
60
+ entry: pixi run -e lint typos --force-exclude
61
61
  language: system
62
62
  types: [text]
63
63
  require_serial: true
64
+ # insert-license
65
+ - id: insert-license
66
+ name: insert-license
67
+ entry: >-
68
+ pixi run -e lint
69
+ insert-license
70
+ --license-base64 Q29weXJpZ2h0IChjKSBRdWFudENvIGFuZCBweWRpdmVyc2UgY29udHJpYnV0b3JzIDIwMjUtMjAyNQpTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCg==
71
+ --dynamic-years
72
+ --comment-style "#"
73
+ language: system
74
+ types: [python]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydiverse-common
3
- Version: 0.1.0
3
+ Version: 0.2.1
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>
@@ -39,7 +39,6 @@ Classifier: Intended Audience :: Developers
39
39
  Classifier: Intended Audience :: Science/Research
40
40
  Classifier: License :: OSI Approved :: BSD License
41
41
  Classifier: Programming Language :: Python :: 3
42
- Classifier: Programming Language :: Python :: 3.9
43
42
  Classifier: Programming Language :: Python :: 3.10
44
43
  Classifier: Programming Language :: Python :: 3.11
45
44
  Classifier: Programming Language :: Python :: 3.12
@@ -48,7 +47,7 @@ Classifier: Programming Language :: SQL
48
47
  Classifier: Topic :: Database
49
48
  Classifier: Topic :: Scientific/Engineering
50
49
  Classifier: Topic :: Software Development
51
- Requires-Python: >=3.9
50
+ Requires-Python: >=3.10
52
51
  Description-Content-Type: text/markdown
53
52
 
54
53
  # pydiverse.common
@@ -1,6 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.10.0 (2025-04-dd)
3
+ ## 0.2.1 (2025-06-06)
4
+ - also support to_xxx() for generic Int and Float Dtype classes
5
+
6
+ ## 0.2.0 (2025-06-06)
7
+ - moved many utility functions from `pydiverse.pipedag` to `pydiverse.common`;
8
+ this includes deep_map, ComputationTracer, @disposable, @requires, stable_hash,
9
+ load_object, and structlog initialization
10
+ - Decimal becomes subtype of Float
4
11
 
5
12
  ## 0.1.0 (2022-09-01)
6
13
  Initial release.
@@ -1,3 +1,6 @@
1
+ # Copyright (c) QuantCo and pydiverse contributors 2025-2025
2
+ # SPDX-License-Identifier: BSD-3-Clause
3
+
1
4
  # Configuration file for the Sphinx documentation builder.
2
5
  #
3
6
  # For the full list of built-in configuration values, see the documentation: