coderpad-py 2026.3.29.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 (46) hide show
  1. coderpad_py-2026.3.29.1/.git_archival.txt +1 -0
  2. coderpad_py-2026.3.29.1/.gitattributes +2 -0
  3. coderpad_py-2026.3.29.1/.github/dependabot.yml +14 -0
  4. coderpad_py-2026.3.29.1/.github/workflows/ci.yml +52 -0
  5. coderpad_py-2026.3.29.1/.github/workflows/dependabot-merge.yml +19 -0
  6. coderpad_py-2026.3.29.1/.github/workflows/lint.yml +59 -0
  7. coderpad_py-2026.3.29.1/.github/workflows/publish-site.yml +28 -0
  8. coderpad_py-2026.3.29.1/.github/workflows/release.yml +115 -0
  9. coderpad_py-2026.3.29.1/.gitignore +109 -0
  10. coderpad_py-2026.3.29.1/.pre-commit-config.yaml +408 -0
  11. coderpad_py-2026.3.29.1/.prettierrc +11 -0
  12. coderpad_py-2026.3.29.1/.vscode/extensions.json +6 -0
  13. coderpad_py-2026.3.29.1/.vscode/settings.json +15 -0
  14. coderpad_py-2026.3.29.1/CHANGELOG.rst +12 -0
  15. coderpad_py-2026.3.29.1/LICENSE +21 -0
  16. coderpad_py-2026.3.29.1/PKG-INFO +101 -0
  17. coderpad_py-2026.3.29.1/README.rst +36 -0
  18. coderpad_py-2026.3.29.1/conftest.py +30 -0
  19. coderpad_py-2026.3.29.1/docs/source/__init__.py +1 -0
  20. coderpad_py-2026.3.29.1/docs/source/api-reference.rst +10 -0
  21. coderpad_py-2026.3.29.1/docs/source/changelog.rst +1 -0
  22. coderpad_py-2026.3.29.1/docs/source/conf.py +94 -0
  23. coderpad_py-2026.3.29.1/docs/source/contributing.rst +79 -0
  24. coderpad_py-2026.3.29.1/docs/source/index.rst +28 -0
  25. coderpad_py-2026.3.29.1/docs/source/openapi-spec.rst +11 -0
  26. coderpad_py-2026.3.29.1/docs/source/release-process.rst +22 -0
  27. coderpad_py-2026.3.29.1/openapi.json +4810 -0
  28. coderpad_py-2026.3.29.1/pyproject.toml +377 -0
  29. coderpad_py-2026.3.29.1/setup.cfg +4 -0
  30. coderpad_py-2026.3.29.1/spelling_private_dict.txt +43 -0
  31. coderpad_py-2026.3.29.1/src/coderpad_api/__init__.py +1 -0
  32. coderpad_py-2026.3.29.1/src/coderpad_api/_dict_types.py +170 -0
  33. coderpad_py-2026.3.29.1/src/coderpad_api/client.py +560 -0
  34. coderpad_py-2026.3.29.1/src/coderpad_api/py.typed +0 -0
  35. coderpad_py-2026.3.29.1/src/coderpad_api/types.py +602 -0
  36. coderpad_py-2026.3.29.1/src/coderpad_py.egg-info/PKG-INFO +101 -0
  37. coderpad_py-2026.3.29.1/src/coderpad_py.egg-info/SOURCES.txt +44 -0
  38. coderpad_py-2026.3.29.1/src/coderpad_py.egg-info/dependency_links.txt +1 -0
  39. coderpad_py-2026.3.29.1/src/coderpad_py.egg-info/not-zip-safe +1 -0
  40. coderpad_py-2026.3.29.1/src/coderpad_py.egg-info/requires.txt +46 -0
  41. coderpad_py-2026.3.29.1/src/coderpad_py.egg-info/top_level.txt +1 -0
  42. coderpad_py-2026.3.29.1/tests/__init__.py +1 -0
  43. coderpad_py-2026.3.29.1/tests/conftest.py +53 -0
  44. coderpad_py-2026.3.29.1/tests/test_client.py +402 -0
  45. coderpad_py-2026.3.29.1/tests/test_types.py +446 -0
  46. coderpad_py-2026.3.29.1/zizmor.yml +10 -0
