ferogram 0.1.0__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.
- ferogram-0.1.2/.github/workflows/publish.yml +232 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/Cargo.lock +1 -1
- {ferogram-0.1.0 → ferogram-0.1.2}/Cargo.toml +3 -3
- {ferogram-0.1.0 → ferogram-0.1.2}/PKG-INFO +1 -1
- {ferogram-0.1.0 → ferogram-0.1.2}/pyproject.toml +1 -1
- ferogram-0.1.0/.github/workflows/publish.yml +0 -149
- {ferogram-0.1.0 → ferogram-0.1.2}/.gitignore +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/LICENSE-APACHE +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/LICENSE-MIT +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/README.md +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/command_bot.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/echo_bot.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/raw_invoke.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/send_hi.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/send_media.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/send_message.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/update_handlers.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/examples/userbot.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/__init__.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/client.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/filters.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/logging.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/py.typed +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/__init__.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/api/__init__.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/api/functions.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/api/types.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/codegen.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/generated/__init__.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/generated/_tl_schema.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/generated/functions.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/generated/types.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw/tl.py +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/ferogram/raw_api.tl +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/auth.rs +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/client.rs +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/lib.rs +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/message.rs +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/raw.rs +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/types.rs +0 -0
- {ferogram-0.1.0 → ferogram-0.1.2}/src/updates.rs +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
job:
|
|
9
|
+
description: "Which job to run"
|
|
10
|
+
required: true
|
|
11
|
+
default: all
|
|
12
|
+
type: choice
|
|
13
|
+
options:
|
|
14
|
+
- all
|
|
15
|
+
- linux
|
|
16
|
+
- macos
|
|
17
|
+
- windows
|
|
18
|
+
- android
|
|
19
|
+
- sdist
|
|
20
|
+
publish:
|
|
21
|
+
description: "Upload to PyPI after build"
|
|
22
|
+
required: false
|
|
23
|
+
default: false
|
|
24
|
+
type: boolean
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
|
|
28
|
+
linux:
|
|
29
|
+
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'linux'
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
strategy:
|
|
32
|
+
fail-fast: false
|
|
33
|
+
matrix:
|
|
34
|
+
target:
|
|
35
|
+
- x86_64-unknown-linux-gnu
|
|
36
|
+
- aarch64-unknown-linux-gnu
|
|
37
|
+
steps:
|
|
38
|
+
- uses: actions/checkout@v4
|
|
39
|
+
- uses: actions/setup-python@v5
|
|
40
|
+
with:
|
|
41
|
+
python-version: "3.12"
|
|
42
|
+
- name: Cache Rust build artifacts
|
|
43
|
+
uses: Swatinem/rust-cache@v2
|
|
44
|
+
with:
|
|
45
|
+
key: ${{ matrix.target }}
|
|
46
|
+
- uses: PyO3/maturin-action@v1
|
|
47
|
+
# ring's build.rs compiles ARM assembly via cc-rs using the manylinux
|
|
48
|
+
# cross-compiler, which doesn't define __ARM_ARCH. Explicitly set it.
|
|
49
|
+
env:
|
|
50
|
+
CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8 -march=armv8-a"
|
|
51
|
+
with:
|
|
52
|
+
target: ${{ matrix.target }}
|
|
53
|
+
args: --release --out dist
|
|
54
|
+
manylinux: auto
|
|
55
|
+
- uses: actions/upload-artifact@v4
|
|
56
|
+
with:
|
|
57
|
+
name: wheels-linux-${{ matrix.target }}
|
|
58
|
+
path: dist
|
|
59
|
+
|
|
60
|
+
macos:
|
|
61
|
+
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'macos'
|
|
62
|
+
runs-on: macos-latest
|
|
63
|
+
strategy:
|
|
64
|
+
fail-fast: false
|
|
65
|
+
matrix:
|
|
66
|
+
target:
|
|
67
|
+
- x86_64-apple-darwin
|
|
68
|
+
- aarch64-apple-darwin
|
|
69
|
+
steps:
|
|
70
|
+
- uses: actions/checkout@v4
|
|
71
|
+
- uses: actions/setup-python@v5
|
|
72
|
+
with:
|
|
73
|
+
python-version: "3.12"
|
|
74
|
+
- name: Cache Rust build artifacts
|
|
75
|
+
uses: Swatinem/rust-cache@v2
|
|
76
|
+
with:
|
|
77
|
+
key: ${{ matrix.target }}
|
|
78
|
+
- uses: PyO3/maturin-action@v1
|
|
79
|
+
with:
|
|
80
|
+
target: ${{ matrix.target }}
|
|
81
|
+
args: --release --out dist
|
|
82
|
+
- uses: actions/upload-artifact@v4
|
|
83
|
+
with:
|
|
84
|
+
name: wheels-macos-${{ matrix.target }}
|
|
85
|
+
path: dist
|
|
86
|
+
|
|
87
|
+
windows:
|
|
88
|
+
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'windows'
|
|
89
|
+
runs-on: windows-latest
|
|
90
|
+
steps:
|
|
91
|
+
- uses: actions/checkout@v4
|
|
92
|
+
- uses: actions/setup-python@v5
|
|
93
|
+
with:
|
|
94
|
+
python-version: "3.12"
|
|
95
|
+
- name: Cache Rust build artifacts
|
|
96
|
+
uses: Swatinem/rust-cache@v2
|
|
97
|
+
- uses: PyO3/maturin-action@v1
|
|
98
|
+
with:
|
|
99
|
+
args: --release --out dist
|
|
100
|
+
- uses: actions/upload-artifact@v4
|
|
101
|
+
with:
|
|
102
|
+
name: wheels-windows
|
|
103
|
+
path: dist
|
|
104
|
+
|
|
105
|
+
android:
|
|
106
|
+
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'android'
|
|
107
|
+
runs-on: ubuntu-latest
|
|
108
|
+
strategy:
|
|
109
|
+
fail-fast: false
|
|
110
|
+
matrix:
|
|
111
|
+
include:
|
|
112
|
+
- target: aarch64-linux-android
|
|
113
|
+
api: 24
|
|
114
|
+
arch: arm64-v8a
|
|
115
|
+
- target: armv7-linux-androideabi
|
|
116
|
+
api: 24
|
|
117
|
+
arch: armeabi-v7a
|
|
118
|
+
- target: x86_64-linux-android
|
|
119
|
+
api: 24
|
|
120
|
+
arch: x86_64
|
|
121
|
+
- target: i686-linux-android
|
|
122
|
+
api: 24
|
|
123
|
+
arch: x86
|
|
124
|
+
steps:
|
|
125
|
+
- uses: actions/checkout@v4
|
|
126
|
+
|
|
127
|
+
- uses: actions/setup-python@v5
|
|
128
|
+
with:
|
|
129
|
+
python-version: "3.12"
|
|
130
|
+
|
|
131
|
+
- name: Setup Android NDK r26d
|
|
132
|
+
uses: nttld/setup-ndk@v1
|
|
133
|
+
id: ndk
|
|
134
|
+
with:
|
|
135
|
+
ndk-version: r26d
|
|
136
|
+
link-to-sdk: true
|
|
137
|
+
|
|
138
|
+
- name: Cache Rust build artifacts
|
|
139
|
+
uses: Swatinem/rust-cache@v2
|
|
140
|
+
with:
|
|
141
|
+
key: ${{ matrix.target }}
|
|
142
|
+
|
|
143
|
+
- name: Add Rust Android target
|
|
144
|
+
run: rustup target add ${{ matrix.target }}
|
|
145
|
+
|
|
146
|
+
- name: Install maturin
|
|
147
|
+
run: pip install maturin
|
|
148
|
+
|
|
149
|
+
- name: Build Android wheel
|
|
150
|
+
env:
|
|
151
|
+
ANDROID_NDK_HOME: ${{ steps.ndk.outputs.ndk-path }}
|
|
152
|
+
ANDROID_API_LEVEL: ${{ matrix.api }}
|
|
153
|
+
PYO3_CROSS_PYTHON_VERSION: "3.12"
|
|
154
|
+
run: |
|
|
155
|
+
NDK_BIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
|
|
156
|
+
TARGET=${{ matrix.target }}
|
|
157
|
+
API=${{ matrix.api }}
|
|
158
|
+
|
|
159
|
+
# Resolve the correct clang triple for this target + API level
|
|
160
|
+
case "$TARGET" in
|
|
161
|
+
aarch64-linux-android) CLANG_PREFIX="aarch64-linux-android${API}" ;;
|
|
162
|
+
armv7-linux-androideabi) CLANG_PREFIX="armv7a-linux-androideabi${API}" ;;
|
|
163
|
+
x86_64-linux-android) CLANG_PREFIX="x86_64-linux-android${API}" ;;
|
|
164
|
+
i686-linux-android) CLANG_PREFIX="i686-linux-android${API}" ;;
|
|
165
|
+
esac
|
|
166
|
+
|
|
167
|
+
# cc-rs reads CC_<target> with lowercase triple (dashes -> underscores).
|
|
168
|
+
# CARGO_TARGET_<TARGET>_LINKER uses uppercase. Split accordingly.
|
|
169
|
+
TARGET_UPPER=$(echo "$TARGET" | tr '[:lower:]-' '[:upper:]_')
|
|
170
|
+
TARGET_LOWER=$(echo "$TARGET" | tr '-' '_')
|
|
171
|
+
export CC_${TARGET_LOWER}=$NDK_BIN/${CLANG_PREFIX}-clang
|
|
172
|
+
export CXX_${TARGET_LOWER}=$NDK_BIN/${CLANG_PREFIX}-clang++
|
|
173
|
+
export AR_${TARGET_LOWER}=$NDK_BIN/llvm-ar
|
|
174
|
+
export CARGO_TARGET_${TARGET_UPPER}_LINKER=$NDK_BIN/${CLANG_PREFIX}-clang
|
|
175
|
+
|
|
176
|
+
# pyo3 emits -lpython3.12 for abi3 cross-builds. The linker needs a
|
|
177
|
+
# lib to satisfy that reference; at runtime Termux's Python provides
|
|
178
|
+
# the real symbols. Create empty stubs and inject via RUSTFLAGS so
|
|
179
|
+
# the linker finds them without maturin treating the dir as a Python
|
|
180
|
+
# sysroot (which PYO3_CROSS_LIB_DIR would do, triggering a
|
|
181
|
+
# _sysconfigdata*.py search and failing).
|
|
182
|
+
STUB_DIR=$(mktemp -d)
|
|
183
|
+
$NDK_BIN/llvm-ar rcs "$STUB_DIR/libpython3.12.a"
|
|
184
|
+
$NDK_BIN/llvm-ar rcs "$STUB_DIR/libpython3.a"
|
|
185
|
+
export RUSTFLAGS="-L native=$STUB_DIR"
|
|
186
|
+
|
|
187
|
+
maturin build \
|
|
188
|
+
--release \
|
|
189
|
+
--target $TARGET \
|
|
190
|
+
--compatibility off \
|
|
191
|
+
--out dist
|
|
192
|
+
|
|
193
|
+
- uses: actions/upload-artifact@v4
|
|
194
|
+
with:
|
|
195
|
+
name: wheels-android-${{ matrix.target }}
|
|
196
|
+
path: dist
|
|
197
|
+
|
|
198
|
+
sdist:
|
|
199
|
+
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'sdist'
|
|
200
|
+
runs-on: ubuntu-latest
|
|
201
|
+
steps:
|
|
202
|
+
- uses: actions/checkout@v4
|
|
203
|
+
- uses: PyO3/maturin-action@v1
|
|
204
|
+
with:
|
|
205
|
+
command: sdist
|
|
206
|
+
args: --out dist
|
|
207
|
+
- uses: actions/upload-artifact@v4
|
|
208
|
+
with:
|
|
209
|
+
name: wheels-sdist
|
|
210
|
+
path: dist
|
|
211
|
+
|
|
212
|
+
publish:
|
|
213
|
+
needs: [linux, macos, windows, android, sdist]
|
|
214
|
+
if: |
|
|
215
|
+
always() &&
|
|
216
|
+
(github.event_name == 'push' || inputs.publish == true) &&
|
|
217
|
+
!contains(needs.*.result, 'failure') &&
|
|
218
|
+
!contains(needs.*.result, 'cancelled')
|
|
219
|
+
runs-on: ubuntu-latest
|
|
220
|
+
environment: pypi
|
|
221
|
+
permissions:
|
|
222
|
+
id-token: write
|
|
223
|
+
steps:
|
|
224
|
+
- uses: actions/download-artifact@v4
|
|
225
|
+
with:
|
|
226
|
+
pattern: "wheels-*"
|
|
227
|
+
merge-multiple: true
|
|
228
|
+
path: dist
|
|
229
|
+
- uses: PyO3/maturin-action@v1
|
|
230
|
+
with:
|
|
231
|
+
command: upload
|
|
232
|
+
args: --non-interactive --skip-existing dist/*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "ferogram-py"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.2"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
description = "Python bindings for ferogram (Rust MTProto)"
|
|
6
6
|
license = "MIT OR Apache-2.0"
|
|
@@ -12,10 +12,10 @@ crate-type = ["cdylib"]
|
|
|
12
12
|
|
|
13
13
|
[dependencies]
|
|
14
14
|
ferogram = { git = "https://github.com/ankit-chaubey/ferogram", branch = "main" }
|
|
15
|
-
pyo3 = { version = "0.23", features = ["extension-module", "abi3-
|
|
15
|
+
pyo3 = { version = "0.23", features = ["extension-module", "abi3-py312"] }
|
|
16
16
|
pyo3-async-runtimes = { version = "0.23", features = ["tokio-runtime"] }
|
|
17
17
|
tokio = { version = "1", features = ["full"] }
|
|
18
|
-
# Note: do NOT add ferogram-tl-types as a direct dep
|
|
18
|
+
# Note: do NOT add ferogram-tl-types as a direct dep - use ferogram::tl instead
|
|
19
19
|
# to avoid a duplicate-crate version conflict (crates.io vs git).
|
|
20
20
|
|
|
21
21
|
[profile.release]
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
name: Publish to PyPI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags: ["v*"]
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
inputs:
|
|
8
|
-
job:
|
|
9
|
-
description: "Which job to run"
|
|
10
|
-
required: true
|
|
11
|
-
default: all
|
|
12
|
-
type: choice
|
|
13
|
-
options:
|
|
14
|
-
- all
|
|
15
|
-
- linux
|
|
16
|
-
- macos
|
|
17
|
-
- windows
|
|
18
|
-
- sdist
|
|
19
|
-
publish:
|
|
20
|
-
description: "Upload to PyPI after build"
|
|
21
|
-
required: false
|
|
22
|
-
default: false
|
|
23
|
-
type: boolean
|
|
24
|
-
|
|
25
|
-
jobs:
|
|
26
|
-
|
|
27
|
-
linux:
|
|
28
|
-
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'linux'
|
|
29
|
-
runs-on: ubuntu-latest
|
|
30
|
-
strategy:
|
|
31
|
-
# Prevent one target failing from cancelling its sibling.
|
|
32
|
-
# Without this, aarch64 failing was silently cancelling x86_64.
|
|
33
|
-
fail-fast: false
|
|
34
|
-
matrix:
|
|
35
|
-
target:
|
|
36
|
-
- x86_64-unknown-linux-gnu
|
|
37
|
-
- aarch64-unknown-linux-gnu
|
|
38
|
-
steps:
|
|
39
|
-
- uses: actions/checkout@v4
|
|
40
|
-
- uses: actions/setup-python@v5
|
|
41
|
-
with:
|
|
42
|
-
python-version: "3.12"
|
|
43
|
-
- name: Cache Rust build artifacts
|
|
44
|
-
uses: Swatinem/rust-cache@v2
|
|
45
|
-
with:
|
|
46
|
-
key: ${{ matrix.target }}
|
|
47
|
-
- uses: PyO3/maturin-action@v1
|
|
48
|
-
# The ring crate's build.rs compiles ARM assembly (chacha-armv8-linux64.S)
|
|
49
|
-
# via cc-rs using the manylinux cross-compiler. That compiler doesn't
|
|
50
|
-
# define __ARM_ARCH, which ring requires:
|
|
51
|
-
# include/ring-core/asm_base.h:73: #error "ARM assembler must define __ARM_ARCH"
|
|
52
|
-
# Setting CFLAGS for the aarch64 target via cc-rs's env convention fixes
|
|
53
|
-
# this without touching any upstream crate.
|
|
54
|
-
env:
|
|
55
|
-
CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8 -march=armv8-a"
|
|
56
|
-
with:
|
|
57
|
-
target: ${{ matrix.target }}
|
|
58
|
-
args: --release --out dist
|
|
59
|
-
manylinux: auto
|
|
60
|
-
- uses: actions/upload-artifact@v4
|
|
61
|
-
with:
|
|
62
|
-
name: wheels-linux-${{ matrix.target }}
|
|
63
|
-
path: dist
|
|
64
|
-
|
|
65
|
-
macos:
|
|
66
|
-
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'macos'
|
|
67
|
-
runs-on: macos-latest
|
|
68
|
-
strategy:
|
|
69
|
-
fail-fast: false
|
|
70
|
-
matrix:
|
|
71
|
-
target:
|
|
72
|
-
- x86_64-apple-darwin
|
|
73
|
-
- aarch64-apple-darwin
|
|
74
|
-
steps:
|
|
75
|
-
- uses: actions/checkout@v4
|
|
76
|
-
- uses: actions/setup-python@v5
|
|
77
|
-
with:
|
|
78
|
-
python-version: "3.12"
|
|
79
|
-
- name: Cache Rust build artifacts
|
|
80
|
-
uses: Swatinem/rust-cache@v2
|
|
81
|
-
with:
|
|
82
|
-
key: ${{ matrix.target }}
|
|
83
|
-
- uses: PyO3/maturin-action@v1
|
|
84
|
-
with:
|
|
85
|
-
target: ${{ matrix.target }}
|
|
86
|
-
args: --release --out dist
|
|
87
|
-
- uses: actions/upload-artifact@v4
|
|
88
|
-
with:
|
|
89
|
-
name: wheels-macos-${{ matrix.target }}
|
|
90
|
-
path: dist
|
|
91
|
-
|
|
92
|
-
windows:
|
|
93
|
-
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'windows'
|
|
94
|
-
runs-on: windows-latest
|
|
95
|
-
steps:
|
|
96
|
-
- uses: actions/checkout@v4
|
|
97
|
-
- uses: actions/setup-python@v5
|
|
98
|
-
with:
|
|
99
|
-
python-version: "3.12"
|
|
100
|
-
- name: Cache Rust build artifacts
|
|
101
|
-
uses: Swatinem/rust-cache@v2
|
|
102
|
-
- uses: PyO3/maturin-action@v1
|
|
103
|
-
with:
|
|
104
|
-
args: --release --out dist
|
|
105
|
-
- uses: actions/upload-artifact@v4
|
|
106
|
-
with:
|
|
107
|
-
name: wheels-windows
|
|
108
|
-
path: dist
|
|
109
|
-
|
|
110
|
-
sdist:
|
|
111
|
-
if: github.event_name == 'push' || inputs.job == 'all' || inputs.job == 'sdist'
|
|
112
|
-
runs-on: ubuntu-latest
|
|
113
|
-
steps:
|
|
114
|
-
- uses: actions/checkout@v4
|
|
115
|
-
- uses: PyO3/maturin-action@v1
|
|
116
|
-
with:
|
|
117
|
-
command: sdist
|
|
118
|
-
args: --out dist
|
|
119
|
-
- uses: actions/upload-artifact@v4
|
|
120
|
-
with:
|
|
121
|
-
name: wheels-sdist
|
|
122
|
-
path: dist
|
|
123
|
-
|
|
124
|
-
publish:
|
|
125
|
-
# Android was removed from this workflow entirely. PyO3 abi3 wheels require
|
|
126
|
-
# libpython3.9.so at link time — a library that does not exist in the Android
|
|
127
|
-
# NDK sysroot. There is no lightweight fix; a full Python-for-Android sysroot
|
|
128
|
-
# would be required. More importantly, PyPI does not serve Android wheel tags,
|
|
129
|
-
# so those wheels would never be pip-installable anyway.
|
|
130
|
-
needs: [linux, macos, windows, sdist]
|
|
131
|
-
if: |
|
|
132
|
-
always() &&
|
|
133
|
-
(github.event_name == 'push' || inputs.publish == true) &&
|
|
134
|
-
!contains(needs.*.result, 'failure') &&
|
|
135
|
-
!contains(needs.*.result, 'cancelled')
|
|
136
|
-
runs-on: ubuntu-latest
|
|
137
|
-
environment: pypi
|
|
138
|
-
permissions:
|
|
139
|
-
id-token: write
|
|
140
|
-
steps:
|
|
141
|
-
- uses: actions/download-artifact@v4
|
|
142
|
-
with:
|
|
143
|
-
pattern: "wheels-*"
|
|
144
|
-
merge-multiple: true
|
|
145
|
-
path: dist
|
|
146
|
-
- uses: PyO3/maturin-action@v1
|
|
147
|
-
with:
|
|
148
|
-
command: upload
|
|
149
|
-
args: --non-interactive --skip-existing dist/*
|
|
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
|