iparq 0.2.5__tar.gz → 0.2.6__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.
@@ -27,7 +27,7 @@ jobs:
27
27
  strategy:
28
28
  fail-fast: false
29
29
  matrix:
30
- os: ["ubuntu-20.04", "windows-latest"]
30
+ os: ["ubuntu-latest", "windows-latest"]
31
31
  python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
32
32
  env:
33
33
  UV_SYSTEM_PYTHON: 1
@@ -18,7 +18,7 @@ jobs:
18
18
  strategy:
19
19
  fail-fast: false
20
20
  matrix:
21
- os: ["ubuntu-20.04", "windows-latest"]
21
+ os: ["ubuntu-latest", "windows-latest"]
22
22
  python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
23
23
  env:
24
24
  UV_SYSTEM_PYTHON: 1
@@ -15,11 +15,71 @@ permissions:
15
15
  contents: read
16
16
 
17
17
  jobs:
18
+ test-and-validate:
19
+ permissions:
20
+ contents: read
21
+ pull-requests: write
22
+ runs-on: ubuntu-latest
23
+
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+
27
+ - name: Install uv
28
+ uses: astral-sh/setup-uv@v5
29
+
30
+ - name: "Set up Python"
31
+ uses: actions/setup-python@v5
32
+ with:
33
+ python-version-file: "pyproject.toml"
34
+
35
+ - name: Update dependencies and sync
36
+ run: |
37
+ uv lock --upgrade
38
+ uv sync --all-extras
39
+
40
+ - name: Run linting
41
+ run: |
42
+ uv run ruff check .
43
+
44
+ - name: Run type checking
45
+ run: |
46
+ cd src/iparq
47
+ uv run mypy . --config-file=../../pyproject.toml
48
+
49
+ - name: Run tests
50
+ run: |
51
+ uv run pytest -v
52
+
53
+ - name: Test package build
54
+ run: |
55
+ uv build
56
+
57
+ - name: Test package installation in clean environment
58
+ run: |
59
+ # Test that the built package can be installed and imported
60
+ python -m venv test_install_env
61
+ source test_install_env/bin/activate
62
+ # Install the latest wheel file
63
+ pip install $(ls -t dist/*.whl | head -1)
64
+ python -c "import iparq; print(f'Successfully imported iparq version {iparq.__version__}')"
65
+ iparq --help
66
+ deactivate
67
+
68
+ - name: Upload test results
69
+ uses: actions/upload-artifact@v4
70
+ if: always()
71
+ with:
72
+ name: test-results
73
+ path: |
74
+ .coverage
75
+ htmlcov/
76
+
18
77
  release-build:
19
78
  permissions:
20
79
  contents: read
21
80
  pull-requests: write
22
81
  runs-on: ubuntu-latest
82
+ needs: test-and-validate
23
83
 
24
84
  steps:
25
85
  - uses: actions/checkout@v4
@@ -32,9 +92,14 @@ jobs:
32
92
  with:
33
93
  python-version-file: "pyproject.toml"
34
94
 
95
+ - name: Update dependencies and sync
96
+ run: |
97
+ uv lock --upgrade
98
+ uv sync --all-extras
99
+
35
100
  - name: Build release distributions
36
101
  run: |
37
- uv build
102
+ uv build
38
103
 
39
104
  - name: Upload distributions
40
105
  uses: actions/upload-artifact@v4
@@ -45,6 +110,7 @@ jobs:
45
110
  pypi-publish:
46
111
  runs-on: ubuntu-latest
47
112
  needs:
113
+ - test-and-validate
48
114
  - release-build
49
115
  permissions:
50
116
  # IMPORTANT: this permission is mandatory for trusted publishing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iparq
3
- Version: 0.2.5
3
+ Version: 0.2.6
4
4
  Summary: Display version compression and bloom filter information about a parquet file
5
5
  Author-email: MiguelElGallo <miguel.zurcher@gmail.com>
6
6
  License-File: LICENSE
@@ -8,7 +8,7 @@ Requires-Python: >=3.9
8
8
  Requires-Dist: pyarrow
9
9
  Requires-Dist: pydantic
10
10
  Requires-Dist: rich
11
- Requires-Dist: typer[all]
11
+ Requires-Dist: typer
12
12
  Provides-Extra: checks
13
13
  Requires-Dist: mypy>=1.14.1; extra == 'checks'
14
14
  Requires-Dist: ruff>=0.9.3; extra == 'checks'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "iparq"
3
- version = "0.2.5"
3
+ version = "0.2.6"
4
4
  description = "Display version compression and bloom filter information about a parquet file"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -9,7 +9,7 @@ authors = [
9
9
  requires-python = ">=3.9"
10
10
  dependencies = [
11
11
  "pyarrow",
12
- "typer[all]",
12
+ "typer",
13
13
  "pydantic",
14
14
  "rich",
15
15
  ]
@@ -0,0 +1 @@
1
+ __version__ = "0.2.6"