tg-markdown-to-flex 0.1.0__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.
@@ -0,0 +1,19 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - run: cargo fmt --check
18
+ - run: cargo clippy -- -D warnings
19
+ - run: cargo test
@@ -0,0 +1,76 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ linux:
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ matrix:
16
+ target: [x86_64, aarch64]
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: PyO3/maturin-action@v1
20
+ with:
21
+ target: ${{ matrix.target }}
22
+ args: --release --out dist -i python3.13
23
+ manylinux: auto
24
+ - uses: actions/upload-artifact@v4
25
+ with:
26
+ name: wheels-linux-${{ matrix.target }}
27
+ path: dist
28
+
29
+ macos:
30
+ runs-on: macos-latest
31
+ strategy:
32
+ matrix:
33
+ target: [x86_64, aarch64]
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ - uses: actions/setup-python@v5
37
+ with:
38
+ python-version: "3.13"
39
+ - uses: PyO3/maturin-action@v1
40
+ with:
41
+ target: ${{ matrix.target }}
42
+ args: --release --out dist
43
+ - uses: actions/upload-artifact@v4
44
+ with:
45
+ name: wheels-macos-${{ matrix.target }}
46
+ path: dist
47
+
48
+ sdist:
49
+ runs-on: ubuntu-latest
50
+ steps:
51
+ - uses: actions/checkout@v4
52
+ - uses: PyO3/maturin-action@v1
53
+ with:
54
+ command: sdist
55
+ args: --out dist
56
+ - uses: actions/upload-artifact@v4
57
+ with:
58
+ name: wheels-sdist
59
+ path: dist
60
+
61
+ publish:
62
+ name: Publish to PyPI
63
+ runs-on: ubuntu-latest
64
+ needs: [linux, macos, sdist]
65
+ # Trusted publisher: configure at https://pypi.org/manage/project/tg-markdown-to-flex/settings/publishing/
66
+ environment: pypi
67
+ permissions:
68
+ id-token: write
69
+ steps:
70
+ - uses: actions/download-artifact@v4
71
+ with:
72
+ pattern: wheels-*
73
+ merge-multiple: true
74
+ path: dist/
75
+ - uses: astral-sh/setup-uv@v5
76
+ - run: uv publish --trusted-publishing always dist/*
@@ -0,0 +1,7 @@
1
+ /target
2
+ /.venv
3
+ *.pyc
4
+ __pycache__
5
+ *.so
6
+ *.dylib
7
+ dist/
@@ -0,0 +1,219 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "diff"
7
+ version = "0.1.13"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
10
+
11
+ [[package]]
12
+ name = "heck"
13
+ version = "0.5.0"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
16
+
17
+ [[package]]
18
+ name = "itoa"
19
+ version = "1.0.17"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
22
+
23
+ [[package]]
24
+ name = "libc"
25
+ version = "0.2.183"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
28
+
29
+ [[package]]
30
+ name = "memchr"
31
+ version = "2.8.0"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
34
+
35
+ [[package]]
36
+ name = "once_cell"
37
+ version = "1.21.4"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
40
+
41
+ [[package]]
42
+ name = "portable-atomic"
43
+ version = "1.13.1"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
46
+
47
+ [[package]]
48
+ name = "pretty_assertions"
49
+ version = "1.4.1"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d"
52
+ dependencies = [
53
+ "diff",
54
+ "yansi",
55
+ ]
56
+
57
+ [[package]]
58
+ name = "proc-macro2"
59
+ version = "1.0.106"
60
+ source = "registry+https://github.com/rust-lang/crates.io-index"
61
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
62
+ dependencies = [
63
+ "unicode-ident",
64
+ ]
65
+
66
+ [[package]]
67
+ name = "pyo3"
68
+ version = "0.28.2"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1"
71
+ dependencies = [
72
+ "libc",
73
+ "once_cell",
74
+ "portable-atomic",
75
+ "pyo3-build-config",
76
+ "pyo3-ffi",
77
+ "pyo3-macros",
78
+ ]
79
+
80
+ [[package]]
81
+ name = "pyo3-build-config"
82
+ version = "0.28.2"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7"
85
+ dependencies = [
86
+ "target-lexicon",
87
+ ]
88
+
89
+ [[package]]
90
+ name = "pyo3-ffi"
91
+ version = "0.28.2"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc"
94
+ dependencies = [
95
+ "libc",
96
+ "pyo3-build-config",
97
+ ]
98
+
99
+ [[package]]
100
+ name = "pyo3-macros"
101
+ version = "0.28.2"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e"
104
+ dependencies = [
105
+ "proc-macro2",
106
+ "pyo3-macros-backend",
107
+ "quote",
108
+ "syn",
109
+ ]
110
+
111
+ [[package]]
112
+ name = "pyo3-macros-backend"
113
+ version = "0.28.2"
114
+ source = "registry+https://github.com/rust-lang/crates.io-index"
115
+ checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a"
116
+ dependencies = [
117
+ "heck",
118
+ "proc-macro2",
119
+ "pyo3-build-config",
120
+ "quote",
121
+ "syn",
122
+ ]
123
+
124
+ [[package]]
125
+ name = "quote"
126
+ version = "1.0.45"
127
+ source = "registry+https://github.com/rust-lang/crates.io-index"
128
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
129
+ dependencies = [
130
+ "proc-macro2",
131
+ ]
132
+
133
+ [[package]]
134
+ name = "serde"
135
+ version = "1.0.228"
136
+ source = "registry+https://github.com/rust-lang/crates.io-index"
137
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
138
+ dependencies = [
139
+ "serde_core",
140
+ "serde_derive",
141
+ ]
142
+
143
+ [[package]]
144
+ name = "serde_core"
145
+ version = "1.0.228"
146
+ source = "registry+https://github.com/rust-lang/crates.io-index"
147
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
148
+ dependencies = [
149
+ "serde_derive",
150
+ ]
151
+
152
+ [[package]]
153
+ name = "serde_derive"
154
+ version = "1.0.228"
155
+ source = "registry+https://github.com/rust-lang/crates.io-index"
156
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
157
+ dependencies = [
158
+ "proc-macro2",
159
+ "quote",
160
+ "syn",
161
+ ]
162
+
163
+ [[package]]
164
+ name = "serde_json"
165
+ version = "1.0.149"
166
+ source = "registry+https://github.com/rust-lang/crates.io-index"
167
+ checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
168
+ dependencies = [
169
+ "itoa",
170
+ "memchr",
171
+ "serde",
172
+ "serde_core",
173
+ "zmij",
174
+ ]
175
+
176
+ [[package]]
177
+ name = "syn"
178
+ version = "2.0.117"
179
+ source = "registry+https://github.com/rust-lang/crates.io-index"
180
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
181
+ dependencies = [
182
+ "proc-macro2",
183
+ "quote",
184
+ "unicode-ident",
185
+ ]
186
+
187
+ [[package]]
188
+ name = "target-lexicon"
189
+ version = "0.13.5"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
192
+
193
+ [[package]]
194
+ name = "tg-markdown-to-flex"
195
+ version = "0.1.0"
196
+ dependencies = [
197
+ "pretty_assertions",
198
+ "pyo3",
199
+ "serde",
200
+ "serde_json",
201
+ ]
202
+
203
+ [[package]]
204
+ name = "unicode-ident"
205
+ version = "1.0.24"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
208
+
209
+ [[package]]
210
+ name = "yansi"
211
+ version = "1.0.1"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
214
+
215
+ [[package]]
216
+ name = "zmij"
217
+ version = "1.0.21"
218
+ source = "registry+https://github.com/rust-lang/crates.io-index"
219
+ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
@@ -0,0 +1,20 @@
1
+ [package]
2
+ name = "tg-markdown-to-flex"
3
+ version = "0.1.0"
4
+ description = "Convert Telegram MarkdownV2 text to LINE Flex Messages"
5
+ authors = ["Vlad Stepanov <utterstep@hey.com>"]
6
+ edition = "2024"
7
+
8
+ [lib]
9
+ crate-type = ["cdylib", "rlib"]
10
+
11
+ [dependencies]
12
+ serde = { version = "1.0", features = ["derive"] }
13
+ serde_json = "1.0"
14
+ pyo3 = { version = "0.28", features = ["extension-module"], optional = true }
15
+
16
+ [features]
17
+ python = ["dep:pyo3"]
18
+
19
+ [dev-dependencies]
20
+ pretty_assertions = "1.3"
@@ -0,0 +1,11 @@
1
+ Metadata-Version: 2.4
2
+ Name: tg-markdown-to-flex
3
+ Version: 0.1.0
4
+ Classifier: Programming Language :: Rust
5
+ Classifier: Programming Language :: Python :: Implementation :: CPython
6
+ Classifier: Programming Language :: Python :: 3.13
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Summary: Convert Telegram MarkdownV2 text to LINE Flex Messages
9
+ Author-email: Vlad Stepanov <utterstep@hey.com>
10
+ License: MIT
11
+ Requires-Python: >=3.13