tgbotspec 0.2.4__py3-none-win_amd64.whl
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.
- README.md +103 -0
- tgbotspec/__init__.py +1 -0
- tgbotspec/_launcher.py +11 -0
- tgbotspec/bin/tgbotspec.exe +0 -0
- tgbotspec-0.2.4.dist-info/METADATA +109 -0
- tgbotspec-0.2.4.dist-info/RECORD +8 -0
- tgbotspec-0.2.4.dist-info/WHEEL +4 -0
- tgbotspec-0.2.4.dist-info/entry_points.txt +2 -0
README.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# tgbotspec
|
|
2
|
+
|
|
3
|
+
[](https://goreportcard.com/report/github.com/metalagman/tgbotspec)
|
|
4
|
+
[](https://github.com/metalagman/tgbotspec/actions/workflows/golangci-lint.yml)
|
|
5
|
+
[](https://github.com/metalagman/tgbotspec/actions/workflows/tests.yml)
|
|
6
|
+
[](https://codecov.io/github/metalagman/tgbotspec)
|
|
7
|
+
[](https://github.com/metalagman/tgbotspec/releases)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+
**tgbotspec** turns the official Telegram Bot API reference into an OpenAPI 3.0
|
|
11
|
+
specification. Use the generated file with SDK generators, API explorers, or
|
|
12
|
+
your own tooling.
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
- Methods: all Telegram Bot API methods are included as OpenAPI paths with proper HTTP verbs and parameters.
|
|
17
|
+
- Objects: all Bot API objects are generated as reusable component schemas.
|
|
18
|
+
- Any‑of/one‑of types: union types from the docs are modeled with OpenAPI `anyOf`/`oneOf` (and refs) so generators can produce correct sum types.
|
|
19
|
+
- Authorization: bearer token (`TelegramBotToken`) with server URL `https://api.telegram.org/bot{botToken}`.
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
- [TgBotKit Client OpenAPI (latest)](https://github.com/tgbotkit/client/releases/latest/download/openapi.yaml) (published by the client project)
|
|
24
|
+
- [TgBotKit Client](https://github.com/tgbotkit/client) (golang, generated with [oapi-codegen](https://github.com/oapi-codegen/oapi-codegen) from this spec)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Run in Docker
|
|
28
|
+
|
|
29
|
+
You can run the tool in a container and capture the generated OpenAPI to a file.
|
|
30
|
+
|
|
31
|
+
- Using the published image from GHCR:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
docker run --rm ghcr.io/metalagman/tgbotspec:latest > openapi.yaml
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Run from binary
|
|
38
|
+
|
|
39
|
+
Download the latest release for your platform from
|
|
40
|
+
[GitHub Releases](https://github.com/metalagman/tgbotspec/releases) and run:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
./tgbotspec -o openapi.yaml
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Build and run locally
|
|
47
|
+
|
|
48
|
+
All commands require Go 1.24+ when building locally.
|
|
49
|
+
|
|
50
|
+
- (Recommended) Add the CLI as a tool to your project and run it:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
go get -tool github.com/metalagman/tgbotspec/cmd/tgbotspec@latest
|
|
54
|
+
go tool tgbotspec -o openapi.yaml
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- Install the CLI into your GOPATH/bin and run it:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
go install github.com/metalagman/tgbotspec/cmd/tgbotspec@latest
|
|
61
|
+
tgbotspec -o openapi.yaml
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- Or build a local binary from this repo and run it:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
go build -o tgbotspec ./cmd/tgbotspec
|
|
68
|
+
./tgbotspec -o openapi.yaml
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Multi-platform Distribution (Omnidist)
|
|
72
|
+
|
|
73
|
+
This repository includes Omnidist configuration in `.omnidist/omnidist.yaml` and
|
|
74
|
+
a generated GitHub Actions workflow at
|
|
75
|
+
`.github/workflows/omnidist-release.yml`.
|
|
76
|
+
|
|
77
|
+
Local Omnidist commands (using npm package `@omnidist/omnidist@latest`):
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
task omnidist:build
|
|
81
|
+
task omnidist:stage
|
|
82
|
+
task omnidist:verify
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
One-time Omnidist bootstrap in this repo:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
task omnidist:init
|
|
89
|
+
task omnidist:ci
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For tag-based release publishing in GitHub Actions, set repository secrets:
|
|
93
|
+
`NPM_PUBLISH_TOKEN` and `UV_PUBLISH_TOKEN`.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## Links
|
|
97
|
+
|
|
98
|
+
- Telegram Bot API: https://core.telegram.org/bots/api
|
|
99
|
+
- OpenAPI Specification: https://learn.openapis.org
|
|
100
|
+
|
|
101
|
+
## License
|
|
102
|
+
|
|
103
|
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
tgbotspec/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Generated by omnidist."""
|
tgbotspec/_launcher.py
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
import sys
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def main() -> int:
|
|
7
|
+
binary = Path(__file__).resolve().parent / "bin" / "tgbotspec.exe"
|
|
8
|
+
if not binary.exists():
|
|
9
|
+
print(f"Binary not found: {binary}", file=sys.stderr)
|
|
10
|
+
return 1
|
|
11
|
+
return subprocess.call([str(binary), *sys.argv[1:]])
|
|
Binary file
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: tgbotspec
|
|
3
|
+
Version: 0.2.4
|
|
4
|
+
Summary: Binary distribution for tgbotspec
|
|
5
|
+
Description-Content-Type: text/markdown
|
|
6
|
+
|
|
7
|
+
# tgbotspec
|
|
8
|
+
|
|
9
|
+
[](https://goreportcard.com/report/github.com/metalagman/tgbotspec)
|
|
10
|
+
[](https://github.com/metalagman/tgbotspec/actions/workflows/golangci-lint.yml)
|
|
11
|
+
[](https://github.com/metalagman/tgbotspec/actions/workflows/tests.yml)
|
|
12
|
+
[](https://codecov.io/github/metalagman/tgbotspec)
|
|
13
|
+
[](https://github.com/metalagman/tgbotspec/releases)
|
|
14
|
+
[](LICENSE)
|
|
15
|
+
|
|
16
|
+
**tgbotspec** turns the official Telegram Bot API reference into an OpenAPI 3.0
|
|
17
|
+
specification. Use the generated file with SDK generators, API explorers, or
|
|
18
|
+
your own tooling.
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
- Methods: all Telegram Bot API methods are included as OpenAPI paths with proper HTTP verbs and parameters.
|
|
23
|
+
- Objects: all Bot API objects are generated as reusable component schemas.
|
|
24
|
+
- Any‑of/one‑of types: union types from the docs are modeled with OpenAPI `anyOf`/`oneOf` (and refs) so generators can produce correct sum types.
|
|
25
|
+
- Authorization: bearer token (`TelegramBotToken`) with server URL `https://api.telegram.org/bot{botToken}`.
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
- [TgBotKit Client OpenAPI (latest)](https://github.com/tgbotkit/client/releases/latest/download/openapi.yaml) (published by the client project)
|
|
30
|
+
- [TgBotKit Client](https://github.com/tgbotkit/client) (golang, generated with [oapi-codegen](https://github.com/oapi-codegen/oapi-codegen) from this spec)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Run in Docker
|
|
34
|
+
|
|
35
|
+
You can run the tool in a container and capture the generated OpenAPI to a file.
|
|
36
|
+
|
|
37
|
+
- Using the published image from GHCR:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
docker run --rm ghcr.io/metalagman/tgbotspec:latest > openapi.yaml
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Run from binary
|
|
44
|
+
|
|
45
|
+
Download the latest release for your platform from
|
|
46
|
+
[GitHub Releases](https://github.com/metalagman/tgbotspec/releases) and run:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
./tgbotspec -o openapi.yaml
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Build and run locally
|
|
53
|
+
|
|
54
|
+
All commands require Go 1.24+ when building locally.
|
|
55
|
+
|
|
56
|
+
- (Recommended) Add the CLI as a tool to your project and run it:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
go get -tool github.com/metalagman/tgbotspec/cmd/tgbotspec@latest
|
|
60
|
+
go tool tgbotspec -o openapi.yaml
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
- Install the CLI into your GOPATH/bin and run it:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
go install github.com/metalagman/tgbotspec/cmd/tgbotspec@latest
|
|
67
|
+
tgbotspec -o openapi.yaml
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- Or build a local binary from this repo and run it:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
go build -o tgbotspec ./cmd/tgbotspec
|
|
74
|
+
./tgbotspec -o openapi.yaml
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Multi-platform Distribution (Omnidist)
|
|
78
|
+
|
|
79
|
+
This repository includes Omnidist configuration in `.omnidist/omnidist.yaml` and
|
|
80
|
+
a generated GitHub Actions workflow at
|
|
81
|
+
`.github/workflows/omnidist-release.yml`.
|
|
82
|
+
|
|
83
|
+
Local Omnidist commands (using npm package `@omnidist/omnidist@latest`):
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
task omnidist:build
|
|
87
|
+
task omnidist:stage
|
|
88
|
+
task omnidist:verify
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
One-time Omnidist bootstrap in this repo:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
task omnidist:init
|
|
95
|
+
task omnidist:ci
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For tag-based release publishing in GitHub Actions, set repository secrets:
|
|
99
|
+
`NPM_PUBLISH_TOKEN` and `UV_PUBLISH_TOKEN`.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## Links
|
|
103
|
+
|
|
104
|
+
- Telegram Bot API: https://core.telegram.org/bots/api
|
|
105
|
+
- OpenAPI Specification: https://learn.openapis.org
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
tgbotspec/__init__.py,sha256=HWwldQJSWbxZb9T5-9ngAY7Uph9RNm5OwTvl_Z0AOkA,29
|
|
2
|
+
tgbotspec/_launcher.py,sha256=Z-4k-BWlz5r3u28LnvmAJdZw83ROZHknxOrt_0ta4dI,310
|
|
3
|
+
tgbotspec/bin/tgbotspec.exe,sha256=LgsnAuz-LuU10nDRdch1MGW11WsFYComVEydZfsf-1I,10027008
|
|
4
|
+
tgbotspec-0.2.4.dist-info/WHEEL,sha256=VqIYGaHi1pFN2YAE9AcBxq6bYteF2cs1Up6zNBVzgpo,86
|
|
5
|
+
tgbotspec-0.2.4.dist-info/METADATA,sha256=crqlQn3ReosBiPhAPcg3vOmP4DWYpJFIAz53ByvPx5c,3703
|
|
6
|
+
tgbotspec-0.2.4.dist-info/entry_points.txt,sha256=Gqj6g4xFWXczLnL3PcM4vfD3-hGtwlShMWfC4cyYBkw,53
|
|
7
|
+
README.md,sha256=_79qwn-mTlgA2930-loe9FRZaEW18KE_fig_xxXtlxY,3566
|
|
8
|
+
tgbotspec-0.2.4.dist-info/RECORD,,
|