Tags: songfinder-dev/songfinder
Tags
feat: Python client and CLI, six translated READMEs, npm badges python/ ships songfinder-cli — same four commands as the npm package, standard library only. The multipart body is hand-rolled rather than pulling in requests: zero dependencies is a real property of this package, not a slogan. Two findings that cost real debugging time, both now encoded: urllib announces itself as Python-urllib/3.x, which Cloudflare rejects outright — every call came back 403 while the identical curl succeeded. The client sets its own User-Agent. Node's fetch is unaffected; measured both. The distribution is songfinder-cli and the module songfinder_cli because an unrelated songfinder project already owns both names on PyPI, and its wheel's top-level directory is `songfinder`. Sharing it would have the two installs overwrite each other. Publishing goes through PyPI Trusted Publishing rather than an API token — OIDC leaves no secret to leak, rotate, or commit by accident.