fastapi-csp-docs 0.1.1__tar.gz → 0.1.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 (91) hide show
  1. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/pre-commit.yml +2 -0
  2. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/test-redistribute.yml +1 -0
  3. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/test.yml +48 -24
  4. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/LICENSE +1 -1
  5. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/PKG-INFO +2 -1
  6. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/README.md +1 -0
  7. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/RELEASE_NOTES.md +6 -0
  8. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/fastapi_csp_docs/__init__.py +1 -1
  9. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/dependabot.yml +0 -0
  10. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/labeler.yml +0 -0
  11. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/create-draft-release.yml +0 -0
  12. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/detect-conflicts.yml +0 -0
  13. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/guard-dependencies.yml +0 -0
  14. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/labeler.yml +0 -0
  15. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/latest-changes.yml +0 -0
  16. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/prepare-release.yml +0 -0
  17. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/publish.yml +0 -0
  18. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.github/workflows/zizmor.yml +0 -0
  19. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.gitignore +0 -0
  20. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.pre-commit-config.yaml +0 -0
  21. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/.python-version +0 -0
  22. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/__init__.py +0 -0
  23. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/_csp.py +0 -0
  24. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/assisted_app.py +0 -0
  25. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/mounted_subapp_app.py +0 -0
  26. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/oauth2_redirect_app.py +0 -0
  27. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/redoc_disable_search_app.py +0 -0
  28. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/root_path_app.py +0 -0
  29. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/self_hosted_app.py +0 -0
  30. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/favicon.png +0 -0
  31. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-cyrillic-300-normal.woff2 +0 -0
  32. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-cyrillic-400-normal.woff2 +0 -0
  33. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-cyrillic-700-normal.woff2 +0 -0
  34. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-cyrillic-ext-300-normal.woff2 +0 -0
  35. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-cyrillic-ext-400-normal.woff2 +0 -0
  36. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-cyrillic-ext-700-normal.woff2 +0 -0
  37. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-latin-300-normal.woff2 +0 -0
  38. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-latin-400-normal.woff2 +0 -0
  39. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-latin-700-normal.woff2 +0 -0
  40. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-latin-ext-300-normal.woff2 +0 -0
  41. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-latin-ext-400-normal.woff2 +0 -0
  42. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-latin-ext-700-normal.woff2 +0 -0
  43. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-vietnamese-300-normal.woff2 +0 -0
  44. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-vietnamese-400-normal.woff2 +0 -0
  45. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/montserrat-vietnamese-700-normal.woff2 +0 -0
  46. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-cyrillic-300-normal.woff2 +0 -0
  47. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-cyrillic-400-normal.woff2 +0 -0
  48. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-cyrillic-700-normal.woff2 +0 -0
  49. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-cyrillic-ext-300-normal.woff2 +0 -0
  50. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-cyrillic-ext-400-normal.woff2 +0 -0
  51. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-cyrillic-ext-700-normal.woff2 +0 -0
  52. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-greek-300-normal.woff2 +0 -0
  53. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-greek-400-normal.woff2 +0 -0
  54. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-greek-700-normal.woff2 +0 -0
  55. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-greek-ext-300-normal.woff2 +0 -0
  56. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-greek-ext-400-normal.woff2 +0 -0
  57. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-greek-ext-700-normal.woff2 +0 -0
  58. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-latin-300-normal.woff2 +0 -0
  59. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-latin-400-normal.woff2 +0 -0
  60. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-latin-700-normal.woff2 +0 -0
  61. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-latin-ext-300-normal.woff2 +0 -0
  62. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-latin-ext-400-normal.woff2 +0 -0
  63. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-latin-ext-700-normal.woff2 +0 -0
  64. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-math-300-normal.woff2 +0 -0
  65. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-math-400-normal.woff2 +0 -0
  66. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-math-700-normal.woff2 +0 -0
  67. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-symbols-300-normal.woff2 +0 -0
  68. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-symbols-400-normal.woff2 +0 -0
  69. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-symbols-700-normal.woff2 +0 -0
  70. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-vietnamese-300-normal.woff2 +0 -0
  71. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-vietnamese-400-normal.woff2 +0 -0
  72. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts/roboto-vietnamese-700-normal.woff2 +0 -0
  73. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/fonts.css +0 -0
  74. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/redoc.standalone.js +0 -0
  75. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/swagger-ui-bundle.js +0 -0
  76. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/examples/static/swagger-ui.css +0 -0
  77. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/fastapi_csp_docs/docs.py +0 -0
  78. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/fastapi_csp_docs/py.typed +0 -0
  79. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/fastapi_csp_docs/setup.py +0 -0
  80. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/pyproject.toml +0 -0
  81. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/scripts/format.sh +0 -0
  82. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/scripts/lint.sh +0 -0
  83. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/scripts/prepare_release.py +0 -0
  84. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/scripts/test-cov-html.sh +0 -0
  85. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/scripts/test-cov.sh +0 -0
  86. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/scripts/test.sh +0 -0
  87. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/tests/__init__.py +0 -0
  88. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/tests/test_docs.py +0 -0
  89. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/tests/test_prepare_release.py +0 -0
  90. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/tests/test_setup.py +0 -0
  91. {fastapi_csp_docs-0.1.1 → fastapi_csp_docs-0.1.2}/uv.lock +0 -0
