hypern 0.1.1__tar.gz → 0.3.11__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 (196) hide show
  1. {hypern-0.1.1 → hypern-0.3.11}/.github/workflows/codeql.yml +2 -0
  2. {hypern-0.1.1 → hypern-0.3.11}/.github/workflows/codspeed.yml +3 -3
  3. {hypern-0.1.1 → hypern-0.3.11}/.github/workflows/preview-deployments.yml +48 -1
  4. hypern-0.3.11/.github/workflows/release-CI.yml +143 -0
  5. {hypern-0.1.1 → hypern-0.3.11}/.github/workflows/security-scan.yml +3 -20
  6. hypern-0.3.11/Cargo.lock +3068 -0
  7. hypern-0.3.11/Cargo.toml +50 -0
  8. hypern-0.3.11/PKG-INFO +134 -0
  9. hypern-0.3.11/README.md +106 -0
  10. {hypern-0.1.1 → hypern-0.3.11}/benchmark.sh +2 -2
  11. hypern-0.3.11/docs/background.md +96 -0
  12. hypern-0.3.11/docs/cache.md +111 -0
  13. hypern-0.3.11/docs/database.md +231 -0
  14. hypern-0.3.11/docs/index.md +145 -0
  15. hypern-0.3.11/docs/response.md +101 -0
  16. hypern-0.3.11/docs/schedule.md +118 -0
  17. hypern-0.3.11/docs/websocket.md +283 -0
  18. hypern-0.3.11/hypern/__init__.py +24 -0
  19. hypern-0.3.11/hypern/application.py +495 -0
  20. hypern-0.3.11/hypern/args_parser.py +73 -0
  21. hypern-0.3.11/hypern/caching/__init__.py +6 -0
  22. hypern-0.3.11/hypern/caching/backend.py +31 -0
  23. hypern-0.3.11/hypern/caching/redis_backend.py +201 -0
  24. hypern-0.3.11/hypern/caching/strategies.py +208 -0
  25. {hypern-0.1.1 → hypern-0.3.11}/hypern/config.py +97 -0
  26. hypern-0.3.11/hypern/database/sqlalchemy/__init__.py +4 -0
  27. hypern-0.3.11/hypern/database/sqlalchemy/config.py +66 -0
  28. {hypern-0.1.1/hypern/db/sql → hypern-0.3.11/hypern/database/sqlalchemy}/repository.py +4 -3
  29. hypern-0.3.11/hypern/database/sqlx/__init__.py +36 -0
  30. hypern-0.3.11/hypern/database/sqlx/field.py +246 -0
  31. hypern-0.3.11/hypern/database/sqlx/migrate.py +263 -0
  32. hypern-0.3.11/hypern/database/sqlx/model.py +117 -0
  33. hypern-0.3.11/hypern/database/sqlx/query.py +904 -0
  34. {hypern-0.1.1 → hypern-0.3.11}/hypern/datastructures.py +15 -2
  35. hypern-0.3.11/hypern/exceptions/__init__.py +34 -0
  36. hypern-0.3.11/hypern/exceptions/base.py +62 -0
  37. hypern-0.3.11/hypern/exceptions/common.py +12 -0
  38. hypern-0.3.11/hypern/exceptions/errors.py +15 -0
  39. hypern-0.3.11/hypern/exceptions/formatters.py +56 -0
  40. hypern-0.3.11/hypern/exceptions/http.py +76 -0
  41. hypern-0.3.11/hypern/gateway/__init__.py +6 -0
  42. hypern-0.3.11/hypern/gateway/aggregator.py +32 -0
  43. hypern-0.3.11/hypern/gateway/gateway.py +41 -0
  44. hypern-0.3.11/hypern/gateway/proxy.py +60 -0
  45. hypern-0.3.11/hypern/gateway/service.py +52 -0
  46. hypern-0.3.11/hypern/hypern.pyi +333 -0
  47. hypern-0.3.11/hypern/logging/__init__.py +3 -0
  48. {hypern-0.1.1 → hypern-0.3.11}/hypern/logging/logger.py +13 -22
  49. hypern-0.3.11/hypern/middleware/__init__.py +17 -0
  50. hypern-0.3.11/hypern/middleware/base.py +13 -0
  51. hypern-0.3.11/hypern/middleware/cache.py +177 -0
  52. hypern-0.3.11/hypern/middleware/compress.py +78 -0
  53. {hypern-0.1.1 → hypern-0.3.11}/hypern/middleware/cors.py +6 -3
  54. {hypern-0.1.1 → hypern-0.3.11}/hypern/middleware/limit.py +10 -7
  55. hypern-0.3.11/hypern/middleware/security.py +184 -0
  56. hypern-0.3.11/hypern/openapi/schemas.py +51 -0
  57. hypern-0.3.11/hypern/processpool.py +139 -0
  58. hypern-0.3.11/hypern/reload.py +46 -0
  59. {hypern-0.1.1 → hypern-0.3.11}/hypern/response/response.py +11 -3
  60. hypern-0.3.11/hypern/routing/__init__.py +5 -0
  61. {hypern-0.1.1 → hypern-0.3.11}/hypern/routing/dispatcher.py +18 -13
  62. {hypern-0.1.1 → hypern-0.3.11}/hypern/routing/endpoint.py +7 -4
  63. {hypern-0.1.1 → hypern-0.3.11}/hypern/routing/parser.py +23 -26
  64. hypern-0.3.11/hypern/routing/queue.py +175 -0
  65. hypern-0.1.1/hypern/routing/router.py → hypern-0.3.11/hypern/routing/route.py +72 -71
  66. hypern-0.3.11/hypern/worker.py +274 -0
  67. hypern-0.3.11/hypern/ws/__init__.py +4 -0
  68. hypern-0.3.11/hypern/ws/channel.py +80 -0
  69. hypern-0.3.11/hypern/ws/heartbeat.py +74 -0
  70. hypern-0.3.11/hypern/ws/room.py +76 -0
  71. hypern-0.3.11/hypern/ws/route.py +26 -0
  72. hypern-0.3.11/poetry.lock +2590 -0
  73. {hypern-0.1.1 → hypern-0.3.11}/pyproject.toml +20 -19
  74. {hypern-0.1.1 → hypern-0.3.11}/src/background/background_tasks.rs +1 -1
  75. hypern-0.3.11/src/database/context.rs +38 -0
  76. hypern-0.3.11/src/database/mod.rs +2 -0
  77. hypern-0.3.11/src/database/sql/config.rs +144 -0
  78. hypern-0.3.11/src/database/sql/connection.rs +101 -0
  79. hypern-0.3.11/src/database/sql/db_trait.rs +69 -0
  80. hypern-0.3.11/src/database/sql/mod.rs +7 -0
  81. hypern-0.3.11/src/database/sql/mysql.rs +232 -0
  82. hypern-0.3.11/src/database/sql/postgresql.rs +335 -0
  83. hypern-0.3.11/src/database/sql/sqlite.rs +236 -0
  84. hypern-0.3.11/src/database/sql/transaction.rs +240 -0
  85. hypern-0.3.11/src/di.rs +64 -0
  86. hypern-0.3.11/src/executor.rs +122 -0
  87. hypern-0.3.11/src/instants.rs +26 -0
  88. hypern-0.3.11/src/lib.rs +54 -0
  89. hypern-0.3.11/src/mem_pool.rs +155 -0
  90. hypern-0.3.11/src/middlewares/base.rs +83 -0
  91. hypern-0.3.11/src/middlewares/mod.rs +1 -0
  92. hypern-0.3.11/src/openapi/schemas.rs +69 -0
  93. {hypern-0.1.1 → hypern-0.3.11}/src/openapi/swagger.rs +1 -14
  94. hypern-0.3.11/src/router/mod.rs +2 -0
  95. hypern-0.3.11/src/router/route.rs +112 -0
  96. hypern-0.3.11/src/router/router.rs +237 -0
  97. {hypern-0.1.1 → hypern-0.3.11}/src/scheduler/job.rs +0 -9
  98. {hypern-0.1.1 → hypern-0.3.11}/src/scheduler/scheduler.rs +1 -1
  99. hypern-0.3.11/src/server.rs +527 -0
  100. hypern-0.3.11/src/types/body.rs +10 -0
  101. hypern-0.3.11/src/types/function_info.rs +28 -0
  102. hypern-0.3.11/src/types/header.rs +115 -0
  103. hypern-0.3.11/src/types/http.rs +16 -0
  104. hypern-0.3.11/src/types/middleware.rs +9 -0
  105. hypern-0.3.11/src/types/mod.rs +9 -0
  106. hypern-0.3.11/src/types/query.rs +113 -0
  107. hypern-0.3.11/src/types/request.rs +353 -0
  108. hypern-0.3.11/src/types/response.rs +147 -0
  109. hypern-0.3.11/src/types/url.rs +24 -0
  110. hypern-0.3.11/src/ws/mod.rs +4 -0
  111. hypern-0.3.11/src/ws/route.rs +86 -0
  112. hypern-0.3.11/src/ws/router.rs +165 -0
  113. hypern-0.3.11/src/ws/socket.rs +44 -0
  114. hypern-0.3.11/src/ws/websocket.rs +248 -0
  115. {hypern-0.1.1 → hypern-0.3.11}/tests/conftest.py +2 -4
  116. {hypern-0.1.1 → hypern-0.3.11}/tests/server.py +11 -29
  117. hypern-0.1.1/Cargo.lock +0 -1073
  118. hypern-0.1.1/Cargo.toml +0 -34
  119. hypern-0.1.1/PKG-INFO +0 -123
  120. hypern-0.1.1/README.md +0 -95
  121. hypern-0.1.1/hypern/__init__.py +0 -4
  122. hypern-0.1.1/hypern/application.py +0 -234
  123. hypern-0.1.1/hypern/caching/base/__init__.py +0 -8
  124. hypern-0.1.1/hypern/caching/base/backend.py +0 -3
  125. hypern-0.1.1/hypern/caching/base/key_maker.py +0 -8
  126. hypern-0.1.1/hypern/caching/cache_manager.py +0 -56
  127. hypern-0.1.1/hypern/caching/cache_tag.py +0 -10
  128. hypern-0.1.1/hypern/caching/custom_key_maker.py +0 -11
  129. hypern-0.1.1/hypern/caching/redis_backend.py +0 -3
  130. hypern-0.1.1/hypern/db/nosql/__init__.py +0 -25
  131. hypern-0.1.1/hypern/db/nosql/addons/__init__.py +0 -4
  132. hypern-0.1.1/hypern/db/nosql/addons/color.py +0 -16
  133. hypern-0.1.1/hypern/db/nosql/addons/daterange.py +0 -30
  134. hypern-0.1.1/hypern/db/nosql/addons/encrypted.py +0 -53
  135. hypern-0.1.1/hypern/db/nosql/addons/password.py +0 -134
  136. hypern-0.1.1/hypern/db/nosql/addons/unicode.py +0 -10
  137. hypern-0.1.1/hypern/db/sql/__init__.py +0 -176
  138. hypern-0.1.1/hypern/db/sql/addons/__init__.py +0 -14
  139. hypern-0.1.1/hypern/db/sql/addons/color.py +0 -15
  140. hypern-0.1.1/hypern/db/sql/addons/daterange.py +0 -22
  141. hypern-0.1.1/hypern/db/sql/addons/datetime.py +0 -22
  142. hypern-0.1.1/hypern/db/sql/addons/encrypted.py +0 -58
  143. hypern-0.1.1/hypern/db/sql/addons/password.py +0 -170
  144. hypern-0.1.1/hypern/db/sql/addons/ts_vector.py +0 -46
  145. hypern-0.1.1/hypern/db/sql/addons/unicode.py +0 -15
  146. hypern-0.1.1/hypern/exceptions.py +0 -93
  147. hypern-0.1.1/hypern/hypern.pyi +0 -172
  148. hypern-0.1.1/hypern/logging/__init__.py +0 -3
  149. hypern-0.1.1/hypern/middleware/__init__.py +0 -5
  150. hypern-0.1.1/hypern/middleware/base.py +0 -16
  151. hypern-0.1.1/hypern/openapi/schemas.py +0 -64
  152. hypern-0.1.1/hypern/routing/__init__.py +0 -4
  153. hypern-0.1.1/hypern/security.py +0 -44
  154. hypern-0.1.1/hypern/worker.py +0 -30
  155. hypern-0.1.1/poetry.lock +0 -2301
  156. hypern-0.1.1/src/cache/backend.rs +0 -24
  157. hypern-0.1.1/src/cache/mod.rs +0 -2
  158. hypern-0.1.1/src/cache/redis_backend.rs +0 -37
  159. hypern-0.1.1/src/lib.rs +0 -26
  160. hypern-0.1.1/src/openapi/schemas.rs +0 -53
  161. hypern-0.1.1/src/utils.rs +0 -32
  162. hypern-0.1.1/tests/__init__.py +0 -0
  163. {hypern-0.1.1 → hypern-0.3.11}/.github/dependabot.yml +0 -0
  164. {hypern-0.1.1 → hypern-0.3.11}/.gitignore +0 -0
  165. {hypern-0.1.1 → hypern-0.3.11}/.pre-commit-config.yaml +0 -0
  166. {hypern-0.1.1 → hypern-0.3.11}/CODE_OF_CONDUCT.md +0 -0
  167. {hypern-0.1.1 → hypern-0.3.11}/LICENSE +0 -0
  168. {hypern-0.1.1 → hypern-0.3.11}/SECURITY.md +0 -0
  169. {hypern-0.1.1 → hypern-0.3.11}/hypern/auth/__init__.py +0 -0
  170. {hypern-0.1.1 → hypern-0.3.11}/hypern/auth/authorization.py +0 -0
  171. {hypern-0.1.1 → hypern-0.3.11}/hypern/background.py +0 -0
  172. {hypern-0.1.1/hypern/caching → hypern-0.3.11/hypern/cli}/__init__.py +0 -0
  173. {hypern-0.1.1 → hypern-0.3.11}/hypern/cli/commands.py +0 -0
  174. {hypern-0.1.1/hypern/cli → hypern-0.3.11/hypern/database}/__init__.py +0 -0
  175. {hypern-0.1.1 → hypern-0.3.11}/hypern/enum.py +0 -0
  176. {hypern-0.1.1/hypern/db → hypern-0.3.11/hypern/i18n}/__init__.py +0 -0
  177. {hypern-0.1.1 → hypern-0.3.11}/hypern/middleware/i18n.py +0 -0
  178. {hypern-0.1.1 → hypern-0.3.11}/hypern/openapi/__init__.py +0 -0
  179. {hypern-0.1.1 → hypern-0.3.11}/hypern/openapi/swagger.py +0 -0
  180. {hypern-0.1.1 → hypern-0.3.11}/hypern/py.typed +0 -0
  181. {hypern-0.1.1 → hypern-0.3.11}/hypern/response/__init__.py +0 -0
  182. {hypern-0.1.1 → hypern-0.3.11}/hypern/scheduler.py +0 -0
  183. {hypern-0.1.1 → hypern-0.3.11}/scripts/format.sh +0 -0
  184. {hypern-0.1.1 → hypern-0.3.11}/sonar-project.properties +0 -0
  185. {hypern-0.1.1 → hypern-0.3.11}/src/background/background_task.rs +0 -0
  186. {hypern-0.1.1 → hypern-0.3.11}/src/background/mod.rs +0 -0
  187. {hypern-0.1.1 → hypern-0.3.11}/src/openapi/mod.rs +0 -0
  188. {hypern-0.1.1 → hypern-0.3.11}/src/scheduler/mod.rs +0 -0
  189. {hypern-0.1.1 → hypern-0.3.11}/src/scheduler/retry.rs +0 -0
  190. {hypern-0.1.1/hypern/i18n → hypern-0.3.11/tests}/__init__.py +0 -0
  191. {hypern-0.1.1 → hypern-0.3.11}/tests/test_functional_handler.py +0 -0
  192. {hypern-0.1.1 → hypern-0.3.11}/tests/test_request_file.py +0 -0
  193. {hypern-0.1.1 → hypern-0.3.11}/tests/test_response_type.py +0 -0
  194. {hypern-0.1.1 → hypern-0.3.11}/tests/test_sync_async.py +0 -0
  195. {hypern-0.1.1 → hypern-0.3.11}/tests/test_validate_field.py +0 -0
  196. {hypern-0.1.1 → hypern-0.3.11}/tests/utils.py +0 -0
@@ -18,6 +18,8 @@ on:
18
18
  branches: [ "stag", "main" ]
19
19
  schedule:
20
20
  - cron: '18 9 * * 6'
21
+ workflow_dispatch:
22
+
21
23
 
22
24
  jobs:
23
25
  analyze:
@@ -34,9 +34,9 @@ jobs:
34
34
  run: |
35
35
  python -m pip install --upgrade pip
36
36
  pip install poetry maturin
37
- poetry export --with test --with dev --without-hashes --output requirements.txt
38
- pip install -r requirements.txt
39
- pip install -e .
37
+ poetry config virtualenvs.create false
38
+ poetry lock
39
+ poetry install
40
40
  - name: Setup Rust part of the project
41
41
  run: |
42
42
  maturin build -i python${{ matrix.python-version }} --release --out dist
@@ -12,10 +12,11 @@ on:
12
12
  branches:
13
13
  - stag
14
14
  - main
15
+ workflow_dispatch:
15
16
 
16
17
  jobs:
17
18
  macos:
18
- runs-on: macos-12
19
+ runs-on: macos-13
19
20
  strategy:
20
21
  matrix:
21
22
  python-version: ["3.10", "3.11", "3.12"]
@@ -92,3 +93,49 @@ jobs:
92
93
  run: |
