Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[sqlalchemy-spanner] Make alembic an optional extra dependency

Aberta Para iniciantes
#18,584 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
68/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
databases

Direção de pesquisa

Comece por packages/sqlalchemy-spanner/setup.py e compare a configuração das dependências com o exemplo de extras de sqlalchemy-bigquery na issue. Verifique os metadados do pacote ou os testes relevantes para confirmar que Alembic não é mais obrigatório por padrão e está disponível por meio do extra alembic. Leve em conta o impacto na compatibilidade mencionado ao considerar o momento do lançamento.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

api: spanner type: feature request

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
  1. Move alembic from install_requires / dependencies to extras_require in setup.py:
    extras = {
        "tracing": [...],
        "alembic": ["alembic >= 1.0.0, < 2.0.0"],
    }
    
  2. Note that moving alembic to an extra is potentially a breaking change for existing users who rely on pip install sqlalchemy-spanner to install the alembic CLI tool, so this should be scheduled for an appropriate minor or major version release.
Related
Linguagem predominante
Python
Estrelas
5.4k
Forks
1.8k
Merge médio
2d 18h
PRs com merge (30d)
148

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de googleapis/google-cloud-python

Todas as issues de googleapis/google-cloud-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.