[sqlalchemy-spanner] Make alembic an optional extra dependency
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Bắt đầu với packages/sqlalchemy-spanner/setup.py và so sánh cấu hình dependency của nó với ví dụ extras của sqlalchemy-bigquery trong issue. Kiểm tra metadata của package hoặc các bài kiểm thử liên quan để xác nhận Alembic không còn bắt buộc theo mặc định và có thể được sử dụng thông qua extra alembic. Hãy lưu ý tác động tương thích đã nêu khi cân nhắc thời điểm phát hành.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 5.4k
- Fork
- 1.8k
- Merge trung bình
- 2 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 136
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của googleapis/google-cloud-python
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
googleapis/google-cloud-python#18532 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
auth: call_client_cert_callback() discards passphrase for encrypted keysCó thể đã có người làm @kwy404 đã nhận 6 ngày trước. Đang mở
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
googleapis/google-cloud-python#18467 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
auth: `impersonated_credentials` loses `subject` on copy, so `with_scopes()` and `with_quota_project()` turn off domain wide delegationCó thể đã có người làm @Om-singhaI đã nhận 18 ngày trước. Đang mởauth priority: p2 type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
googleapis/google-cloud-python#18428 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
priority: p2 type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
googleapis/google-cloud-python#18375 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ci: enable --strict flag in presubmit twine_checkCó thể đã có người làm @ohmayr đã nhận 7 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
googleapis/google-cloud-python#18339 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của googleapis/google-cloud-python
Issue tương tự
-
changelog investigate
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
ramnes/notion-sdk-py#409 ·
-
good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
lindicaphxag-tech/kaggle#28 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
BSData/horus-heresy-3rd-edition#3211 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Unreachable-proxy mount test depends on fixed port 9999Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày