Skip to content

Package for PyPI: pip install minidsp-dash - #3

Merged
bnh2n9rxn5-lab merged 1 commit into
mainfrom
packaging/pypi
Aug 22, 2026
Merged

bnh2n9rxn5-lab merged 1 commit into
mainfrom
packaging/pypi

Conversation

@bnh2n9rxn5-lab

Copy link
Copy Markdown
Contributor

The repo had an audience but nothing installable — no releases, no package — so the only way in was cloning and reading. This makes it pip install minidsp-dash, with a minidsp-dash command on PATH.

The rename is the point, not cosmetic

server.py becomes minidsp_dash.py so the import name matches the project name. py-modules = ["server"] would drop a module called server into site-packages, where it could shadow or be shadowed by anything else. Running from a checkout still works exactly as before, just under the new filename; the README documents both paths.

No dependencies, deliberately

The pitch is a bare-stdlib single file. The one real requirement — the minidsp CLI — is not a Python package, so it cannot be expressed as one and has to be installed separately either way.

Publishing

Trusted Publishing (OIDC), not an API token, so no secret lives in this repo or its settings. The workflow builds, runs twine check --strict, and publishes on a GitHub Release. Actions pinned to current majors: checkout v7, setup-python v7, upload-artifact v7, download-artifact v8.

One setup step is needed on PyPI before the first release — configure the publisher at the project's publishing settings with owner av-dsp-tools, repository minidsp-dash, workflow publish.yml, environment pypi.

Verified locally

  • both artifacts pass twine check --strict
  • the wheel installs into a clean venv: console script on PATH, module imports, parse_status runs from the installed copy
  • unittest discover passes against the renamed module

🤖 Generated with Claude Code

The repo had an audience but nothing installable — no releases, no package, so
the only way in was cloning and reading. This makes it `pip install minidsp-dash`
with a `minidsp-dash` command on PATH.

server.py is renamed to minidsp_dash.py so the import name matches the project
name. That rename is the point rather than cosmetic: `py-modules = ["server"]`
would drop a module called `server` into site-packages, where it could shadow or
be shadowed by anything. Running from a checkout still works exactly as before,
just under the new filename, and the README documents both paths.

Dependencies stay empty on purpose — the whole pitch is a bare-stdlib single
file, and the one real requirement, the minidsp CLI, is not a Python package so
it cannot be expressed here anyway.

Publishing uses Trusted Publishing (OIDC) rather than an API token, so no secret
is stored in the repo or its settings; the workflow builds, runs twine check
--strict, and publishes on a GitHub Release. Actions pinned to current majors
(checkout v7, setup-python v7, upload-artifact v7, download-artifact v8).

Verified locally: both artifacts pass twine check --strict, and the wheel
installs into a clean venv where the console script lands on PATH, the module
imports, and parse_status runs from the installed copy.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@bnh2n9rxn5-lab
bnh2n9rxn5-lab merged commit 311c0a4 into main Aug 22, 2026
6 checks passed
@bnh2n9rxn5-lab
bnh2n9rxn5-lab deleted the packaging/pypi branch August 22, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant