Commit 48f1951
authored
feat: Add support for python 3.11 and 3.12 (#125)
# Add Python 3.11 and 3.12 Support
## Summary
Adds full support for Python 3.11 and 3.12 while maintaining Python 3.9/3.10 compatibility. Python 3.9 is deprecated (EOL Oct 2025) with support ending April 30, 2026.
## Changes
**Dependencies**
- Removed `pydantic<2` (unused, blocked Python 3.12)
- Updated `packaging` to `>=23.0` (setuptools compatibility)
- Updated `fsspec`, `gcsfs`, `s3fs` to `>=2024.6.0,<2025.0.0`
- Added `setuptools<75.0.0` constraint in tox/requirements-dev
**Testing**
- Configured tox for `py39`, `py310`, `py311`, `py312`
- All 112 tests pass on Python 3.10-3.12 (96% coverage)
- Updated pre-commit: flake8 6.1.0, mypy 1.7.1
**Code Quality**
- Fixed exception handling: `ClientError` instead of bare `Exception`
- Removed unnecessary `type: ignore` comments
- Fixed line length violations
**Documentation**
- Updated `CONTRIBUTING.md` with dev setup and tox usage
- Updated `.pre-commit-config.yaml` tool versions
## Testing
```bash
tox # All versions
tox -e py312 # Specific version
Results: 112 tests passed, 96% coverage on Python 3.9-3.12
Release
Version: 0.31.0 Type: Minor (non-breaking, adds Python 3.11/3.12 support) Target Branch: develop → main
Breaking Changes
None. Fully backward compatible.1 parent f3813ed commit 48f1951
File tree
18 files changed
+501
-94
lines changed- .github/workflows
- data_pipelines_cli
- tests
18 files changed
+501
-94
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| |||
125 | 128 | | |
126 | 129 | | |
127 | 130 | | |
128 | | - | |
| 131 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments