hypern 0.3.10__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 (151) hide show
  1. hypern-0.3.11/.github/workflows/release-CI.yml +143 -0
  2. {hypern-0.3.10 → hypern-0.3.11}/Cargo.lock +1 -1
  3. {hypern-0.3.10 → hypern-0.3.11}/Cargo.toml +3 -2
  4. {hypern-0.3.10 → hypern-0.3.11}/PKG-INFO +1 -1
  5. {hypern-0.3.10 → hypern-0.3.11}/pyproject.toml +2 -2
  6. hypern-0.3.10/.github/workflows/release-CI.yml +0 -168
  7. {hypern-0.3.10 → hypern-0.3.11}/.github/dependabot.yml +0 -0
  8. {hypern-0.3.10 → hypern-0.3.11}/.github/workflows/codeql.yml +0 -0
  9. {hypern-0.3.10 → hypern-0.3.11}/.github/workflows/codspeed.yml +0 -0
  10. {hypern-0.3.10 → hypern-0.3.11}/.github/workflows/preview-deployments.yml +0 -0
  11. {hypern-0.3.10 → hypern-0.3.11}/.github/workflows/security-scan.yml +0 -0
  12. {hypern-0.3.10 → hypern-0.3.11}/.gitignore +0 -0
  13. {hypern-0.3.10 → hypern-0.3.11}/.pre-commit-config.yaml +0 -0
  14. {hypern-0.3.10 → hypern-0.3.11}/CODE_OF_CONDUCT.md +0 -0
  15. {hypern-0.3.10 → hypern-0.3.11}/LICENSE +0 -0
  16. {hypern-0.3.10 → hypern-0.3.11}/README.md +0 -0
  17. {hypern-0.3.10 → hypern-0.3.11}/SECURITY.md +0 -0
  18. {hypern-0.3.10 → hypern-0.3.11}/benchmark.sh +0 -0
  19. {hypern-0.3.10 → hypern-0.3.11}/docs/background.md +0 -0
  20. {hypern-0.3.10 → hypern-0.3.11}/docs/cache.md +0 -0
  21. {hypern-0.3.10 → hypern-0.3.11}/docs/database.md +0 -0
  22. {hypern-0.3.10 → hypern-0.3.11}/docs/index.md +0 -0
  23. {hypern-0.3.10 → hypern-0.3.11}/docs/response.md +0 -0
  24. {hypern-0.3.10 → hypern-0.3.11}/docs/schedule.md +0 -0
  25. {hypern-0.3.10 → hypern-0.3.11}/docs/websocket.md +0 -0
  26. {hypern-0.3.10 → hypern-0.3.11}/hypern/__init__.py +0 -0
  27. {hypern-0.3.10 → hypern-0.3.11}/hypern/application.py +0 -0
  28. {hypern-0.3.10 → hypern-0.3.11}/hypern/args_parser.py +0 -0
  29. {hypern-0.3.10 → hypern-0.3.11}/hypern/auth/__init__.py +0 -0
  30. {hypern-0.3.10 → hypern-0.3.11}/hypern/auth/authorization.py +0 -0
  31. {hypern-0.3.10 → hypern-0.3.11}/hypern/background.py +0 -0
  32. {hypern-0.3.10 → hypern-0.3.11}/hypern/caching/__init__.py +0 -0
  33. {hypern-0.3.10 → hypern-0.3.11}/hypern/caching/backend.py +0 -0
  34. {hypern-0.3.10 → hypern-0.3.11}/hypern/caching/redis_backend.py +0 -0
  35. {hypern-0.3.10 → hypern-0.3.11}/hypern/caching/strategies.py +0 -0
  36. {hypern-0.3.10 → hypern-0.3.11}/hypern/cli/__init__.py +0 -0
  37. {hypern-0.3.10 → hypern-0.3.11}/hypern/cli/commands.py +0 -0
  38. {hypern-0.3.10 → hypern-0.3.11}/hypern/config.py +0 -0
  39. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/__init__.py +0 -0
  40. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlalchemy/__init__.py +0 -0
  41. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlalchemy/config.py +0 -0
  42. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlalchemy/repository.py +0 -0
  43. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlx/__init__.py +0 -0
  44. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlx/field.py +0 -0
  45. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlx/migrate.py +0 -0
  46. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlx/model.py +0 -0
  47. {hypern-0.3.10 → hypern-0.3.11}/hypern/database/sqlx/query.py +0 -0
  48. {hypern-0.3.10 → hypern-0.3.11}/hypern/datastructures.py +0 -0
  49. {hypern-0.3.10 → hypern-0.3.11}/hypern/enum.py +0 -0
  50. {hypern-0.3.10 → hypern-0.3.11}/hypern/exceptions/__init__.py +0 -0
  51. {hypern-0.3.10 → hypern-0.3.11}/hypern/exceptions/base.py +0 -0
  52. {hypern-0.3.10 → hypern-0.3.11}/hypern/exceptions/common.py +0 -0
  53. {hypern-0.3.10 → hypern-0.3.11}/hypern/exceptions/errors.py +0 -0
  54. {hypern-0.3.10 → hypern-0.3.11}/hypern/exceptions/formatters.py +0 -0
  55. {hypern-0.3.10 → hypern-0.3.11}/hypern/exceptions/http.py +0 -0
  56. {hypern-0.3.10 → hypern-0.3.11}/hypern/gateway/__init__.py +0 -0
  57. {hypern-0.3.10 → hypern-0.3.11}/hypern/gateway/aggregator.py +0 -0
  58. {hypern-0.3.10 → hypern-0.3.11}/hypern/gateway/gateway.py +0 -0
  59. {hypern-0.3.10 → hypern-0.3.11}/hypern/gateway/proxy.py +0 -0
  60. {hypern-0.3.10 → hypern-0.3.11}/hypern/gateway/service.py +0 -0
  61. {hypern-0.3.10 → hypern-0.3.11}/hypern/hypern.pyi +0 -0
  62. {hypern-0.3.10 → hypern-0.3.11}/hypern/i18n/__init__.py +0 -0
  63. {hypern-0.3.10 → hypern-0.3.11}/hypern/logging/__init__.py +0 -0
  64. {hypern-0.3.10 → hypern-0.3.11}/hypern/logging/logger.py +0 -0
  65. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/__init__.py +0 -0
  66. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/base.py +0 -0
  67. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/cache.py +0 -0
  68. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/compress.py +0 -0
  69. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/cors.py +0 -0
  70. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/i18n.py +0 -0
  71. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/limit.py +0 -0
  72. {hypern-0.3.10 → hypern-0.3.11}/hypern/middleware/security.py +0 -0
  73. {hypern-0.3.10 → hypern-0.3.11}/hypern/openapi/__init__.py +0 -0
  74. {hypern-0.3.10 → hypern-0.3.11}/hypern/openapi/schemas.py +0 -0
  75. {hypern-0.3.10 → hypern-0.3.11}/hypern/openapi/swagger.py +0 -0
  76. {hypern-0.3.10 → hypern-0.3.11}/hypern/processpool.py +0 -0
  77. {hypern-0.3.10 → hypern-0.3.11}/hypern/py.typed +0 -0
  78. {hypern-0.3.10 → hypern-0.3.11}/hypern/reload.py +0 -0
  79. {hypern-0.3.10 → hypern-0.3.11}/hypern/response/__init__.py +0 -0
  80. {hypern-0.3.10 → hypern-0.3.11}/hypern/response/response.py +0 -0
  81. {hypern-0.3.10 → hypern-0.3.11}/hypern/routing/__init__.py +0 -0
  82. {hypern-0.3.10 → hypern-0.3.11}/hypern/routing/dispatcher.py +0 -0
  83. {hypern-0.3.10 → hypern-0.3.11}/hypern/routing/endpoint.py +0 -0
  84. {hypern-0.3.10 → hypern-0.3.11}/hypern/routing/parser.py +0 -0
  85. {hypern-0.3.10 → hypern-0.3.11}/hypern/routing/queue.py +0 -0
  86. {hypern-0.3.10 → hypern-0.3.11}/hypern/routing/route.py +0 -0
  87. {hypern-0.3.10 → hypern-0.3.11}/hypern/scheduler.py +0 -0
  88. {hypern-0.3.10 → hypern-0.3.11}/hypern/worker.py +0 -0
  89. {hypern-0.3.10 → hypern-0.3.11}/hypern/ws/__init__.py +0 -0
  90. {hypern-0.3.10 → hypern-0.3.11}/hypern/ws/channel.py +0 -0
  91. {hypern-0.3.10 → hypern-0.3.11}/hypern/ws/heartbeat.py +0 -0
  92. {hypern-0.3.10 → hypern-0.3.11}/hypern/ws/room.py +0 -0
  93. {hypern-0.3.10 → hypern-0.3.11}/hypern/ws/route.py +0 -0
  94. {hypern-0.3.10 → hypern-0.3.11}/poetry.lock +0 -0
  95. {hypern-0.3.10 → hypern-0.3.11}/scripts/format.sh +0 -0
  96. {hypern-0.3.10 → hypern-0.3.11}/sonar-project.properties +0 -0
  97. {hypern-0.3.10 → hypern-0.3.11}/src/background/background_task.rs +0 -0
  98. {hypern-0.3.10 → hypern-0.3.11}/src/background/background_tasks.rs +0 -0
  99. {hypern-0.3.10 → hypern-0.3.11}/src/background/mod.rs +0 -0
  100. {hypern-0.3.10 → hypern-0.3.11}/src/database/context.rs +0 -0
  101. {hypern-0.3.10 → hypern-0.3.11}/src/database/mod.rs +0 -0
  102. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/config.rs +0 -0
  103. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/connection.rs +0 -0
  104. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/db_trait.rs +0 -0
  105. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/mod.rs +0 -0
  106. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/mysql.rs +0 -0
  107. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/postgresql.rs +0 -0
  108. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/sqlite.rs +0 -0
  109. {hypern-0.3.10 → hypern-0.3.11}/src/database/sql/transaction.rs +0 -0
  110. {hypern-0.3.10 → hypern-0.3.11}/src/di.rs +0 -0
  111. {hypern-0.3.10 → hypern-0.3.11}/src/executor.rs +0 -0
  112. {hypern-0.3.10 → hypern-0.3.11}/src/instants.rs +0 -0
  113. {hypern-0.3.10 → hypern-0.3.11}/src/lib.rs +0 -0
  114. {hypern-0.3.10 → hypern-0.3.11}/src/mem_pool.rs +0 -0
  115. {hypern-0.3.10 → hypern-0.3.11}/src/middlewares/base.rs +0 -0
  116. {hypern-0.3.10 → hypern-0.3.11}/src/middlewares/mod.rs +0 -0
  117. {hypern-0.3.10 → hypern-0.3.11}/src/openapi/mod.rs +0 -0
  118. {hypern-0.3.10 → hypern-0.3.11}/src/openapi/schemas.rs +0 -0
  119. {hypern-0.3.10 → hypern-0.3.11}/src/openapi/swagger.rs +0 -0
  120. {hypern-0.3.10 → hypern-0.3.11}/src/router/mod.rs +0 -0
  121. {hypern-0.3.10 → hypern-0.3.11}/src/router/route.rs +0 -0
  122. {hypern-0.3.10 → hypern-0.3.11}/src/router/router.rs +0 -0
  123. {hypern-0.3.10 → hypern-0.3.11}/src/scheduler/job.rs +0 -0
  124. {hypern-0.3.10 → hypern-0.3.11}/src/scheduler/mod.rs +0 -0
  125. {hypern-0.3.10 → hypern-0.3.11}/src/scheduler/retry.rs +0 -0
  126. {hypern-0.3.10 → hypern-0.3.11}/src/scheduler/scheduler.rs +0 -0
  127. {hypern-0.3.10 → hypern-0.3.11}/src/server.rs +0 -0
  128. {hypern-0.3.10 → hypern-0.3.11}/src/types/body.rs +0 -0
  129. {hypern-0.3.10 → hypern-0.3.11}/src/types/function_info.rs +0 -0
  130. {hypern-0.3.10 → hypern-0.3.11}/src/types/header.rs +0 -0
  131. {hypern-0.3.10 → hypern-0.3.11}/src/types/http.rs +0 -0
  132. {hypern-0.3.10 → hypern-0.3.11}/src/types/middleware.rs +0 -0
  133. {hypern-0.3.10 → hypern-0.3.11}/src/types/mod.rs +0 -0
  134. {hypern-0.3.10 → hypern-0.3.11}/src/types/query.rs +0 -0
  135. {hypern-0.3.10 → hypern-0.3.11}/src/types/request.rs +0 -0
  136. {hypern-0.3.10 → hypern-0.3.11}/src/types/response.rs +0 -0
  137. {hypern-0.3.10 → hypern-0.3.11}/src/types/url.rs +0 -0
  138. {hypern-0.3.10 → hypern-0.3.11}/src/ws/mod.rs +0 -0
  139. {hypern-0.3.10 → hypern-0.3.11}/src/ws/route.rs +0 -0
  140. {hypern-0.3.10 → hypern-0.3.11}/src/ws/router.rs +0 -0
  141. {hypern-0.3.10 → hypern-0.3.11}/src/ws/socket.rs +0 -0
  142. {hypern-0.3.10 → hypern-0.3.11}/src/ws/websocket.rs +0 -0
  143. {hypern-0.3.10 → hypern-0.3.11}/tests/__init__.py +0 -0
  144. {hypern-0.3.10 → hypern-0.3.11}/tests/conftest.py +0 -0
  145. {hypern-0.3.10 → hypern-0.3.11}/tests/server.py +0 -0
  146. {hypern-0.3.10 → hypern-0.3.11}/tests/test_functional_handler.py +0 -0
  147. {hypern-0.3.10 → hypern-0.3.11}/tests/test_request_file.py +0 -0
  148. {hypern-0.3.10 → hypern-0.3.11}/tests/test_response_type.py +0 -0
  149. {hypern-0.3.10 → hypern-0.3.11}/tests/test_sync_async.py +0 -0
  150. {hypern-0.3.10 → hypern-0.3.11}/tests/test_validate_field.py +0 -0
  151. {hypern-0.3.10 → hypern-0.3.11}/tests/utils.py +0 -0
