Skip to content

docs: real install instructions, now that 0.1.0 is on PyPI - #7

Merged
FZ2000 merged 1 commit into
mainfrom
docs/published-install
Jul 31, 2026
Merged

docs: real install instructions, now that 0.1.0 is on PyPI#7
FZ2000 merged 1 commit into
mainfrom
docs/published-install

Conversation

@FZ2000

@FZ2000 FZ2000 commented Jul 31, 2026

Copy link
Copy Markdown
Owner

The README carried a warning that the name was unregistered and told
people not to install it. That was correct when written and is wrong now:
da-sync 0.1.0 is published, so the warning was itself the stale claim.

Replaced with the actual pipx install da-sync, plus why pipx over pip
for something that puts a command on your PATH.

The note about neighbouring names stays, and now explains itself: dacli
is an unrelated data-engineering tool, and da-cli is unregistered
precisely because PyPI rejects it as too similar to dacli — which is
the reason this ships as da-sync. Someone who finds the repo (named
da-cli) and guesses the PyPI name will guess wrong, so the README
should answer that before they install something else.

The README carried a warning that the name was unregistered and told
people not to install it. That was correct when written and is wrong now:
`da-sync` 0.1.0 is published, so the warning was itself the stale claim.

Replaced with the actual `pipx install da-sync`, plus why pipx over pip
for something that puts a command on your PATH.

The note about neighbouring names stays, and now explains itself: `dacli`
is an unrelated data-engineering tool, and `da-cli` is unregistered
precisely because PyPI rejects it as too similar to `dacli` — which is
the reason this ships as `da-sync`. Someone who finds the repo (named
`da-cli`) and guesses the PyPI name will guess wrong, so the README
should answer that before they install something else.
@FZ2000
FZ2000 merged commit 47d89f4 into main Jul 31, 2026
24 checks passed
@FZ2000
FZ2000 deleted the docs/published-install branch July 31, 2026 05:58
FZ2000 added a commit that referenced this pull request Aug 1, 2026
…#11)

The 0.1.0 project page on PyPI still carries the pre-launch README:

    **Option B — pip install.** Not published yet. Use Option A for now.

That is on the page of the published package. A project description is
frozen into the uploaded artifact, and PyPI offers no way to edit one, so
the README corrections in #7 and #10 stay invisible to anyone who lands
on PyPI until a new version is uploaded. That is the whole reason for
this release: documentation only, no code changes.

Bumped `dacli.__version__` (pyproject reads it via `attr`), CITATION.cff,
and the CHANGELOG section title.

`check_version_sync` caught three stale spots a manual bump would have
shipped: the generated `docs/reference/cli.md` still embedded 0.1.0, and
two `da-cli 0.1.0` transcripts in getting-started — one of them the
`da --version` block added only yesterday. Regenerated the reference and
corrected both.

Verified with a clean 3.14 interpreter, asserting it imported the repo's
`dacli` rather than the installed one:

* `check_version_sync --tag v0.1.1` passes; `--tag v0.1.0` is refused
  with "does not match dacli.__version__", which is the guard
  release.yml relies on before it builds anything.
* doc-flags, doc-references and discoverability all pass.
* no test hardcodes a version — they read `dacli.__version__`.

Co-authored-by: FZ2000 <frank@example.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
FZ2000 added a commit that referenced this pull request Aug 1, 2026
The install instructions have been correct since #7, but nothing above the
fold said the package was installable. The badge row — eight badges for CI,
Python, licence, ruff, mypy, coverage, status and dependency count — never
mentioned PyPI at all, so a visitor's first screen gave no sign that
`pipx install da-sync` was an option.

* PyPI version badge, first in the row, linking to the project page.
* `pipx install da-sync` directly under the opening paragraph.
* `Python 3.10+` becomes `pypi/pyversions`, which reads the classifiers
  instead of restating them, so it cannot drift from `requires-python`.
  It renders "3.10 | 3.11 | 3.12 | 3.13 | 3.14" — strictly more than the
  static badge said.

The `Status: Beta` badge goes. The blockquote two lines below already says
"Status: Beta" with more useful detail, and the row turns out to have a
budget: check_discoverability requires "deviantart" inside the first twelve
lines, and a ninth badge pushed the opening paragraph past it. Trimming the
duplicate was the better fix; widening the rule would have traded a real SEO
constraint for badge clutter.

Verified: all three badge URLs render real data (pypi: v0.1.1, python:
3.10-3.14) rather than shields' "invalid" placeholder; the four checkers,
markdownlint (pinned 0.45.0 + repo config) and lychee are clean; and the
opening-lines rule was watched failing on a ninth badge before the trim.

Co-authored-by: FZ2000 <frank@example.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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