What this client asked www.pathwren.workers.dev for, when, and what it got.
Every number below is from this host's own server-side request log, 2026-09-03 01:27:04Z to 2026-09-03 02:34:42Z UTC.
Python/3.11 aiohttp/3.13.5
24 request(s) from 18 distinct address(es), 24 distinct path(s), first seen 2026-09-03 01:27:04Z, last seen 2026-09-03 02:34:42Z UTC. 2 separate visit(s), counting a gap of more than 30 minutes as a new one, median 52.0 minutes between them.
| user-agent | requests | addresses | first seen | last seen |
|---|---|---|---|---|
Python/3.11 aiohttp/3.13.5 | 24 | 18 | 2026-09-03 01:27:04Z | 2026-09-03 02:34:42Z |
First request to each path, oldest first.
| # | path | at (UTC) | status |
|---|---|---|---|
| 1 | /c/pypi-registry/crawler/img2dataset.html | 2026-09-03 01:27:04Z | 200 |
| 2 | /c/pypi-registry/crawler/google-cloudvertexbot.html | 2026-09-03 01:29:50Z | 200 |
| 3 | /c/pypi-registry/crawler/googleother.html | 2026-09-03 01:30:07Z | 200 |
| 4 | /c/pypi-registry/crawler/google-pinpoint.html | 2026-09-03 01:30:10Z | 200 |
| 5 | /c/pypi-registry/ip-ranges/google-user-triggered.json | 2026-09-03 01:31:24Z | 200 |
| 6 | /c/pypi-registry/ip-ranges/openai-gptbot.json | 2026-09-03 01:31:44Z | 200 |
| 7 | /c/pypi-registry/crawler/apis-google.html | 2026-09-03 01:43:25Z | 200 |
| 8 | /c/pypi-registry/crawler/google-agent.html | 2026-09-03 01:43:38Z | 200 |
| 9 | /c/pypi-registry/crawler/perplexity-user.html | 2026-09-03 01:43:47Z | 200 |
| 10 | /c/pypi-registry/crawler/yandexfavicons.html | 2026-09-03 01:44:10Z | 200 |
| 11 | /c/pypi-registry/crawler/yandexvideo.html | 2026-09-03 01:44:10Z | 200 |
| 12 | /c/pypi-registry/crawler/yandexmobilebot.html | 2026-09-03 02:19:05Z | 200 |
| 13 | /c/pypi-registry/crawler/yandexblogs.html | 2026-09-03 02:19:20Z | 200 |
| 14 | /c/pypi-registry/crawler/yandexrenderresourcesbot.html | 2026-09-03 02:19:30Z | 200 |
| 15 | /c/pypi-registry/crawler/kagibot.html | 2026-09-03 02:34:07Z | 200 |
| 16 | /c/pypi-registry/crawler/mojeekbot.html | 2026-09-03 02:34:07Z | 200 |
| 17 | /c/pypi-registry/crawler/pinterestbot.html | 2026-09-03 02:34:11Z | 200 |
| 18 | /c/pypi-registry/crawler/laiondownloader.html | 2026-09-03 02:34:15Z | 200 |
| 19 | /c/pypi-registry/crawler/google-inspectiontool.html | 2026-09-03 02:34:16Z | 200 |
| 20 | /c/pypi-registry/crawler/ia-archiver.html | 2026-09-03 02:34:18Z | 200 |
| 21 | /c/pypi-registry/crawler/yandexdirect.html | 2026-09-03 02:34:23Z | 200 |
| 22 | /c/pypi-registry/crawler/googlemessages.html | 2026-09-03 02:34:23Z | 200 |
| 23 | /c/pypi-registry/crawler/yandexmarket.html | 2026-09-03 02:34:41Z | 200 |
| 24 | /c/pypi-registry/crawler/google-cws.html | 2026-09-03 02:34:42Z | 200 |
| path | requests | status codes | first | last |
|---|---|---|---|---|
/c/pypi-registry/crawler/apis-google.html | 1 | 200×1 | 2026-09-03 01:43:25Z | 2026-09-03 01:43:25Z |
/c/pypi-registry/crawler/google-agent.html | 1 | 200×1 | 2026-09-03 01:43:38Z | 2026-09-03 01:43:38Z |
/c/pypi-registry/crawler/google-cloudvertexbot.html | 1 | 200×1 | 2026-09-03 01:29:50Z | 2026-09-03 01:29:50Z |
/c/pypi-registry/crawler/google-cws.html | 1 | 200×1 | 2026-09-03 02:34:42Z | 2026-09-03 02:34:42Z |
/c/pypi-registry/crawler/google-inspectiontool.html | 1 | 200×1 | 2026-09-03 02:34:16Z | 2026-09-03 02:34:16Z |
/c/pypi-registry/crawler/google-pinpoint.html | 1 | 200×1 | 2026-09-03 01:30:10Z | 2026-09-03 01:30:10Z |
/c/pypi-registry/crawler/googlemessages.html | 1 | 200×1 | 2026-09-03 02:34:23Z | 2026-09-03 02:34:23Z |
/c/pypi-registry/crawler/googleother.html | 1 | 200×1 | 2026-09-03 01:30:07Z | 2026-09-03 01:30:07Z |
/c/pypi-registry/crawler/ia-archiver.html | 1 | 200×1 | 2026-09-03 02:34:18Z | 2026-09-03 02:34:18Z |
/c/pypi-registry/crawler/img2dataset.html | 1 | 200×1 | 2026-09-03 01:27:04Z | 2026-09-03 01:27:04Z |
/c/pypi-registry/crawler/kagibot.html | 1 | 200×1 | 2026-09-03 02:34:07Z | 2026-09-03 02:34:07Z |
/c/pypi-registry/crawler/laiondownloader.html | 1 | 200×1 | 2026-09-03 02:34:15Z | 2026-09-03 02:34:15Z |
/c/pypi-registry/crawler/mojeekbot.html | 1 | 200×1 | 2026-09-03 02:34:07Z | 2026-09-03 02:34:07Z |
/c/pypi-registry/crawler/perplexity-user.html | 1 | 200×1 | 2026-09-03 01:43:47Z | 2026-09-03 01:43:47Z |
/c/pypi-registry/crawler/pinterestbot.html | 1 | 200×1 | 2026-09-03 02:34:11Z | 2026-09-03 02:34:11Z |
/c/pypi-registry/crawler/yandexblogs.html | 1 | 200×1 | 2026-09-03 02:19:20Z | 2026-09-03 02:19:20Z |
/c/pypi-registry/crawler/yandexdirect.html | 1 | 200×1 | 2026-09-03 02:34:23Z | 2026-09-03 02:34:23Z |
/c/pypi-registry/crawler/yandexfavicons.html | 1 | 200×1 | 2026-09-03 01:44:10Z | 2026-09-03 01:44:10Z |
/c/pypi-registry/crawler/yandexmarket.html | 1 | 200×1 | 2026-09-03 02:34:41Z | 2026-09-03 02:34:41Z |
/c/pypi-registry/crawler/yandexmobilebot.html | 1 | 200×1 | 2026-09-03 02:19:05Z | 2026-09-03 02:19:05Z |
/c/pypi-registry/crawler/yandexrenderresourcesbot.html | 1 | 200×1 | 2026-09-03 02:19:30Z | 2026-09-03 02:19:30Z |
/c/pypi-registry/crawler/yandexvideo.html | 1 | 200×1 | 2026-09-03 01:44:10Z | 2026-09-03 01:44:10Z |
/c/pypi-registry/ip-ranges/google-user-triggered.json | 1 | 200×1 | 2026-09-03 01:31:24Z | 2026-09-03 01:31:24Z |
/c/pypi-registry/ip-ranges/openai-gptbot.json | 1 | 200×1 | 2026-09-03 01:31:44Z | 2026-09-03 01:31:44Z |
Nothing. Every path it asked for existed at the time it asked.
Not observed. This client publishes no address list we could read and no reverse-DNS convention we could test, so the user-agent is the only identity it has here — and a user-agent is a claim, not a proof. Anyone can send this string.
Not observed. We have not seen this client publish a grade, a listing or a record about this host anywhere, and we make no claim that it does or does not.
Not observed. It carries no URL and no contact address in its user-agent, so there is nowhere documented to ask what it is.
curl -s https://www.pathwren.workers.dev/bot/python.json curl -s https://www.pathwren.workers.dev/data/observed-clients.json # every client, one request
JSON · markdown · all clients seen here · index as JSON · check a crawler yourself, no key
Rows come from a server-side log written before anything is served, so clients that
run no JavaScript are counted exactly like browsers. The window is the whole life of the log,
2026-09-03 01:27:04Z to 2026-09-03 02:34:42Z UTC, and it is stated on every number because a count without a window is
not a fact. Addresses are stored as salted hashes and counted, never printed. Our own checks
send X-Self: 1 and are excluded, together with every request the analyst flagged
as one of our own agents reaching for a URL through a model provider's fetch tool
(the numbers are on the index). Nothing here is a claim about
intent: where this page does not know something it says not observed
.