93
94
  pip install --force-reinstall dist/*.whl
94
95
  cd ~ && python -c 'import hypern'
96
+
97
+ linux-cross:
98
+ runs-on: ubuntu-latest
99
+ strategy:
100
+ fail-fast: false
101
+ matrix:
102
+ python:
103
+ [
104
+ { version: "3.10", abi: "cp310-cp310" },
105
+ { version: "3.11", abi: "cp311-cp311" },
106
+ { version: "3.12", abi: "cp312-cp312" },
107
+ ]
108
+ target: [aarch64, armv7]
109
+ steps:
110
+ - uses: actions/checkout@v3
111
+ - name: Build Wheels
112
+ uses: PyO3/maturin-action@v1
113
+ env:
114
+ PYO3_CROSS_LIB_DIR: /opt/python/${{ matrix.python.abi }}/lib
115
+ with:
116
+ target: ${{ matrix.target }}
117
+ manylinux: auto
118
+ args: -i python${{matrix.python.version}} --release --out dist
119
+ - uses: uraimo/run-on-arch-action@v2
120
+ name: Install build wheel
121
+ with:
122
+ arch: ${{ matrix.target }}
123
+ distro: ubuntu20.04
124
+ githubToken: ${{ github.token }}
125
+ dockerRunArgs: |
126
+ --volume "${PWD}/dist:/artifacts"
127
+ install: |
128
+ apt update -y
129
+ apt install -y --no-install-recommends software-properties-common
130
+ add-apt-repository ppa:deadsnakes/ppa
131
+ apt update -y
132
+ apt install -y gcc g++ musl-dev python${{ matrix.python.version }}-dev python${{ matrix.python.version }} python${{ matrix.python.version }}-venv
133
+ run: |
134
+ ls -lrth /artifacts
135
+ PYTHON=python${{ matrix.python.version }}
136
+ $PYTHON --version
137
+ $PYTHON -m venv venv
138
+ source venv/bin/activate
139
+ pip install --upgrade pip setuptools wheel
140
+ pip install --force-reinstall dist/hypern*.whl
141
+ cd ~ && python -c 'import hypern'
@@ -0,0 +1,143 @@
1
+ # This file is autogenerated by maturin v1.8.1
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci -m Cargo.toml github
5
+ #
6
+ name: CI
7
+
8
+ on:
9
+ push:
10
+ tags:
11
+ - 'v*'
12
+ pull_request:
13
+ workflow_dispatch:
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+
20
+ linux:
21
+ runs-on: "ubuntu-latest"
22
+ strategy:
23
+ matrix:
24
+ target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
25
+ python-version: ["3.10", "3.11", "3.12"]
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - uses: actions/setup-python@v5
29
+ with:
30
+ python-version: ${{ matrix.python-version }}
31
+ - name: Build wheels
32
+ uses: PyO3/maturin-action@v1
33
+ with:
34
+ target: ${{ matrix.target }}
35
+ args: -i python${{ matrix.python-version }} --release --sdist --out dist
36
+ sccache: 'true'
37
+ manylinux: auto
38
+ - name: Upload wheels
39
+ uses: actions/upload-artifact@v4
40
+ with:
41
+ name: wheels-linux-${{ matrix.target }}-${{ matrix.python-version }}
42
+ path: dist
43
+
44
+ musllinux:
45
+ runs-on: ubuntu-latest
46
+ strategy:
47
+ matrix:
48
+ target: [x86_64, x86, aarch64, armv7]
49
+ python-version: ["3.10", "3.11", "3.12"]
50
+ steps:
51
+ - uses: actions/checkout@v4
52
+ - uses: actions/setup-python@v5
53
+ with:
54
+ python-version: ${{ matrix.python-version }}
55
+ - name: Build wheels
56
+ uses: PyO3/maturin-action@v1
57
+ with:
58
+ target: ${{ matrix.target }}
59
+ args: -i python${{ matrix.python-version }} --release --sdist --out dist
60
+ sccache: 'true'
61
+ manylinux: musllinux_1_2
62
+ - name: Upload wheels
63
+ uses: actions/upload-artifact@v4
64
+ with:
65
+ name: wheels-musllinux-${{ matrix.target }}-${{ matrix.python-version }}
66
+ path: dist
67
+ windows:
68
+ runs-on: windows-latest
69
+ strategy:
70
+ matrix:
71
+ target: [x64, x86]
72
+ python-version: ["3.10", "3.11", "3.12"]
73
+ steps:
74
+ - uses: actions/checkout@v4
75
+ - uses: actions/setup-python@v5
76
+ with:
77
+ python-version: ${{ matrix.python-version }}
78
+ architecture: ${{ matrix.target }}
79
+ - name: Build wheels
80
+ uses: PyO3/maturin-action@v1
81
+ with:
82
+ target: ${{ matrix.target }}
83
+ args: -i python --release --sdist --out dist
84
+ sccache: 'true'
85
+ - name: Upload wheels
86
+ uses: actions/upload-artifact@v4
87
+ with:
88
+ name: wheels-windows-${{ matrix.target }}-${{ matrix.python-version }}
89
+ path: dist
90
+
91
+ macos:
92
+ runs-on: ${{ matrix.platform.runner }}
93
+ strategy:
94
+ matrix:
95
+ platform:
96
+ - runner: macos-13
97
+ target: x86_64
98
+ - runner: macos-14
99
+ target: aarch64
100
+ python-version: ["3.10", "3.11", "3.12"]
101
+ steps:
102
+ - uses: actions/checkout@v4
103
+ - uses: actions/setup-python@v5
104
+ with:
105
+ python-version: ${{ matrix.python-version }}
106
+ - name: Build wheels
107
+ uses: PyO3/maturin-action@v1
108
+ with:
109
+ target: ${{ matrix.platform.target }}
110
+ args: --release --out dist -i python --sdist
111
+ sccache: 'true'
112
+ - name: Upload wheels
113
+ uses: actions/upload-artifact@v4
114
+ with:
115
+ name: wheels-macos-${{ matrix.platform.target }}-${{ matrix.python-version }}
116
+ path: dist
117
+
118
+ release:
119
+ name: Release
120
+ runs-on: ubuntu-latest
121
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
122
+ needs: [musllinux, linux, windows, macos]
123
+ permissions:
124
+ # Use to sign the release artifacts
125
+ id-token: write
126
+ # Used to upload release artifacts
127
+ contents: write
128
+ # Used to generate artifact attestation
129
+ attestations: write
130
+ steps:
131
+ - uses: actions/download-artifact@v4
132
+ - name: Generate artifact attestation
133
+ uses: actions/attest-build-provenance@v1
134
+ with:
135
+ subject-path: 'wheels-*/*'
136
+ - name: Publish to PyPI
137
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
138
+ uses: PyO3/maturin-action@v1
139
+ env:
140
+ MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_PASSWORD }}
141
+ with:
142
+ command: upload
143
+ args: --non-interactive --skip-existing wheels-*/*
@@ -5,6 +5,7 @@ on:
5
5
  branches: [ main, stag ]
6
6
  pull_request:
7
7
  branches: [ main, stag ]
8
+ workflow_dispatch:
8
9
 
9
10
  jobs:
10
11
  security-scan:
@@ -19,7 +20,7 @@ jobs:
19
20
  - name: Export requirements
20
21
  run: |
21
22
  python -m pip install --upgrade pip
22
- pip install poetry
23
+ pip install poetry poetry-plugin-export
23
24
  poetry export --without-hashes --format=requirements.txt > requirements.txt
24
25
 
25
26
  - name: Install dependencies
@@ -54,7 +55,7 @@ jobs:
54
55
 
55
56
  # GitGuardian - Scan for secrets
56
57
  - name: GitGuardian scan
57
- uses: GitGuardian/ggshield/actions/secret@v1.33.0
58
+ uses: GitGuardian/ggshield/actions/secret@v1.34.0
58
59
  with:
59
60
  fetch-depth: 0
60
61
  env:
@@ -74,24 +75,6 @@ jobs:
74
75
  safety-results.json
75
76
  dependency-check-report.json
76
77
 
77
- # Send notification on critical issues
78
- - name: Notify Security Issues
79
- if: failure()
80
- uses: actions/github-script@v7
81
- with:
82
- script: |
83
- const issueBody = `Security scan failed in ${process.env.GITHUB_WORKFLOW}
84
- See detailed results in the workflow artifacts.`;
85
-
86
- github.rest.issues.create({
87
- owner: context.repo.owner,
88
- repo: context.repo.repo,
89
- title: '🚨 Security Scan Failed',
90
- body: issueBody,
91
- labels: ['security', 'automated-scan']
92
- });
93
- github-token: ${{ secrets.GITHUB_TOKEN }}
94
-
95
78
  dependency-review:
96
79
  runs-on: ubuntu-latest
97
80
  if: github.event_name == 'pull_request'