Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Request UK constituency and local-authority impacts separately from the national economy result

Đã đóng
#4,021 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

Một pull request liên quan đã được merge.

  • #4024 của @anth-volk — đã merge

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
fastapi, python
Lĩnh vực
api, backend

Hướng nghiên cứu

Read the annual economy route and its request validation, calculation options and cache key handling, then trace how it builds simulation API requests and handles upstream errors. Check the existing dataset and .py bundle configuration for the requested updates, including the Northern Ireland region mapping. Done means the supported UK requests produce separately cached local-area results and invalid combinations or upstream refusals return the specified errors; coordinate deployment with simulation API change #881 and the app change.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

What this is about

.py 6.10.0 runs UK national economy reports on a national dataset (microcosm_uk_2024_25) that has no area codes, so a national run no longer returns constituency or local-authority impacts. The simulation API (PolicyEngine/policyengine-sim-api#881) adds a separate run on the local-area dataset that returns only those impacts. The Public API needs a way to ask for that run.

What changes in the Public API

  • The annual economy route, GET /{country}/economy/{reform}/over/{baseline}, accepts a new optional query parameter, breakdown=local_areas. The budget-window route does not accept it.
  • The parameter is valid only for the UK, with region set to uk or a UK country (country/*), and not with target=cliff. Any other combination, or any other value, returns HTTP 400.
  • When the parameter is set, it becomes part of the calculation options, so the request gets its own options hash and its own cached result. Requests without it keep their current options hash and cached results.
  • The Public API sends "breakdown": "local_areas" to the simulation API only when the parameter is set, and stores and returns the result the simulation API sends back (kind: "local_areas", with constituency_impact and local_authority_impact).
  • If the simulation API refuses a breakdown request with HTTP 400 or 422 (for example, because the deployed .py release cannot run it), the Public API returns a 502 error that says so, instead of a generic 500.
  • UK reports for Northern Ireland use country/ni in the Public API's metadata, but .py's region registry names that region country/northern_ireland. The Public API translates the name when it builds the simulation request.
  • The .py bundle moves from 6.7.5 to 6.10.0 (this replaces #3991), and the reviewed UK default dataset becomes microcosm_uk_2024_25.

Order of deployment

This change has to merge after the simulation API change (PolicyEngine/policyengine-sim-api#881) is deployed with .py 6.10.0, and after the app change that requests the breakdown is merged.

Ngôn ngữ chính
Python
Star
18
Fork
33
Merge trung bình
2 ngày 18 giờ
Pull request đã merge (30 ngày)
36

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của PolicyEngine/policyengine-api

Tất cả issue của PolicyEngine/policyengine-api

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.