@@ -32,6 +32,8 @@ jobs:
32
32
  - name: Setup uv
33
33
  uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
34
34
  with:
35
+ # Before upgrading uv version, make sure astral-sh/setup-uv knows its checksum.
36
+ # See: https://github.com/astral-sh/setup-uv/issues/851#issuecomment-4282017837
35
37
  version: "0.11.18"
36
38
  cache-dependency-glob: |
37
39
  pyproject.toml
@@ -12,6 +12,7 @@ jobs:
12
12
  changes:
13
13
  runs-on: ubuntu-latest
14
14
  permissions:
15
+ contents: read
15
16
  pull-requests: read
16
17
  timeout-minutes: 5
17
18
  outputs:
@@ -6,9 +6,10 @@ on:
6
6
  - main
7
7
  pull_request:
8
8
  schedule:
9
+ # cron every week on monday
9
10
  - cron: "0 0 * * 1"
10
11
 
11
- permissions: { }
12
+ permissions: {}
12
13
 
13
14
  env:
14
15
  UV_NO_SYNC: true
@@ -16,27 +17,31 @@ env:
16
17
  jobs:
17
18
  changes:
18
19
  runs-on: ubuntu-latest
20
+ # Required permissions
19
21
  permissions:
22
+ contents: read
20
23
  pull-requests: read
21
24
  timeout-minutes: 5
25
+ # Set job outputs to values from filter step
22
26
  outputs:
23
27
  src: ${{ steps.filter.outputs.src }}
24
28
  steps:
