pydantic-fixedwidth 0.2.1__tar.gz → 0.2.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 (25) hide show
  1. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.devcontainer/devcontainer.json +1 -1
  2. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.github/workflows/ci.yaml +9 -12
  3. pydantic_fixedwidth-0.2.2/.github/workflows/prepare-release.yaml +51 -0
  4. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.github/workflows/release.yaml +21 -16
  5. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/PKG-INFO +2 -3
  6. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/README.md +1 -2
  7. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/pyproject.toml +1 -1
  8. pydantic_fixedwidth-0.2.2/uv.lock +552 -0
  9. pydantic_fixedwidth-0.2.1/uv.lock +0 -533
  10. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.devcontainer/onCreateCommand.sh +0 -0
  11. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.editorconfig +0 -0
  12. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.gitattributes +0 -0
  13. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.github/dependabot.yaml +0 -0
  14. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.gitignore +0 -0
  15. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.pre-commit-config.yaml +0 -0
  16. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.python-version +0 -0
  17. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.vscode/extensions.json +0 -0
  18. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/.vscode/settings.json +0 -0
  19. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/LICENSE +0 -0
  20. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/Makefile +0 -0
  21. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/pydantic_fixedwidth/__init__.py +0 -0
  22. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/pydantic_fixedwidth/fixedwidth.py +0 -0
  23. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/pydantic_fixedwidth/py.typed +0 -0
  24. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/tests/__init__.py +0 -0
  25. {pydantic_fixedwidth-0.2.1 → pydantic_fixedwidth-0.2.2}/tests/test_fixedwidth.py +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "lasuillard/pydantic-fixedwidth",
2
+ "name": "lasuillard-s/pydantic-fixedwidth",
3
3
  "image": "mcr.microsoft.com/devcontainers/base:1-bookworm",
4
4
  "features": {
5
5
  "ghcr.io/devcontainers-extra/features/pre-commit:2": {}
@@ -11,14 +11,13 @@ env:
11
11
 
12
12
  jobs:
13
13
  lint:
14
- name: Lint
15
14
  runs-on: ubuntu-latest
15
+ timeout-minutes: 5
16
+ permissions:
17
+ contents: read
16
18
  steps:
17
- - name: Checkout
18
- uses: actions/checkout@v5
19
-
20
- - name: Set up uv
21
- uses: astral-sh/setup-uv@v6
19
+ - uses: actions/checkout@v5
20
+ - uses: astral-sh/setup-uv@v7
22
21
  with:
23
22
  version: latest
24
23
  enable-cache: true
@@ -34,8 +33,9 @@ jobs:
34
33
  if: always()
35
34
 
36
35
  test:
37
- name: Test (Python ${{ matrix.python-version }})
36
+ name: test (py${{ matrix.python-version }})
38
37
  runs-on: ubuntu-latest
38
+ timeout-minutes: 5
39
39
  permissions:
40
40
  contents: read
41
41
  id-token: write
@@ -45,11 +45,8 @@ jobs:
45
45
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
46
46
 
47
47
  steps:
48
- - name: Checkout
49
- uses: actions/checkout@v5
50
-
51
- - name: Set up uv
52
- uses: astral-sh/setup-uv@v6
48
+ - uses: actions/checkout@v5
49
+ - uses: astral-sh/setup-uv@v7
53
50
  with:
54
51
  version: latest
55
52
  enable-cache: true
@@ -0,0 +1,51 @@
1
+ name: Prepare Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ tag:
7
+ description: Semver-style tag for release (e.g., v1.0.0)
8
+ required: true
9
+
10
+ jobs:
11
+ create-pr:
12
+ runs-on: ubuntu-latest
13
+ timeout-minutes: 5
14
+ permissions:
15
+ contents: write
16
+ pull-requests: write
17
+ steps:
18
+ - name: Check tag format
19
+ run: |
20
+ if [[ ! "${{ inputs.tag }}" =~ ^v ]]; then
21
+ echo "Tag must start with 'v'"
22
+ exit 1
23
+ fi
24
+
25
+ - uses: actions/checkout@v5
26
+ - uses: astral-sh/setup-uv@v7
27
+ with:
28
+ version: latest
29
+ enable-cache: true
30
+
31
+ - name: Set version
32
+ run: |
33
+ tag="${{ inputs.tag }}"
34
+ tag_no_v="${tag#v}"
35
+ uv version "${tag#v}"
36
+
37
+ - name: Generate GitHub App token
38
+ uses: actions/create-github-app-token@v2
39
+ id: generate-token
40
+ with:
41
+ app-id: ${{ vars.GH_APP_ID }}
42
+ private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
43
+
44
+ - name: Create pull request
45
+ uses: peter-evans/create-pull-request@v7.0.8
46
+ with:
47
+ token: ${{ steps.generate-token.outputs.token }}
48
+ sign-commits: true
49
+ title: Release ${{ inputs.tag }}
50
+ branch: release/${{ inputs.tag }}
51
+ delete-branch: true
@@ -1,24 +1,21 @@
1
1
  name: Release
2
2
 
3
3
  on:
4
- push:
5
- tags: [v*]
4
+ release:
5
+ types: [published]
6
6
 
7
7
  env:
8
8
  UV_FROZEN: 1
9
9
 
10
10
  jobs:
11
11
  release:
12
- name: Release
13
12
  runs-on: ubuntu-latest
13
+ timeout-minutes: 5
14
14
  permissions:
15
15
  contents: write
16
16
  steps:
17
- - name: Checkout
18
- uses: actions/checkout@v5
19
-
20
- - name: Set up uv
21
- uses: astral-sh/setup-uv@v6
17
+ - uses: actions/checkout@v5
18
+ - uses: astral-sh/setup-uv@v7
22
19
  with:
23
20
  version: latest
24
21
  enable-cache: true
@@ -30,31 +27,39 @@ jobs:
30
27
  run: uv build
31
28
 
32
29
  - name: Create release
33
- uses: softprops/action-gh-release@v2
30
+ uses: softprops/action-gh-release@v2.4.1
34
31
  with:
32
+ tag_name: ${{ github.event.release.tag_name }}
35
33
  generate_release_notes: true
36
34
  files: dist/*
37
35
 
36
+ - name: Show files
37
+ run: ls -l --all --recursive dist
38
+
38
39
  - name: Upload release distributions
39
- uses: actions/upload-artifact@v4
40
+ uses: actions/upload-artifact@v5
40
41
  with:
41
42
  name: release-dists
42
43
  path: dist/
43
44
 
44
45
  publish-pypi:
45
- name: Publish to PyPI
46
+ needs: release
46
47
  runs-on: ubuntu-latest
47
- needs:
48
- - release
48
+ environment: pypi
49
+ timeout-minutes: 5
49
50
  permissions:
50
51
  id-token: write
51
- environment: pypi
52
52
  steps:
53
- - name: Retrieve release distributions
54
- uses: actions/download-artifact@v5
53
+ - name: Download release distributions
54
+ uses: actions/download-artifact@v6
55
55
  with:
56
56
  name: release-dists
57
57
  path: dist/
58
58
 
59
+ - name: Show artifacts
60
+ run: ls -l --all --recursive dist
61
+
59
62
  - name: Publish release distributions to PyPI
60
63
  uses: pypa/gh-action-pypi-publish@release/v1
64
+ with:
65
+ skip-existing: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-fixedwidth
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: Custom Pydantic models for parsing and serializing fixed-width format of data.
5
5
  Project-URL: Homepage, https://github.com/lasuillard/pydantic-fixedwidth
6
6
  Project-URL: Repository, https://github.com/lasuillard/pydantic-fixedwidth.git
@@ -14,8 +14,7 @@ Description-Content-Type: text/markdown
14
14
  # pydantic-fixedwidth
15
15
 
16
16
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
17
- [![CI](https://github.com/lasuillard/pydantic-fixedwidth/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/pydantic-fixedwidth/actions/workflows/ci.yaml)
18
- [![codecov](https://codecov.io/gh/lasuillard/pydantic-fixedwidth/graph/badge.svg?token=R5pQWB43DP)](https://codecov.io/gh/lasuillard/pydantic-fixedwidth)
17
+ [![codecov](https://codecov.io/gh/lasuillard-s/pydantic-fixedwidth/graph/badge.svg?token=R5pQWB43DP)](https://codecov.io/gh/lasuillard-s/pydantic-fixedwidth)
19
18
  [![PyPI - Version](https://img.shields.io/pypi/v/pydantic-fixedwidth)](https://pypi.org/project/pydantic-fixedwidth/)
20
19
 
21
20
  Custom Pydantic models for serializing and deserializing fixed-width format data.
@@ -1,8 +1,7 @@
1
1
  # pydantic-fixedwidth
2
2
 
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
- [![CI](https://github.com/lasuillard/pydantic-fixedwidth/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/pydantic-fixedwidth/actions/workflows/ci.yaml)
5
- [![codecov](https://codecov.io/gh/lasuillard/pydantic-fixedwidth/graph/badge.svg?token=R5pQWB43DP)](https://codecov.io/gh/lasuillard/pydantic-fixedwidth)
4
+ [![codecov](https://codecov.io/gh/lasuillard-s/pydantic-fixedwidth/graph/badge.svg?token=R5pQWB43DP)](https://codecov.io/gh/lasuillard-s/pydantic-fixedwidth)
6
5
  [![PyPI - Version](https://img.shields.io/pypi/v/pydantic-fixedwidth)](https://pypi.org/project/pydantic-fixedwidth/)
7
6
 
8
7
  Custom Pydantic models for serializing and deserializing fixed-width format data.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pydantic-fixedwidth"
3
- version = "0.2.1"
3
+ version = "0.2.2"
4
4
  description = "Custom Pydantic models for parsing and serializing fixed-width format of data."
5
5
  readme = "README.md"
6
6
  license = "MIT"