@@ -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-*/*
@@ -985,7 +985,7 @@ dependencies = [
985
985
 
986
986
  [[package]]
987
987
  name = "hypern"
988
- version = "0.3.10"
988
+ version = "0.3.11"
989
989
  dependencies = [
990
990
  "bytes",
991
991
  "chrono",
@@ -1,12 +1,12 @@
1
1
  [package]
2
2
  name = "hypern"
3
- version = "0.3.10"
3
+ version = "0.3.11"
4
4
  edition = "2021"
5
5
 
6
6
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
7
  [lib]
8
8
  name = "hypern"
9
- crate-type = ["cdylib"]
9
+ crate-type = ["cdylib", "staticlib"]
10
10
 
11
11
  [dependencies]
12
12
  pyo3 = { version = "0.20.0", features = ["extension-module"] }
@@ -47,3 +47,4 @@ strip = true
47
47
 
48
48
  [package.metadata.maturin]
49
49
  name = "hypern"
50
+ python-source = "hypern"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hypern
3
- Version: 0.3.10
3
+ Version: 0.3.11
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -5,7 +5,7 @@ build-backend = "maturin"
5
5
 
6
6
  [project]
7
7
  name = "hypern"
8
- version = "0.3.10"
8
+ version = "0.3.11"
9
9
  description = "A Fast Async Python backend with a Rust runtime."
10
10
  authors = [{ name = "Martin Dang", email = "vannghiem848@gmail.com" }]
11
11
  requires-python = ">=3.10"
@@ -37,7 +37,7 @@ module-name = "hypern"
37
37
 
38
38
  [tool.poetry]
39
39
  name = "hypern"
40
- version = "0.3.10"
40
+ version = "0.3.11"
41
41
  description = "A Fast Async Python backend with a Rust runtime."
42
42
  authors = ["Martin Dang <vannghiem848@gmail.com>"]
43
43
 
@@ -1,168 +0,0 @@
1
- # CI to release the project for Linux, Windows, and MacOS
2
- name: Release CI
3
- on:
4
- push:
5
- tags:
6
- - v*
7
- workflow_dispatch:
8
-
9
- jobs:
10
- macos:
11
- runs-on: macos-13
12
- strategy:
13
- matrix:
14
- python-version: ["3.10", "3.11", "3.12"]
15
- steps:
16
- - uses: actions/checkout@v4
17
- - uses: actions/setup-python@v5
18
- with:
19
- python-version: ${{ matrix.python-version }}
20
- - uses: dtolnay/rust-toolchain@stable
21
- with:
22
- targets: aarch64-apple-darwin
23
- - name: Build wheels - x86_64
24
- uses: PyO3/maturin-action@v1
25
- with:
26
- target: x86_64
27
- args: -i python --release --sdist --out dist
28
- - name: Install build wheel - x86_64
29
- run: |
30
- pip install --force-reinstall dist/*.whl
31
- cd ~ && python -c 'import hypern'
32
- - name: Build wheels - universal2
33
- uses: PyO3/maturin-action@v1
34
- with:
35
- args: -i python --release --sdist --target universal2-apple-darwin --out dist
36
- - name: Install build wheel - universal2
37
- run: |
38
- pip install --force-reinstall dist/*_universal2.whl
39
- cd ~ && python -c 'import hypern'
40
- - name: Upload wheels
41
- uses: actions/upload-artifact@v3
42
- with:
43
- name: wheels
44
- path: dist
45
- windows:
46
- runs-on: windows-latest
47
- strategy:
48
- matrix:
49
- python-version: ["3.10", "3.11", "3.12"]
50
- target: [x64, x86]
51
- steps:
52
- - uses: actions/checkout@v4
53
- - uses: actions/setup-python@v5
54
- with:
55
- python-version: ${{ matrix.python-version }}
56
- architecture: ${{ matrix.target }}
57
- - uses: dtolnay/rust-toolchain@stable
58
- - name: Build wheels
59
- uses: PyO3/maturin-action@v1
60
- with:
61
- target: ${{ matrix.target }}
62
- args: -i python --release --sdist --out dist
63
- - name: Install build wheel
64
- shell: bash
65
- run: |
66
- pip install --force-reinstall dist/*.whl
67
- cd ~ && python -c 'import hypern'
68
- - name: Upload wheels
69
- uses: actions/upload-artifact@v3
70
- with:
71
- name: wheels
72
- path: dist
73
- linux:
74
- runs-on: ubuntu-latest
75
- strategy:
76
- matrix:
77
- python-version: ["3.10", "3.11", "3.12"]
78
- target: [x86_64, i686]
79
- steps:
80
- - uses: actions/checkout@v4
81
- - uses: dtolnay/rust-toolchain@stable
82
- - uses: actions/setup-python@v5
83
- with:
84
- python-version: ${{ matrix.python-version }}
85
- - name: Build Wheels
86
- uses: PyO3/maturin-action@v1
87
- with:
88
- target: ${{ matrix.target }}
89
- manylinux: auto
90
- args: -i python${{ matrix.python-version }} --release --sdist --out dist
91
- - name: Install build wheel
92
- if: matrix.target == 'x86_64'
93
- run: |
94
- pip install --force-reinstall dist/*.whl
95
- cd ~ && python -c 'import hypern'
96
- - name: Upload wheels
97
- uses: actions/upload-artifact@v3
98
- with:
99
- name: wheels
100
- path: dist
101
-
102
- linux-cross:
103
- runs-on: ubuntu-latest
104
- strategy:
105
- matrix:
106
- python:
107
- [
108
- { version: "3.10", abi: "cp310-cp310" },
109
- { version: "3.11", abi: "cp311-cp311" },
110
- { version: "3.12", abi: "cp312-cp312" },
111
- ]
112
- target: [aarch64, armv7]
113
- steps:
114
- - uses: actions/checkout@v3
115
- - name: Build Wheels
116
- uses: PyO3/maturin-action@v1
117
- env:
118
- PYO3_CROSS_LIB_DIR: /opt/python/${{ matrix.python.abi }}/lib
119
- with:
120
- target: ${{ matrix.target }}
121
- manylinux: auto
122
- args: -i python${{matrix.python.version}} --release --sdist --out dist
123
- - uses: uraimo/run-on-arch-action@v2
124
- name: Install build wheel
125
- with:
126
- arch: ${{ matrix.target }}
127
- distro: ubuntu22.04
128
- githubToken: ${{ github.token }}
129
- dockerRunArgs: |
130
- --volume "${PWD}/dist:/artifacts"
131
- install: |
132
- apt update -y
133
- apt install -y software-properties-common
134
- add-apt-repository -y ppa:deadsnakes/ppa
135
- apt update -y
136
- apt install -y gcc g++ musl-dev python${{ matrix.python.version }}-dev python${{ matrix.python.version }} python${{ matrix.python.version }}-venv
137
- run: |
138
- ls -lrth /artifacts
139
- python${{ matrix.python.version }} -m venv venv
140
- source venv/bin/activate
141
- python -m pip install --upgrade pip setuptools wheel
142
- python -m pip install --force-reinstall /artifacts/hypern*.whl
143
- cd ~ && python -c 'import hypern'
144
- - name: Upload wheels
145
- uses: actions/upload-artifact@v3
146
- with:
147
- name: wheels
148
- path: dist
149
-
150
- release:
151
- name: Release
152
- runs-on: ubuntu-latest
153
- needs: [macos, windows, linux, linux-cross]
154
- steps:
155
- - uses: actions/download-artifact@v3
156
- with:
157
- name: wheels
158
- - uses: actions/setup-python@v5
159
- with:
160
- python-version: 3.x
161
-
162
- - name: Publish to PyPi
163
- env:
164
- TWINE_USERNAME: __token__
165
- TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
166
- run: |
167
- pip install --upgrade twine
168
- twine upload --skip-existing *
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes