aicp-cli 0.20.2__tar.gz → 0.20.4__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.
- aicp_cli-0.20.4/.github/dependabot.yml +19 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/.github/workflows/ci.yml +2 -2
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/.github/workflows/release.yml +2 -2
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/CHANGELOG.md +14 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/PKG-INFO +2 -2
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/pyproject.toml +2 -2
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/skills/commit.md +1 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_skills.py +14 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/uv.lock +24 -24
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/.gitignore +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/CLAUDE.md +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/LICENSE +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/README.md +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/TODO.md +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/config.example.json +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/docs/images/aicp-run.png +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/skills/safe-git-push/SKILL.md +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/skills/safe-git-push/scripts/safe_push.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/__init__.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/_keyreader.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/_utils.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/agentcfg.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/agents.json +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/agents.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/budget.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/cli.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/config.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/contracts.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/gitflow.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/i18n.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/logo.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/menu.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/notify.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/present.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/quota.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/runner.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/secrets.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/skills.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/telegram_store.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/timing.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/update_check.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/conftest.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_agentcfg.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_agents.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_budget.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_cli.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_config.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_cross_platform.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_gitflow.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_i18n.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_logo.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu_settings_io.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu_skills.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu_telegram.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_notify.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_present.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_quota.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_runner.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_secrets.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_telegram_store.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_timing.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_undo.py +0 -0
- {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_update_check.py +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
# Actions stay pinned by commit SHA with a "# vX.Y.Z" comment; Dependabot
|
|
4
|
+
# understands that form and bumps both the SHA and the comment.
|
|
5
|
+
- package-ecosystem: github-actions
|
|
6
|
+
directory: /
|
|
7
|
+
schedule:
|
|
8
|
+
interval: weekly
|
|
9
|
+
commit-message:
|
|
10
|
+
prefix: "chore(deps)"
|
|
11
|
+
- package-ecosystem: uv
|
|
12
|
+
directory: /
|
|
13
|
+
schedule:
|
|
14
|
+
interval: weekly
|
|
15
|
+
commit-message:
|
|
16
|
+
prefix: "chore(deps)"
|
|
17
|
+
groups:
|
|
18
|
+
minor-and-patch:
|
|
19
|
+
update-types: [minor, patch]
|
|
@@ -24,10 +24,10 @@ jobs:
|
|
|
24
24
|
os: [macos-latest, ubuntu-latest, windows-latest]
|
|
25
25
|
runs-on: ${{ matrix.os }}
|
|
26
26
|
steps:
|
|
27
|
-
- uses: actions/checkout@
|
|
27
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
28
28
|
with:
|
|
29
29
|
persist-credentials: false
|
|
30
|
-
- uses: astral-sh/setup-uv@
|
|
30
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
31
31
|
with:
|
|
32
32
|
python-version: "3.10"
|
|
33
33
|
enable-cache: true
|
|
@@ -20,10 +20,10 @@ jobs:
|
|
|
20
20
|
runs-on: ubuntu-latest
|
|
21
21
|
timeout-minutes: 15
|
|
22
22
|
steps:
|
|
23
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
24
24
|
with:
|
|
25
25
|
persist-credentials: false
|
|
26
|
-
- uses: astral-sh/setup-uv@
|
|
26
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
27
27
|
with:
|
|
28
28
|
python-version: "3.10"
|
|
29
29
|
enable-cache: true
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [0.20.4] - 2026-10-06
|
|
2
|
+
|
|
3
|
+
### 🐛 Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **skills:** Add name to vendored commit frontmatter
|
|
6
|
+
|
|
7
|
+
### ⚙️ Miscellaneous Tasks
|
|
8
|
+
|
|
9
|
+
- Add Dependabot config (github-actions, uv)
|
|
10
|
+
## [0.20.3] - 2026-10-04
|
|
11
|
+
|
|
12
|
+
### 💼 Other
|
|
13
|
+
|
|
14
|
+
- **deps:** Require telegram-kit 0.2.2
|
|
1
15
|
## [0.20.2] - 2026-10-03
|
|
2
16
|
## [0.20.1] - 2026-10-03
|
|
3
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: aicp-cli
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.4
|
|
4
4
|
Summary: AI commit + push, with a git-verified result summary
|
|
5
5
|
Project-URL: Repository, https://github.com/weskao/aicp
|
|
6
6
|
Project-URL: Issues, https://github.com/weskao/aicp/issues
|
|
@@ -8,7 +8,7 @@ Author: Wes Kao
|
|
|
8
8
|
License: MIT
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
|
-
Requires-Dist: telegram-kit<0.3,>=0.2.
|
|
11
|
+
Requires-Dist: telegram-kit<0.3,>=0.2.2
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
|
|
14
14
|
# aicp
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
# PyPI distribution name only — the `aicp` name was taken in 2021 by an
|
|
3
3
|
# unrelated project. The command, import path and repo stay `aicp`.
|
|
4
4
|
name = "aicp-cli"
|
|
5
|
-
version = "0.20.
|
|
5
|
+
version = "0.20.4"
|
|
6
6
|
description = "AI commit + push, with a git-verified result summary"
|
|
7
7
|
readme = "README.md"
|
|
8
8
|
requires-python = ">=3.10"
|
|
9
9
|
authors = [{ name = "Wes Kao" }]
|
|
10
10
|
license = { text = "MIT" }
|
|
11
11
|
dependencies = [
|
|
12
|
-
"telegram-kit>=0.2.
|
|
12
|
+
"telegram-kit>=0.2.2,<0.3",
|
|
13
13
|
]
|
|
14
14
|
|
|
15
15
|
[project.scripts]
|
|
@@ -205,6 +205,20 @@ def test_memory_file_and_config_dir_rewritten_per_cli(configured, name, dir_ref,
|
|
|
205
205
|
assert ".claude" not in text
|
|
206
206
|
|
|
207
207
|
|
|
208
|
+
@pytest.mark.parametrize("skill", sorted(skills.SKILLS))
|
|
209
|
+
def test_installed_skill_frontmatter_names_the_skill(configured, skill):
|
|
210
|
+
"""agy (and codex/opencode) silently drop a SKILL.md whose frontmatter
|
|
211
|
+
has no ``name:`` — the vendored commit.md once shipped with only
|
|
212
|
+
``description:``, so ``/commit`` vanished from agy."""
|
|
213
|
+
h = configured("agy")
|
|
214
|
+
skills.install([cli("agy")], home=h)
|
|
215
|
+
|
|
216
|
+
target = skills.target_path(cli("agy"), skill, home=h)
|
|
217
|
+
skill_md = target / "SKILL.md" if skills.SKILLS[skill].is_dir else target
|
|
218
|
+
frontmatter = skill_md.read_text(encoding="utf-8").split("---\n", 2)[1]
|
|
219
|
+
assert f"name: {skill}\n" in frontmatter
|
|
220
|
+
|
|
221
|
+
|
|
208
222
|
def test_claude_install_keeps_its_own_paths(configured):
|
|
209
223
|
"""Rewriting is a no-op for claude itself — nothing to break."""
|
|
210
224
|
h = configured("claude")
|
|
@@ -4,7 +4,7 @@ requires-python = ">=3.10"
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "aicp-cli"
|
|
7
|
-
version = "0.20.
|
|
7
|
+
version = "0.20.4"
|
|
8
8
|
source = { editable = "." }
|
|
9
9
|
dependencies = [
|
|
10
10
|
{ name = "telegram-kit" },
|
|
@@ -18,7 +18,7 @@ dev = [
|
|
|
18
18
|
]
|
|
19
19
|
|
|
20
20
|
[package.metadata]
|
|
21
|
-
requires-dist = [{ name = "telegram-kit", specifier = ">=0.2.
|
|
21
|
+
requires-dist = [{ name = "telegram-kit", specifier = ">=0.2.2,<0.3" }]
|
|
22
22
|
|
|
23
23
|
[package.metadata.requires-dev]
|
|
24
24
|
dev = [
|
|
@@ -132,36 +132,36 @@ wheels = [
|
|
|
132
132
|
|
|
133
133
|
[[package]]
|
|
134
134
|
name = "ruff"
|
|
135
|
-
version = "0.16.
|
|
135
|
+
version = "0.16.10"
|
|
136
136
|
source = { registry = "https://pypi.org/simple" }
|
|
137
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
137
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c4/49/23802c45f093eb14bde54b141d2b2f058edfa63a06db7beed047308cc08f/ruff-0.16.10.tar.gz", hash = "sha256:eff4728c4eaae93f0955cd264d24b2ab348e74bf59986ccf282ba6dc16b3b017", size = 4958724, upload-time = "2026-10-01T18:03:21.697Z" }
|
|
138
138
|
wheels = [
|
|
139
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
140
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
141
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
142
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
143
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
144
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
145
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
146
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
147
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
148
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
149
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
150
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
151
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
152
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
153
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
154
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
155
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
139
|
+
{ url = "https://files.pythonhosted.org/packages/2f/21/ebce22e1d90cdb2cd691026b9c6e9bec6499f0b396089481755b5d49efff/ruff-0.16.10-py3-none-linux_armv6l.whl", hash = "sha256:488b0fe3f3574210e5cf80d9f59b9e3ab17a127a8155de3f307b392589cfb511", size = 10095557, upload-time = "2026-10-01T18:02:36.072Z" },
|
|
140
|
+
{ url = "https://files.pythonhosted.org/packages/cb/98/a54de85876a8b2612bfa0d84c7b9abfb39c6a3354aee7800b09c1649b9e3/ruff-0.16.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e748ff95c934c4e978783b8e687bc174e7bd84e8ad24e3243e1ecfcda5e0282d", size = 10340577, upload-time = "2026-10-01T18:02:39.258Z" },
|
|
141
|
+
{ url = "https://files.pythonhosted.org/packages/9f/16/1a5a4a2657effe4806110f2b907313802f1367fcdbb29e8122766e407fab/ruff-0.16.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3031a4a2e8e7b8a46f70be45f198c35a11ece509a94b80334d8d397a33c67550", size = 9774282, upload-time = "2026-10-01T18:02:41.79Z" },
|
|
142
|
+
{ url = "https://files.pythonhosted.org/packages/6e/fb/470085af734da396e68cd80fb0a3e7c109a459716ae59588c0f6fab8a17d/ruff-0.16.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:494401c86df4c4c25f69b9419605d944467ee98c42fb6ad405ef4fa40b8fb67d", size = 9920895, upload-time = "2026-10-01T18:02:44.458Z" },
|
|
143
|
+
{ url = "https://files.pythonhosted.org/packages/57/de/f10cffe4f88a37ea6615ec460f01bf76f0bc1477737a35d9ee61a630a78b/ruff-0.16.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d203abc0ff2b773ee33d00ab8df0bb67046fbc7c07b119332f08b9b345cf8221", size = 9902707, upload-time = "2026-10-01T18:02:47.041Z" },
|
|
144
|
+
{ url = "https://files.pythonhosted.org/packages/ff/44/3fdcedf83ae60ef837dd239170e480dce606a9142cfa2db911afdf855fd9/ruff-0.16.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd83d1235a5258d318477bc5b576303974cbdef5df0c01a1bff14efcc23bd12a", size = 10619287, upload-time = "2026-10-01T18:02:49.485Z" },
|
|
145
|
+
{ url = "https://files.pythonhosted.org/packages/c1/62/02e76a5574002153618eafbb70e159468addc72a5d2c488e65cbb4639d2d/ruff-0.16.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc2610fb269fa56dd8a68669ae470fa6272902668c0fc2ebc3aa112b2633d5b8", size = 11339942, upload-time = "2026-10-01T18:02:52.008Z" },
|
|
146
|
+
{ url = "https://files.pythonhosted.org/packages/6b/c4/cde27d47ad8d4126c587e608c67c46e7feac11763f606d261a1bc8a489e6/ruff-0.16.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e70175e29cc94c26ea296c80e470180b744b7419026898e58f520c6ab32578e", size = 10934316, upload-time = "2026-10-01T18:02:54.811Z" },
|
|
147
|
+
{ url = "https://files.pythonhosted.org/packages/e4/03/17234145f302a645a123e8c3bb2411ecf4669fbc350de3b0d803230a1729/ruff-0.16.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f33f43a864a8483eebd160e713336c8bab02c934feaff0a33cf5ccb41546d09a", size = 10387968, upload-time = "2026-10-01T18:02:57.497Z" },
|
|
148
|
+
{ url = "https://files.pythonhosted.org/packages/71/29/2493af60240ee7644b38a4b821f5f9c3b5a4fa3178770fe1d0c685217395/ruff-0.16.10-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:1dfc6f0088149fb6a362c1c446bcbb3fd2157b3852fe2fa68409276eab9ad9b3", size = 10537906, upload-time = "2026-10-01T18:03:00.006Z" },
|
|
149
|
+
{ url = "https://files.pythonhosted.org/packages/2e/9a/f56b28f3b143bb9e518c34fb89ab191b626bca8b70dbf8af0d2e2d473572/ruff-0.16.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6553498afc35f580f036030795810b9e6bcea31604b0fd9e8d352795473042e3", size = 10012938, upload-time = "2026-10-01T18:03:03.006Z" },
|
|
150
|
+
{ url = "https://files.pythonhosted.org/packages/c2/c4/fca37362848ea4d4d80712df13632e645e7c7cfb1bdedf140699ac7a090b/ruff-0.16.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a3b8471dea115d37f123882be852bed13403746d3a76c11de4a19ec5f9ff5a03", size = 9897945, upload-time = "2026-10-01T18:03:05.818Z" },
|
|
151
|
+
{ url = "https://files.pythonhosted.org/packages/7d/c7/e0bc57664d6e0c61fd22f620af260fe9662d7e1ddb320ea7f160e76ef165/ruff-0.16.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:92e59a70bcbd9d3a5483656da906ec28edfdacfce00afd99edb8b4e9d15644be", size = 10333134, upload-time = "2026-10-01T18:03:08.25Z" },
|
|
152
|
+
{ url = "https://files.pythonhosted.org/packages/21/aa/5c9f3b68737c0e4a33a1db5dfab44f7b786d96ca91a7233112ddab1e6dc2/ruff-0.16.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7ae7375f803b5520dc9f546bed7e3a0acb70b91812e9bb4b19927de22f25b77d", size = 10741702, upload-time = "2026-10-01T18:03:10.775Z" },
|
|
153
|
+
{ url = "https://files.pythonhosted.org/packages/78/fa/0f9c2020dc316c53d983be011720b8157cc052b97e3f4dfa7db6d0f880a6/ruff-0.16.10-py3-none-win32.whl", hash = "sha256:2a12e01cb9156c10c466f63b46eaae5ecea28dfbd21b5836353ae498e7d1349a", size = 10139176, upload-time = "2026-10-01T18:03:13.267Z" },
|
|
154
|
+
{ url = "https://files.pythonhosted.org/packages/99/29/cfb0df9448d4d4ad48c2de029ada9ebd71baa6da983a6c77ee6c6cd0fe82/ruff-0.16.10-py3-none-win_amd64.whl", hash = "sha256:97f2015c92aa97105b0eab19eb5d224884399281cfc5da86a92db4ab5e7fb2ca", size = 10584734, upload-time = "2026-10-01T18:03:16.006Z" },
|
|
155
|
+
{ url = "https://files.pythonhosted.org/packages/fc/05/c16957eb287c3fc062e032619a25868d93d408a844b725bcf514f7a378ff/ruff-0.16.10-py3-none-win_arm64.whl", hash = "sha256:25a65fe998c4e6861ec079ada5826a2fc605e6cbccbe9dcd7fac1f54e791621b", size = 10366440, upload-time = "2026-10-01T18:03:19.04Z" },
|
|
156
156
|
]
|
|
157
157
|
|
|
158
158
|
[[package]]
|
|
159
159
|
name = "telegram-kit"
|
|
160
|
-
version = "0.2.
|
|
160
|
+
version = "0.2.2"
|
|
161
161
|
source = { registry = "https://pypi.org/simple" }
|
|
162
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
162
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0c/2f/cde074208fc1349be6a20a9bfe1a21a3fc38c5c2075e04156ffa0d8e2c3b/telegram_kit-0.2.2.tar.gz", hash = "sha256:4706da2d145db427ee7a41a382316886e449d52bec6381390186c197a156276d", size = 21395, upload-time = "2026-10-03T20:39:02.228Z" }
|
|
163
163
|
wheels = [
|
|
164
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
164
|
+
{ url = "https://files.pythonhosted.org/packages/a0/59/841180442f43848a3bb6dd21ad617bb69f15a78be0c7a10947073acd7513/telegram_kit-0.2.2-py3-none-any.whl", hash = "sha256:a73ab2ae1c81a03be359ff50975a311aef4c803b2eda674b8272102616ce305a", size = 10750, upload-time = "2026-10-03T20:39:01.199Z" },
|
|
165
165
|
]
|
|
166
166
|
|
|
167
167
|
[[package]]
|
|
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
|