25
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
26
- with:
27
- persist-credentials: false
28
- - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
29
- id: filter
30
- with:
31
- filters: |
32
- src:
33
- - .github/workflows/test.yml
34
- - fastapi_csp_docs/**
35
- - scripts/**
36
- - tests/**
37
- - .python-version
38
- - pyproject.toml
39
- - uv.lock
29
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
30
+ with:
31
+ persist-credentials: false
32
+ # For pull requests it's not necessary to checkout the code but for the main branch it is
33
+ - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
34
+ id: filter
35
+ with:
36
+ filters: |
37
+ src:
38
+ - .github/workflows/test.yml
39
+ - fastapi_csp_docs/**
40
+ - scripts/**
41
+ - tests/**
42
+ - .python-version
43
+ - pyproject.toml
44
+ - uv.lock
40
45
 
41
46
  test:
42
47
  needs:
@@ -79,14 +84,16 @@ jobs:
79
84
  - name: Setup uv
80
85
  uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
81
86
  with:
87
+ # Before upgrading uv version, make sure astral-sh/setup-uv knows its checksum.
88
+ # See: https://github.com/astral-sh/setup-uv/issues/851#issuecomment-4282017837
82
89
  version: "0.11.18"
83
90
  enable-cache: true
84
- cache-suffix: ${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.uv-resolution }}-fa${{ matrix.fastapi-version }}
91
+ cache-suffix: ${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
85
92
  cache-dependency-glob: |
86
93
  pyproject.toml
87
94
  uv.lock
88
95
 
89
- - name: Install dependencies
96
+ - name: Install Dependencies
90
97
  run: uv sync
91
98
 
92
99
  - name: Override FastAPI version
@@ -97,17 +104,16 @@ jobs:
97
104
  run: mkdir coverage
98
105
 
99
106
  - name: Test
100
- # GitHub Windows runners ship bash natively
101
107
  run: uv run --no-sync bash scripts/test-cov.sh
102
108
  env:
103
- COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
104
- CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
109
+ COVERAGE_FILE: coverage/.coverage.py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
110
+ CONTEXT: py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
105
111
 
106
112
  - name: Store coverage files
107
113
  if: matrix.coverage == 'coverage'
108
114
  uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
109
115
  with:
110
- name: coverage-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.fastapi-version }}
116
+ name: coverage-${{ matrix.python-version }}-${{ matrix.fastapi-version }}
111
117
  path: coverage
112
118
  include-hidden-files: true
113
119
 
@@ -119,6 +125,11 @@ jobs:
119
125
  permissions:
120
126
  contents: read
121
127
  steps:
128
+ - name: Dump GitHub context
129
+ env:
130
+ GITHUB_CONTEXT: ${{ toJson(github) }}
131
+ run: echo "$GITHUB_CONTEXT"
132
+
122
133
  - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
123
134
  with:
124
135
  persist-credentials: false
@@ -126,6 +137,8 @@ jobs:
126
137
  - name: Setup uv
127
138
  uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
128
139
  with:
140
+ # Before upgrading uv version, make sure astral-sh/setup-uv knows its checksum.
141
+ # See: https://github.com/astral-sh/setup-uv/issues/851#issuecomment-4282017837
129
142
  version: "0.11.18"
130
143
  enable-cache: true
131
144
  cache-dependency-glob: |
@@ -145,6 +158,7 @@ jobs:
145
158
  - run: ls -la coverage
146
159
  - run: uv run coverage combine coverage
147
160
  - run: uv run coverage html --title "Coverage for ${{ github.sha }}"
161
+ - run: uv run coverage xml
148
162
 
149
163
  - name: Store coverage HTML
150
164
  uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -153,18 +167,28 @@ jobs:
153
167
  path: htmlcov
154
168
  include-hidden-files: true
155
169
 
170
+ - name: Upload coverage to Codecov
171
+ uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
172
+ with:
173
+ token: ${{ secrets.CODECOV_TOKEN }}
174
+ files: coverage.xml
175
+ fail_ci_if_error: true
176
+
156
177
  - run: uv run coverage report --fail-under=100
157
178
 
158
179
  # https://github.com/marketplace/actions/alls-green#why
159
- test-alls-green: # This job does nothing and is only used for the branch protection
180
+ test-alls-green: # This job does nothing and is only used for the branch protection
160
181
  if: always()
161
182
  needs:
162
183
  - test
163
184
  - coverage-combine
164
185
  runs-on: ubuntu-latest
165
186
  timeout-minutes: 5
166
- permissions: { }
167
187
  steps:
188
+ - name: Dump GitHub context
189
+ env:
190
+ GITHUB_CONTEXT: ${{ toJson(github) }}
191
+ run: echo "$GITHUB_CONTEXT"
168
192
  - name: Decide whether the needed jobs succeeded or failed
169
193
  uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
170
194
  with:
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2018 Sebastián Ramírez
3
+ Copyright (c) 2026 Matteo Nieddu
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-csp-docs
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: CSP-safe replacements for FastAPI's built-in /docs, /redoc, and OAuth2 redirect endpoints, with no inline script or style
5
5
  Project-URL: Homepage, https://github.com/mat81black/fastapi-csp-docs
6
6
  Project-URL: Repository, https://github.com/mat81black/fastapi-csp-docs
@@ -32,6 +32,7 @@ Description-Content-Type: text/markdown
32
32
  # FastAPI CSP Docs
33
33
 
34
34
  [![Build Status](https://github.com/mat81black/fastapi-csp-docs/workflows/Test/badge.svg)](https://github.com/mat81black/fastapi-csp-docs/actions)
35
+ [![codecov](https://codecov.io/gh/mat81black/fastapi-csp-docs/graph/badge.svg)](https://codecov.io/gh/mat81black/fastapi-csp-docs)
35
36
  [![Package version](https://badge.fury.io/py/fastapi-csp-docs.svg)](https://pypi.org/project/fastapi-csp-docs/)
36
37
  [![Supported Python versions](https://img.shields.io/pypi/pyversions/fastapi-csp-docs.svg?color=%2334D058)](https://pypi.org/project/fastapi-csp-docs/)
37
38
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
@@ -1,6 +1,7 @@
1
1
  # FastAPI CSP Docs
2
2
 
3
3
  [![Build Status](https://github.com/mat81black/fastapi-csp-docs/workflows/Test/badge.svg)](https://github.com/mat81black/fastapi-csp-docs/actions)
4
+ [![codecov](https://codecov.io/gh/mat81black/fastapi-csp-docs/graph/badge.svg)](https://codecov.io/gh/mat81black/fastapi-csp-docs)
4
5
  [![Package version](https://badge.fury.io/py/fastapi-csp-docs.svg)](https://pypi.org/project/fastapi-csp-docs/)
5
6
  [![Supported Python versions](https://img.shields.io/pypi/pyversions/fastapi-csp-docs.svg?color=%2334D058)](https://pypi.org/project/fastapi-csp-docs/)
6
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Latest Changes
4
4
 
5
+ ## 0.1.2 (2026-07-09)
6
+
7
+ ### Internal
8
+
9
+ * 🔧 Integrate Codecov for coverage tracking and update README. PR [#10](https://github.com/mat81black/fastapi-csp-docs/pull/10) by [@mat81black](https://github.com/mat81black).
10
+
5
11
  ## 0.1.1 (2026-07-08)
6
12
 
7
13
  ### Docs
@@ -8,7 +8,7 @@ from fastapi_csp_docs.docs import (
8
8
  )
9
9
  from fastapi_csp_docs.setup import setup
10
10
 
11
- __version__ = "0.1.1"
11
+ __version__ = "0.1.2"
12
12
 
13
13
  __all__ = [
14
14
  "get_redoc_css",