Repository navigation
Record what the Alembic maintainers already said, before asking them anything - #16
Merged
Merged
Conversation
…anything The proposal's plan was to open an Ideas discussion asking whether this belongs upstream, and to ask the narrower question of whether the alembic.plugins entry point is meant to carry an extension like this. Both turn out to be answered already, in public, so the plan was built on a gap that is not there. Searched the project's discussions before posting anything: - #950 asked this exact question in 2021, linking Flyway's repeatable migrations. Answered the same day: not a first class feature, with a pointer to the replaceable-objects recipe and to alembic-utils as the third-party implementation. Together with #620 that is the same answer twice. - #972, "Document how to do data migrations", is still open and carries an explicit, unfulfilled invitation to contribute documentation content. That is the one channel where this is asked for rather than unsolicited. - #1872 (September 2026) states what the plugin entry point is for: things that extend Alembic itself, typically in a dialect agnostic way. That is exactly this plugin, so the entry point is being used as intended and the question needed no asking. The same answer calls the plugin system cruft nobody uses. - #1873 reported the iterate-the-entry-point behaviour as a bug and it was fixed in 1.20.1 within two days, so supporting 1.18 to 1.20 as well is this project's own choice and not an open upstream question. Next steps now say: do not open a fifth feature request; offer content to #972 instead, and only once there is a real PyPI release to link, since TestPyPI gives readers nothing they can install. Also corrects the status line, which still claimed a private repository with nothing published, and renumbers a decision list that ran 4, 5a, 5. Claude-Session: https://claude.ai/code/session_017D7FmgZ7gdsg5dKbQWBiN7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The proposal's plan was to open an
Ideasdiscussion insqlalchemy/alembicasking whether this belongsupstream, and — as a smaller fallback — whether the
alembic.pluginsentry point is meant to carry anextension like this. I searched the project's discussions before posting anything. Both questions are
already answered in public, so the plan rested on a gap that is not there.
What is on the record
link to Flyway's repeatable migrations. Answered the same day: "this is not a first class feature of
Alembic", pointing at the replaceable-objects recipe and at
alembic-utilsas the third-partyimplementation. With #620 that is the same answer
twice.
is still open and carries an explicit, unfulfilled invitation to contribute documentation content. It
is the one channel where this is asked for rather than unsolicited.
entry point is for: "things that extend Alembic itself, typically though not necessarily in a dialect
agnostic way." That is precisely this plugin, so the narrower question needed no asking. The same answer
calls the plugin system "useless cruft in the codebase that nobody uses" — our ground is intended, but
unloved and barely exercised.
behaviour as a bug; it was fixed in 1.20.1 within two days. Supporting 1.18–1.20 anyway is our own choice,
not an open upstream question.
What changes here
docs/proposal.mdgains a What the maintainers have already said section with those four sources, and theconclusions follow from them: no fifth feature request; offer content to #972 instead, and only once there
is a real PyPI release, since a TestPyPI link gives readers nothing they can install.
Also fixed along the way:
0.1.0a1is onTestPyPI;
Docs only — no code, no tests touched.
🤖 Generated with Claude Code
https://claude.ai/code/session_017D7FmgZ7gdsg5dKbQWBiN7