android-watcher 1.0.1__tar.gz → 1.0.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.
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/workflows/release.yml +15 -6
- android_watcher-1.0.2/Formula/android-watcher.rb +110 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/PKG-INFO +1 -1
- {android_watcher-1.0.1 → android_watcher-1.0.2}/pyproject.toml +1 -1
- {android_watcher-1.0.1 → android_watcher-1.0.2}/uv.lock +1 -1
- android_watcher-1.0.1/Formula/android-watcher.rb +0 -27
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.editorconfig +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/workflows/ci.yml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.github/workflows/seed.yml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.gitignore +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/.pre-commit-config.yaml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/CLAUDE.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/CODE_OF_CONDUCT.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/CONTRIBUTING.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/LICENSE +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/README.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/SECURITY.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/assets/logo.svg +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/docs/scheduling.md +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/scripts/build_seed.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/scripts/verify_catalog.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/catalog/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/catalog/catalog.toml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/cli.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/config.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/_normalize.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/android_sitemap.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/base.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/content.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/feed.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/sitemap.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/doctor.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/fetch.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/group.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/lock.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/models.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/base.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/desktop.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/email.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/html.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/render.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/slack.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/notify/telegram.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/rank.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/registry.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/run.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/schedule.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/seed/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/seed/seed.sql.gz +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/store.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/triage/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/triage/base.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/triage/claude_cli.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/triage/noop.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/tui/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/tui/app.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/tui/configio.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/tui/screens.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/conftest.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_android_sitemap.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_base.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_confirm_shared.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_content.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_feed.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_normalize.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_registry_autoload.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_registry_resolution.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/detect/test_sitemap.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/claude_cli_envelope.json +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/content_after_chrome_only.html +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/content_after_real_change.html +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/content_before.html +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/content_js_shell.html +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/feed_guid_reuse.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/feed_initial.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/feed_updated_summary.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/schedule/android-watcher.service +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/schedule/android-watcher.timer +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/schedule/launchd_daily.plist +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/sitemap_index.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/sitemap_shard0.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/sitemap_shard_i18n.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/sitemap_simple.xml +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/snapshots/normal_email.html +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/snapshots/normal_email.txt +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/snapshots/normal_slack.json +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_base.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_desktop.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_email.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_html.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_render.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_slack.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/notify/test_telegram.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/run/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/run/test_detect_and_persist.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/run/test_run_once.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_catalog.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_catalog_data.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_cli.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_cli_schedule.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_config.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_configio.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_configio_custom_source_roundtrip.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_contributing_docs.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_docs_scheduling.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_doctor.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_fetch.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_group.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_homebrew_formula.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_lock.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_models.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_packaging.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_rank.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_readme_disclosures.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_registry.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_release_workflow.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_schedule_crontab.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_schedule_install.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_schedule_plist.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_schedule_status.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_schedule_systemd.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_seed.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_seed_workflow.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_store.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_tui_smoke.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_verify_catalog_smoke.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/triage/__init__.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/triage/test_base.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/triage/test_claude_cli.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/triage/test_claude_cli_prompt.py +0 -0
- {android_watcher-1.0.1 → android_watcher-1.0.2}/tests/triage/test_noop.py +0 -0
|
@@ -98,11 +98,11 @@ jobs:
|
|
|
98
98
|
- name: Set up Homebrew
|
|
99
99
|
uses: Homebrew/actions/setup-homebrew@master
|
|
100
100
|
|
|
101
|
-
# Best-effort and non-blocking
|
|
102
|
-
#
|
|
103
|
-
#
|
|
104
|
-
#
|
|
105
|
-
#
|
|
101
|
+
# Best-effort and non-blocking. `brew update-python-resources` refuses a loose
|
|
102
|
+
# formula file, so it is staged inside a throwaway local tap below. It can
|
|
103
|
+
# still fail to resolve a same-day PyPI upload, whose publish postdates
|
|
104
|
+
# Homebrew's reproducibility cutoff. Never let that fail the release;
|
|
105
|
+
# regenerate the resource blocks out-of-band when it does, then commit.
|
|
106
106
|
- name: Update Homebrew formula
|
|
107
107
|
continue-on-error: true
|
|
108
108
|
run: |
|
|
@@ -133,7 +133,16 @@ jobs:
|
|
|
133
133
|
open(p, "w").write(s)
|
|
134
134
|
PY
|
|
135
135
|
# Regenerate every pinned dependency `resource` block against this release.
|
|
136
|
-
|
|
136
|
+
# update-python-resources only operates on a formula inside a tap, so stage
|
|
137
|
+
# it in a throwaway local tap, regenerate there, then copy the result back.
|
|
138
|
+
TAP_DIR="$(brew --repository)/Library/Taps/local/homebrew-awtmp"
|
|
139
|
+
rm -rf "$TAP_DIR" && mkdir -p "$TAP_DIR/Formula"
|
|
140
|
+
git -C "$TAP_DIR" init -q
|
|
141
|
+
git -C "$TAP_DIR" -c user.email=ci@local -c user.name=ci commit -q --allow-empty -m init
|
|
142
|
+
cp Formula/android-watcher.rb "$TAP_DIR/Formula/android-watcher.rb"
|
|
143
|
+
brew update-python-resources local/awtmp/android-watcher
|
|
144
|
+
cp "$TAP_DIR/Formula/android-watcher.rb" Formula/android-watcher.rb
|
|
145
|
+
rm -rf "$TAP_DIR"
|
|
137
146
|
git add Formula/android-watcher.rb
|
|
138
147
|
git commit -m "chore: update homebrew formula for v${VERSION}"
|
|
139
148
|
git push origin HEAD:main
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
class AndroidWatcher < Formula
|
|
2
|
+
include Language::Python::Virtualenv
|
|
3
|
+
|
|
4
|
+
desc "Self-hosted CLI that watches Google's Android sites and delivers AI-triaged digests"
|
|
5
|
+
homepage "https://github.com/krayong/android-watcher"
|
|
6
|
+
# url + sha256 point at the PyPI sdist for the released version. The release
|
|
7
|
+
# workflow rewrites both on every version bump, then regenerates the `resource`
|
|
8
|
+
# blocks below with `brew update-python-resources`. Do not hand-edit.
|
|
9
|
+
url "https://files.pythonhosted.org/packages/1b/60/9497af75a83ed1171ebcee223bf6ee934066765a16395ec2cf3c52311f0a/android_watcher-1.0.1.tar.gz"
|
|
10
|
+
sha256 "e7bc14ef364792caf8b88ce83b4f4934679227627a34b4423b19389c9e4346ec"
|
|
11
|
+
license "MIT"
|
|
12
|
+
|
|
13
|
+
depends_on "python@3.11"
|
|
14
|
+
|
|
15
|
+
# Dependency resource blocks, one hash-pinned sdist per transitive dependency.
|
|
16
|
+
# Regenerated by `brew update-python-resources` (or out-of-band for a same-day
|
|
17
|
+
# release, whose upload postdates Homebrew's reproducibility cutoff).
|
|
18
|
+
resource "anyio" do
|
|
19
|
+
url "https://files.pythonhosted.org/packages/1c/b5/001890774a9552aff22502b8da382593109ce0c95314abaebbb116567545/anyio-4.14.0.tar.gz"
|
|
20
|
+
sha256 "b47c1f9ccf73e67021df785332508f99379c68fa7d0684e8e3492cb1d4b23f89"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
resource "certifi" do
|
|
24
|
+
url "https://files.pythonhosted.org/packages/c9/c7/424b75da314c1045981bd9777432fad05a9e0c69daa4ed7e308bbaffe405/certifi-2026.6.17.tar.gz"
|
|
25
|
+
sha256 "024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
resource "defusedxml" do
|
|
29
|
+
url "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz"
|
|
30
|
+
sha256 "1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
resource "h11" do
|
|
34
|
+
url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz"
|
|
35
|
+
sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
resource "httpcore" do
|
|
39
|
+
url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz"
|
|
40
|
+
sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
resource "httpx" do
|
|
44
|
+
url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz"
|
|
45
|
+
sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
resource "idna" do
|
|
49
|
+
url "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz"
|
|
50
|
+
sha256 "ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
resource "linkify-it-py" do
|
|
54
|
+
url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz"
|
|
55
|
+
sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
resource "markdown-it-py" do
|
|
59
|
+
url "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz"
|
|
60
|
+
sha256 "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49"
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
resource "mdit-py-plugins" do
|
|
64
|
+
url "https://files.pythonhosted.org/packages/59/fc/f8d0863f8862f25602c0404d75568e89fb6b4109804645e5cdfb1be5cf56/mdit_py_plugins-0.6.1.tar.gz"
|
|
65
|
+
sha256 "a2bca0f039f39dbd35fb74ae1b5f998608c437463371f0ff7f49a19a17a114d0"
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
resource "mdurl" do
|
|
69
|
+
url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz"
|
|
70
|
+
sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
resource "platformdirs" do
|
|
74
|
+
url "https://files.pythonhosted.org/packages/d7/47/e4501f49c178ae1d9f4a75073fda4204f52647993f075a9db4d14930e0c5/platformdirs-4.10.0.tar.gz"
|
|
75
|
+
sha256 "31e761a6a0ca04faf7353ea759bdba55652be214725111e5aac52dfa29d4bef7"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
resource "pygments" do
|
|
79
|
+
url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz"
|
|
80
|
+
sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f"
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
resource "rich" do
|
|
84
|
+
url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz"
|
|
85
|
+
sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
resource "textual" do
|
|
89
|
+
url "https://files.pythonhosted.org/packages/9b/7a/c519db0aba5024f86e71e9631810bfdd6866ed2c8695bd7fa34b90e7ef59/textual-8.2.7.tar.gz"
|
|
90
|
+
sha256 "658f568ff81e30ed43890c3e07520390e5cf1b4763822006e060656b0a88f105"
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
resource "typing-extensions" do
|
|
94
|
+
url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz"
|
|
95
|
+
sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
resource "uc-micro-py" do
|
|
99
|
+
url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz"
|
|
100
|
+
sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811"
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def install
|
|
104
|
+
virtualenv_install_with_resources
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
test do
|
|
108
|
+
assert_match "android-watcher", shell_output("#{bin}/android-watcher --help")
|
|
109
|
+
end
|
|
110
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: android-watcher
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: Self-hosted CLI that watches Google's official Android sites and delivers AI-triaged change digests.
|
|
5
5
|
Project-URL: Homepage, https://github.com/krayong/android-watcher
|
|
6
6
|
Project-URL: Repository, https://github.com/krayong/android-watcher
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
class AndroidWatcher < Formula
|
|
2
|
-
include Language::Python::Virtualenv
|
|
3
|
-
|
|
4
|
-
desc "Self-hosted CLI that watches Google's Android sites and delivers AI-triaged digests"
|
|
5
|
-
homepage "https://github.com/krayong/android-watcher"
|
|
6
|
-
# url + sha256 point at the PyPI sdist for the released version. The release
|
|
7
|
-
# workflow rewrites both on every version bump, then regenerates the `resource`
|
|
8
|
-
# blocks below with `brew update-python-resources`. Do not hand-edit.
|
|
9
|
-
url "https://files.pythonhosted.org/packages/31/5c/0ac31004a57aaa32b117c1d318cb5c8256adae9f95b7c874187335f47b3b/android_watcher-1.0.0.tar.gz"
|
|
10
|
-
sha256 "0844583243b9d94ef4211c80a8be6e5b0efac44d21bdb224aa6b02a5670cc7c3"
|
|
11
|
-
license "MIT"
|
|
12
|
-
|
|
13
|
-
depends_on "python@3.11"
|
|
14
|
-
|
|
15
|
-
# Dependency `resource` blocks are generated by the release workflow:
|
|
16
|
-
# brew update-python-resources Formula/android-watcher.rb
|
|
17
|
-
# One hash-pinned block per transitive dependency lands here. Never fabricate
|
|
18
|
-
# a url or sha256 by hand.
|
|
19
|
-
|
|
20
|
-
def install
|
|
21
|
-
virtualenv_install_with_resources
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
test do
|
|
25
|
-
assert_match "android-watcher", shell_output("#{bin}/android-watcher --help")
|
|
26
|
-
end
|
|
27
|
-
end
|
|
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
|
{android_watcher-1.0.1 → android_watcher-1.0.2}/src/android_watcher/detect/android_sitemap.py
RENAMED
|
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
|
{android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/content_after_chrome_only.html
RENAMED
|
File without changes
|
{android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/content_after_real_change.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/schedule/android-watcher.service
RENAMED
|
File without changes
|
{android_watcher-1.0.1 → android_watcher-1.0.2}/tests/fixtures/schedule/android-watcher.timer
RENAMED
|
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
|
{android_watcher-1.0.1 → android_watcher-1.0.2}/tests/test_configio_custom_source_roundtrip.py
RENAMED
|
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
|