Repository navigation
Conversation
Implements a relational manifest backed by PostgreSQL, as requested in google#13. - Add PostgresManifest that creates the manifest table (plus an index on config_name) if needed and upserts one row per download location. - Register the postgresql:// and postgres:// manifest schemes. - Parse the optional table query parameter, validating it as a SQL identifier and forwarding remaining params (e.g. sslmode) to psycopg2. - Add unit tests for location parsing and DB round-trip/upsert tests gated on POSTGRES_MANIFEST_DSN. - Document the new option in the CLI help and weather-dl README, including the Cloud Spanner PostgreSQL interface. - Add psycopg2-binary to the package requirements.
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Author
|
How will I do that please?
…On Sat, Oct 31, 2026 at 1:11 AM google-cla[bot] ***@***.***> wrote:
*google-cla[bot]* left a comment (google/weather-tools#562)
<#562 (comment)>
Thanks for your pull request! It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
View this failed invocation
<https://github.com/google/weather-tools/pull/562/checks?check_run_id=124379908202>
of the CLA check for more information.
For the most up to date status, view the checks section at the bottom of
the pull request.
—
Reply to this email directly, view it on GitHub
<#562?email_source=notifications&email_token=BNGRT7U4WHMYRD62T3FKG4L5WUU3FA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNJTGYZDQMZXGU4KM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-6536283758>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNGRT7S4OZMPABP7FFXX4NT5WUU3FAVCNFSNUABFKJSXA33TNF2G64TZHM2DGMBYHA2DCNRXHNEXG43VMU5TMMJSHA4TMOJYGM4KC5QC>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
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.
Summary
Implements #13 by adding a PostgreSQL-backed manifest to
weather-dl.Changes
PostgresManifestinweather_dl/download_pipeline/manifest.py:config_nameif they do not exist.location; writes viaINSERT ... ON CONFLICT (location) DO UPDATE, so there is always exactly one row per download holding its latest state.postgresql://<user>:<password>@<host>:<port>/<database>?table=<table-name>(table defaults tomanifest).tablequery param is stripped from the DSN; remaining params (e.g.sslmode) are forwarded topsycopg2. Table names are validated as SQL identifiers.postgresql://andpostgres://manifest schemes.weather_dl/README.md, including a note that it works with Cloud Spanner's PostgreSQL interface.psycopg2-binaryto the package requirements and dev environment.POSTGRES_MANIFEST_DSNis set.Testing
ruff checkpasses.Fixes #13.