[sqlalchemy-spanner] Make alembic an optional extra dependency
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Inizia da packages/sqlalchemy-spanner/setup.py e confronta la configurazione delle dipendenze con l’esempio di extras di sqlalchemy-bigquery nell’issue. Controlla i metadati del pacchetto o i test pertinenti per confermare che Alembic non è più richiesto per impostazione predefinita ed è disponibile tramite l’extra alembic. Tieni presente l’impatto sulla compatibilità indicato quando consideri i tempi del rilascio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature / Enhancement Description
Currently, alembic is listed as a mandatory dependency in packages/sqlalchemy-spanner/setup.py:
dependencies = [
"sqlalchemy>=1.1.13",
"google-cloud-spanner>=3.55.0",
"alembic",
]
However, a database dialect does not inherently require a schema migration tool. Many applications use sqlalchemy-spanner strictly for SQLAlchemy Core or ORM query execution (e.g. data engineering pipelines, read-only analytics, services managing schema via Terraform or Spanner DDL).
In sqlalchemy-bigquery, alembic is already modeled as an optional extra rather than a core dependency:
extras = {
"alembic": ["alembic"],
...
}
Proposed Changes
- Move
alembicfrominstall_requires/dependenciestoextras_requireinsetup.py:extras = { "tracing": [...], "alembic": ["alembic >= 1.0.0, < 2.0.0"], } - Note that moving
alembicto an extra is potentially a breaking change for existing users who rely onpip install sqlalchemy-spannerto install thealembicCLI tool, so this should be scheduled for an appropriate minor or major version release.
Related
- Pull Request https://github.com/googleapis/google-cloud-python/pull/18570 already decouples dialect imports by guarding Alembic-specific
@compileshooks (HAS_ALEMBIC_INSTALLED), providing the prerequisite code separation for this transition.
- Lingua principale
- Python
- Stelle
- 5.4k
- Fork
- 1.8k
- Merge medio
- 2g 18h
- PR unite (30g)
- 146
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di googleapis/google-cloud-python
-
ci: remove UV_PRERELEASE workaround once Python 3.15 is officially releasedForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
googleapis/google-cloud-python#18532 ·
I maintainer di solito rispondono entro 1 giorno
-
auth: call_client_cert_callback() discards passphrase for encrypted keysForse già presa @kwy404 l’ha presa 9 giorni fa. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
googleapis/google-cloud-python#18467 ·
I maintainer di solito rispondono entro 1 giorno
-
auth: `impersonated_credentials` loses `subject` on copy, so `with_scopes()` and `with_quota_project()` turn off domain wide delegationForse già presa @Om-singhaI l’ha presa 20 giorni fa. Apertaauth priority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
googleapis/google-cloud-python#18428 ·
I maintainer di solito rispondono entro 1 giorno
-
priority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
googleapis/google-cloud-python#18375 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ci: enable --strict flag in presubmit twine_checkForse già presa @ohmayr l’ha presa 9 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
googleapis/google-cloud-python#18339 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di googleapis/google-cloud-python
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
topoteretes/cognee#5647 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Sendspin/sendspin-python-cli#291 ·
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
awslabs/visual-asset-management-system#414 ·
I maintainer di solito rispondono entro 1 giorno
-
bug v1 v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
modelcontextprotocol/python-sdk#3670 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aicell-lab/bioengine#232 ·
I maintainer di solito rispondono entro 1 giorno