pydantic-fixedwidth 0.3.1__tar.gz → 0.3.2__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 (28) hide show
  1. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.github/workflows/ci.yaml +6 -6
  2. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.github/workflows/prepare-release.yaml +3 -2
  3. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.github/workflows/release.yaml +4 -4
  4. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.pre-commit-config.yaml +9 -8
  5. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/CONTRIBUTING.md +0 -1
  6. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/Justfile +14 -14
  7. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/PKG-INFO +2 -2
  8. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/flake.nix +3 -8
  9. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/pyproject.toml +6 -5
  10. pydantic_fixedwidth-0.3.2/renovate.json +17 -0
  11. pydantic_fixedwidth-0.3.2/uv.lock +735 -0
  12. pydantic_fixedwidth-0.3.1/renovate.json +0 -6
  13. pydantic_fixedwidth-0.3.1/uv.lock +0 -709
  14. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.devcontainer.example/devcontainer-lock.json +0 -0
  15. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.devcontainer.example/devcontainer.json +0 -0
  16. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.editorconfig +0 -0
  17. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.gitignore +0 -0
  18. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.python-version +0 -0
  19. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.vscode.example/extensions.json +0 -0
  20. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/.vscode.example/settings.json +0 -0
  21. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/LICENSE +0 -0
  22. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/README.md +0 -0
  23. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/flake.lock +0 -0
  24. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/pydantic_fixedwidth/__init__.py +0 -0
  25. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/pydantic_fixedwidth/fixedwidth.py +0 -0
  26. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/pydantic_fixedwidth/py.typed +0 -0
  27. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/tests/__init__.py +0 -0
  28. {pydantic_fixedwidth-0.3.1 → pydantic_fixedwidth-0.3.2}/tests/test_fixedwidth.py +0 -0
@@ -22,10 +22,10 @@ jobs:
22
22
  contents: read
23
23
  steps:
24
24
  - name: Checkout
25
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
25
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
26
26
 
27
27
  - name: Set up uv
28
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
28
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
29
29
  with:
30
30
  version: latest
31
31
  enable-cache: true
@@ -56,10 +56,10 @@ jobs:
56
56
 
57
57
  steps:
58
58
  - name: Checkout
59
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
59
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
60
60
 
61
61
  - name: Set up uv
62
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
62
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
63
63
  with:
64
64
  version: latest
65
65
  enable-cache: true
@@ -74,7 +74,7 @@ jobs:
74
74
  run: uv run pytest
75
75
 
76
76
  - name: Upload test results to Codecov
77
- uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
77
+ uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
78
78
  with:
79
79
  use_oidc: true
80
80
  fail_ci_if_error: false
@@ -84,7 +84,7 @@ jobs:
84
84
  python-${{ matrix.python-version }}
85
85
 
86
86
  - name: Upload coverage report
87
- uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
87
+ uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
88
88
  with:
89
89
  use_oidc: true
90
90
  fail_ci_if_error: false
@@ -1,4 +1,5 @@
1
1
  name: Prepare Release
2
+ run-name: Prepare Release (${{ inputs.tag }})
2
3
 
3
4
  on:
4
5
  workflow_dispatch:
@@ -31,10 +32,10 @@ jobs:
31
32
  fi
32
33
 
33
34
  - name: Checkout
34
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
35
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
35
36
 
36
37
  - name: Set up uv
37
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
38
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
38
39
  with:
39
40
  version: latest
40
41
  enable-cache: true
@@ -20,10 +20,10 @@ jobs:
20
20
  contents: write
21
21
  steps:
22
22
  - name: Checkout
23
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
23
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
24
24
 
25
25
  - name: Set up uv
26
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
26
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
27
27
  with:
28
28
  version: latest
29
29
  enable-cache: true
@@ -35,7 +35,7 @@ jobs:
35
35
  run: uv build
36
36
 
37
37
  - name: Create release
38
- uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3
38
+ uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
39
39
  with:
40
40
  tag_name: ${{ github.event.release.tag_name }}
41
41
  generate_release_notes: false
@@ -69,6 +69,6 @@ jobs:
69
69
  run: ls -l --all --recursive dist
70
70
 
71
71
  - name: Publish release distributions to PyPI
72
- uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
72
+ uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
73
73
  with:
74
74
  skip-existing: true
@@ -6,10 +6,13 @@ repos:
6
6
  - id: trailing-whitespace
7
7
  - id: end-of-file-fixer
8
8
 
9
- - repo: https://github.com/lasuillard-s/devobs
10
- rev: v0.2.1
9
+ - repo: local
11
10
  hooks:
12
11
  - id: check-file-pair
12
+ name: check-file-pair
13
+ language: system
14
+ entry: uv tool run devobs check-file-pair
15
+ pass_filenames: false
13
16
  args:
14
17
  - --from=pydantic_fixedwidth
15
18
  - --to=tests
@@ -18,23 +21,21 @@ repos:
18
21
  - --expect={to}/{relative_from}/test_{filename}
19
22
  - --create-if-not-exists
20
23
 
21
- - repo: local
22
- hooks:
23
24
  - id: ruff-check
24
- name: Fix using Ruff
25
+ name: ruff check
25
26
  language: system
26
27
  types: [python]
27
28
  entry: uv run ruff check
28
29
  args: [--fix]
29
30
 
30
31
  - id: ruff-format
31
- name: Format using Ruff
32
+ name: ruff format
32
33
  language: system