@@ -0,0 +1 @@
1
+ ref-names: $Format:%D$
@@ -0,0 +1,2 @@
1
+ .git_archival.txt export-subst
2
+ * text=auto eol=lf
@@ -0,0 +1,14 @@
1
+ ---
2
+ version: 2
3
+
4
+ updates:
5
+ - package-ecosystem: pip
6
+ directory: /
7
+ schedule:
8
+ interval: daily
9
+ open-pull-requests-limit: 10
10
+ - package-ecosystem: github-actions
11
+ directory: /
12
+ schedule:
13
+ interval: daily
14
+ open-pull-requests-limit: 10
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: Test
3
+
4
+ on:
5
+ push:
6
+ branches: [main]
7
+ pull_request:
8
+ branches: [main]
9
+ schedule:
10
+ # * is a special character in YAML so you have to quote this string
11
+ # Run at 1:00 every day
12
+ - cron: 0 1 * * *
13
+
14
+ permissions: {}
15
+
16
+ jobs:
17
+ build:
18
+ strategy:
19
+ matrix:
20
+ python-version: ['3.13', '3.14']
21
+ platform: [ubuntu-latest, windows-latest]
22
+
23
+ runs-on: ${{ matrix.platform }}
24
+
25
+ steps:
26
+ - uses: actions/checkout@v6
27
+ with:
28
+ persist-credentials: false
29
+
30
+ - name: Install uv
31
+ uses: astral-sh/setup-uv@v7
32
+ with:
33
+ enable-cache: true
34
+ cache-dependency-glob: '**/pyproject.toml'
35
+
36
+ - name: Run tests
37
+ run: |
38
+ # We run tests against "." and not the tests directory as we test the README
39
+ # and documentation.
40
+ uv run --extra=dev --python=${{ matrix.python-version }} pytest -s -vvv --cov-fail-under 100 --cov=src/ --cov=tests/ .
41
+
42
+ completion-ci:
43
+ needs: build
44
+ runs-on: ubuntu-latest
45
+ if: always() # Run even if one matrix job fails
46
+ steps:
47
+ - name: Check matrix job status
48
+ run: |-
49
+ if ! ${{ needs.build.result == 'success' }}; then
50
+ echo "One or more matrix jobs failed"
51
+ exit 1
52
+ fi
@@ -0,0 +1,19 @@
1
+ ---
2
+
3
+ name: Dependabot auto-merge
4
+ on: pull_request
5
+
6
+ permissions:
7
+ contents: write
8
+ pull-requests: write
9
+
10
+ jobs:
11
+ dependabot:
12
+ runs-on: ubuntu-latest
13
+ if: github.event.pull_request.user.login == 'dependabot[bot]'
14
+ steps:
15
+ - name: Enable auto-merge for Dependabot PRs
16
+ run: gh pr merge --auto --merge "$PR_URL"
17
+ env:
18
+ PR_URL: ${{github.event.pull_request.html_url}}
19
+ GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: Lint
3
+
4
+ on:
5
+ push:
6
+ branches: [main]
7
+ pull_request:
8
+ branches: [main]
9
+ schedule:
10
+ # * is a special character in YAML so you have to quote this string
11
+ # Run at 1:00 every day
12
+ - cron: 0 1 * * *
13
+
14
+ permissions: {}
15
+
16
+ jobs:
17
+ build:
18
+ strategy:
19
+ matrix:
20
+ python-version: ['3.13']
21
+ platform: [ubuntu-latest, windows-latest]
22
+ hook-stage: [pre-commit, pre-push, manual]
23
+
24
+ runs-on: ${{ matrix.platform }}
25
+
26
+ steps:
27
+ - uses: actions/checkout@v6
28
+ with:
29
+ persist-credentials: false
30
+
31
+ - name: Install uv
32
+ uses: astral-sh/setup-uv@v7
33
+ with:
34
+ enable-cache: true
35
+ cache-dependency-glob: '**/pyproject.toml'
36
+
37
+ - name: Lint
38
+ # Use bash to ensure the step fails if any command fails.
39
+ # PowerShell does not fail on intermediate command failures by default.
40
+ shell: bash
41
+ run: uv run --extra=dev prek run --all-files --hook-stage ${{ matrix.hook-stage }}
42
+ --verbose
43
+ env:
44
+ UV_PYTHON: ${{ matrix.python-version }}
45
+
46
+ - uses: pre-commit-ci/lite-action@v1.1.0
47
+ if: always()
48
+
49
+ completion-lint:
50
+ needs: build
51
+ runs-on: ubuntu-latest
52
+ if: always() # Run even if one matrix job fails
53
+ steps:
54
+ - name: Check matrix job status
55
+ run: |-
56
+ if ! ${{ needs.build.result == 'success' }}; then
57
+ echo "One or more matrix jobs failed"
58
+ exit 1
59
+ fi
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: Deploy documentation
3
+
4
+ on:
5
+ push:
6
+ branches: [main]
7
+ pull_request:
8
+ branches: [main]
9
+
10
+ jobs:
11
+ pages:
12
+ runs-on: ubuntu-latest
13
+ environment:
14
+ name: ${{ github.ref_name == 'main' && 'github-pages' || 'development' }}
15
+ url: ${{ steps.deployment.outputs.page_url }}
16
+ permissions:
17
+ pages: write
18
+ id-token: write
19
+ steps:
20
+ - id: deployment
21
+ uses: sphinx-notes/pages@v3
22
+ with:
23
+ documentation_path: docs/source
24
+ pyproject_extras: dev
25
+ python_version: '3.13'
26
+ sphinx_build_options: -W
27
+ cache: true
28
+ publish: ${{ github.ref_name == 'main' }}
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: Release
3
+
4
+ on: workflow_dispatch
5
+
6
+ jobs:
7
+ build:
8
+ name: Publish a release
9
+ runs-on: ubuntu-latest
10
+
11
+ # Specifying an environment is strongly recommended by PyPI.
12
+ # See https://github.com/pypa/gh-action-pypi-publish/tree/release/v1/?tab=readme-ov-file#trusted-publishing.
13
+ environment: release
14
+
15
+ permissions:
16
+ # This is needed for PyPI publishing.
17
+ # See https://github.com/pypa/gh-action-pypi-publish/tree/release/v1/?tab=readme-ov-file#trusted-publishing.
18
+ id-token: write
19
+ # This is needed for https://github.com/stefanzweifel/git-auto-commit-action.
20
+ contents: write
21
+
22
+ steps:
23
+ - uses: actions/checkout@v6
24
+ with: # zizmor: ignore[artipacked] git-auto-commit-action requires credentials
25
+ # See
26
+ # https://github.com/stefanzweifel/git-auto-commit-action?tab=readme-ov-file#push-to-protected-branches
27
+ token: ${{ secrets.RELEASE_PAT }}
28
+ # Fetch all history including tags.
29
+ # Needed to find the latest tag.
30
+ #
31
+ # Also, avoids
32
+ # https://github.com/stefanzweifel/git-auto-commit-action/issues/99.
33
+ fetch-depth: 0
34
+
35
+ - name: Install uv
36
+ uses: astral-sh/setup-uv@v7
37
+ with:
38
+ enable-cache: true
39
+ cache-dependency-glob: '**/pyproject.toml'
40
+
41
+ - name: Calver calculate version
42
+ uses: StephaneBour/actions-calver@master
43
+ id: calver
44
+ with:
45
+ date_format: '%Y.%m.%d'
46
+ release: false
47
+ env:
48
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49
+
50
+ - name: Get the changelog underline
51
+ id: changelog_underline
52
+ env:
53
+ RELEASE: ${{ steps.calver.outputs.release }}
54
+ run: |
55
+ underline="$(echo "$RELEASE" | tr -c '\n' '-')"
56
+ echo "underline=${underline}" >> "$GITHUB_OUTPUT"
57
+
58
+ - name: Update changelog
59
+ id: update_changelog
60
+ uses: jacobtomlinson/gha-find-replace@v3
61
+ with:
62
+ find: "Next\n----"
63
+ replace: "Next\n----\n\n${{ steps.calver.outputs.release }}\n${{ steps.changelog_underline.outputs.underline\
64
+ \ }}\n"
65
+ include: CHANGELOG.rst
66
+ regex: false
67
+
68
+ - name: Check Update changelog was modified
69
+ env:
70
+ MODIFIED_FILES: ${{ steps.update_changelog.outputs.modifiedFiles }}
71
+ run: |
72
+ if [ "$MODIFIED_FILES" = "0" ]; then
73
+ echo "Error: No files were modified when updating changelog"
74
+ exit 1
75
+ fi
76
+ - uses: stefanzweifel/git-auto-commit-action@v7
77
+ id: commit
78
+ with:
79
+ commit_message: Bump CHANGELOG
80
+ file_pattern: CHANGELOG.rst
81
+ # Error if there are no changes.
82
+ skip_dirty_check: true
83
+
84
+ - name: Bump version and push tag
85
+ id: tag_version
86
+ uses: mathieudutour/github-tag-action@v6.2
87
+ with:
88
+ github_token: ${{ secrets.GITHUB_TOKEN }}
89
+ custom_tag: ${{ steps.calver.outputs.release }}
90
+ tag_prefix: ''
91
+ commit_sha: ${{ steps.commit.outputs.commit_hash }}
92
+
93
+ - name: Create a GitHub release
94
+ uses: ncipollo/release-action@v1
95
+ with:
96
+ tag: ${{ steps.tag_version.outputs.new_tag }}
97
+ makeLatest: true
98
+ name: Release ${{ steps.tag_version.outputs.new_tag }}
99
+ body: ${{ steps.tag_version.outputs.changelog }}
100
+
101
+ - name: Build a binary wheel and a source tarball
102
+ env:
103
+ NEW_TAG: ${{ steps.tag_version.outputs.new_tag }}
104
+ run: |
105
+ git fetch --tags
106
+ git checkout "$NEW_TAG"
107
+ uv build --sdist --wheel --out-dir dist/
108
+ uv run --extra=release check-wheel-contents dist/*.whl
109
+
110
+ - name: Publish distribution to PyPI
111
+ # We use PyPI trusted publishing rather than a PyPI API token.
112
+ # See https://github.com/pypa/gh-action-pypi-publish/tree/release/v1/?tab=readme-ov-file#trusted-publishing.
113
+ uses: pypa/gh-action-pypi-publish@release/v1
114
+ with:
115
+ verbose: true
@@ -0,0 +1,109 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+
28
+ # PyInstaller
29
+ # Usually these files are written by a python script from a template
30
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
31
+ *.manifest
32
+ *.spec
33
+
34
+ # Installer logs
35
+ pip-log.txt
36
+ pip-delete-this-directory.txt
37
+
38
+ # Unit test / coverage reports
39
+ htmlcov/
40
+ .tox/
41
+ .coverage
42
+ .coverage.*
43
+ .cache
44
+ nosetests.xml
45
+ coverage.xml
46
+ *,cover
47
+ .hypothesis/
48
+
49
+ # Translations
50
+ *.mo
51
+ *.pot
52
+
53
+ # Django stuff:
54
+ *.log
55
+ local_settings.py
56
+
57
+ # Flask stuff:
58
+ instance/
59
+ .webassets-cache
60
+
61
+ # Scrapy stuff:
62
+ .scrapy
63
+
64
+ # Sphinx documentation
65
+ docs/_build/
66
+
67
+ # PyBuilder
68
+ target/
69
+
70
+ # Jupyter Notebook
71
+ .ipynb_checkpoints
72
+
73
+ # pyenv
74
+ .python-version
75
+
76
+ # celery beat schedule file
77
+ celerybeat-schedule
78
+
79
+ # dotenv
80
+ .env
81
+
82
+ # virtualenv
83
+ .venv/
84
+ venv/
85
+ ENV/
86
+
87
+ # Spyder project settings
88
+ .spyderproject
89
+
90
+ # Rope project settings
91
+ .ropeproject
92
+
93
+ # mypy
94
+ .mypy_cache/
95
+
96
+ # Ignore Mac DS_Store files
97
+ .DS_Store
98
+ **/.DS_Store
99
+
100
+ # pyre
101
+ .pyre/
102
+
103
+ # pytest
104
+ .pytest_cache/
105
+
106
+ # setuptools_scm
107
+ src/*/_setuptools_scm_version.txt
108
+
109
+ uv.lock