Use names that (a) match the authoritative contract and (b) truthfully describe what the code does—consistently across upstream, models, and outputs.
Apply these rules:
parameters (e.g., SHOW DATABASES), rename your model field to parameters and update all downstream usage (avoid aliases that reintroduce ambiguity).data.procurement_portal_preferences in snake_case), while preserving upstream field casing within the payload when that’s the contract (e.g., keep per-item PascalCase if the API returns it)._sql_identifier() for identifier-building, not _sql_string_literal()), and ensure the implementation matches the meaning.executor.py over pipeline.py when it’s not a pipeline abstraction).endpoint + endpoint_url) unless they’re clearly distinguished; prefer a single override-style parameter name or derive one from the other.Quick example (wrapper vs payload casing):
# Standardized wrapper key (snake_case) for consistency
return {
"data": {
"procurement_portal_preferences": raw_api_response[
"ProcurementPortalPreferences"
]
}
}
# Keep item fields as provided by the API contract (PascalCase)
# e.g., item dict keys remain what the API returns.