33
34
  types: [python]
34
35
  entry: uv run ruff format
35
36
 
36
37
  - id: mypy
37
- name: Type check with Mypy
38
+ name: mypy
38
39
  language: system
39
40
  types: [python]
40
41
  pass_filenames: false
@@ -42,7 +43,7 @@ repos:
42
43
  args: [--show-error-codes, --pretty, .]
43
44
 
44
45
  - id: pytest
45
- name: Test with pytest
46
+ name: pytest
46
47
  language: system
47
48
  types: [python]
48
49
  pass_filenames: false
@@ -38,7 +38,6 @@ This repository uses [Nix Flakes](https://nix.dev/concepts/flakes.html) to manag
38
38
  - `pre-commit`
39
39
  - `just`
40
40
  - `uv`
41
- - `pipx`
42
41
 
43
42
  Run `nix develop` to start the development environment, then run `just install` to install dependencies.
44
43
 
@@ -17,27 +17,18 @@ alias up := update
17
17
  # Development
18
18
  # =============================================================================
19
19
 
20
- # Build this project
21
- build:
22
- uv build
23
-
24
20
  # Run all checks
25
- ci: lint test
21
+ ci: (format "yes") lint test
26
22
 
27
23
  # Autoformat code
28
- format:
29
- uv run ruff format .
24
+ [arg("check", long="check", value="yes")]
25
+ format check="no":
26
+ uv run ruff format {{ if check == "yes" { "--check" } else { "" } }} .
30
27
 
31
28
  alias fmt := format
32
29
 
33
- # Apply autofixes
34
- fix:
35
- uv run ruff check --fix .
36
- uv run ruff format .
37
-
38
30
  # Run all linters
39
31
  lint:
40
- uv run ruff format --check .
41
32
  uv run ruff check .
42
33
  uv run mypy --show-error-codes --pretty .
43
34
 
@@ -45,13 +36,22 @@ lint:
45
36
  test:
46
37
  uv run pytest
47
38
 
39
+ # Apply autofixes
40
+ fix:
41
+ uv run ruff check --fix .
42
+ uv run ruff format .
43
+
44
+ # Build this project
45
+ build:
46
+ uv build
47
+
48
48
  # =============================================================================
49
49
  # Utility
50
50
  # =============================================================================
51
51
 
52
52
  # Remove temporary files
53
53
  clean:
54
- rm -rf \
54
+ rm --recursive --force \
55
55
  .mypy_cache/ \
56
56
  .pytest_cache/ \
57
57
  .ruff_cache/ \
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: pydantic-fixedwidth
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Custom Pydantic models for serializing and deserializing fixed-width data.
5
5
  Project-URL: Homepage, https://github.com/lasuillard-s/pydantic-fixedwidth
6
6
  Project-URL: Repository, https://github.com/lasuillard-s/pydantic-fixedwidth.git
@@ -14,13 +14,6 @@
14
14
  system:
15
15
  let
16
16
  pkgs = import nixpkgs { inherit system; };
17
-
18
- # BUG: https://github.com/nixos/nixpkgs/issues/522307
19
- fixedPipx = pkgs.python3Packages.toPythonApplication (
20
- pkgs.python3Packages.pipx.overridePythonAttrs (oldAttrs: {
21
- doCheck = false;
22
- })
23
- );
24
17
  in
25
18
  {
26
19
  devShells.default = pkgs.mkShell {
@@ -28,10 +21,12 @@
28
21
  pre-commit
29
22
  just
30
23
  uv
31
- fixedPipx
32
24
  ];
33
25
  shellHook = ''
34
26
  pre-commit install
27
+
28
+ # Workaround for pre-commit dependency leak
29
+ unset PYTHONPATH
35
30
  '';
36
31
  };
37
32
  }
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "pydantic-fixedwidth"
3
3
  description = "Custom Pydantic models for serializing and deserializing fixed-width data."
4
- version = "0.3.1"
4
+ version = "0.3.2"
5
5
  authors = [{ name = "Yuchan Lee", email = "lasuillard@gmail.com" }]
6
6
  readme = "README.md"
7
7
  license = "MIT"
@@ -10,12 +10,12 @@ dependencies = ["pydantic>=2,<3"]
10
10
 
11
11
  [dependency-groups]
12
12
  dev = [
13
- "mypy==2.1.0",
14
- "ruff==0.15.15",
15
- "coverage==7.14.1",
13
+ "mypy==2.3.1",
14
+ "ruff==0.16.3",
15
+ "coverage==7.15.4",
16
16
  "pytest-cov==7.1.0",
17
17
  "pytest-sugar==1.1.1",
18
- "pytest==9.0.3",
18
+ "pytest==9.1.1",
19
19
  ]
20
20
 
21
21
  [project.urls]
@@ -38,6 +38,7 @@ select = ["ALL"]
38
38
  ignore = [
39
39
  "ANN401",
40
40
  "COM812", # Formatting conflict
41
+ "CPY",
41
42
  "D105",
42
43
  "FIX002",
43
44
  "TD003",
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "local>lasuillard-s/renovate-config"
5
+ ],
6
+ "packageRules": [
7
+ {
8
+ "matchManagers": [
9
+ "pep621"
10
+ ],
11
+ "matchJsonata": [
12
+ "$not($exists(managerData.depGroup)) or managerData.depGroup != 'dev'"
13
+ ],
14
+ "rangeStrategy": "widen"
15
+ }
16
+ ]
17
+ }