Skip to content

Add budget data to Department of National Budget#115

Closed
zaeema-n wants to merge 5 commits intoLDFLK:mainfrom
zaeema-n:add_budgets
Closed

Add budget data to Department of National Budget#115
zaeema-n wants to merge 5 commits intoLDFLK:mainfrom
zaeema-n:add_budgets

Conversation

@zaeema-n
Copy link
Copy Markdown
Member

No description provided.

@zaeema-n zaeema-n requested a review from ChanukaUOJ January 27, 2026 10:30
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @zaeema-n, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the dataset by introducing detailed budget expenditure information for various governmental bodies across five years (2021-2025). It not only adds the raw data but also refines the data ingestion pipeline to support a new 'government' entity type, ensuring that this new financial data is properly structured and linked within the system's hierarchy.

Highlights

  • Budget Data Integration: Extensive budget expenditure data for Ministries, the President, and the Prime Minister has been added for the years 2021 through 2025.
  • Data Hierarchy Updates: The data_hierarchy_*.yaml files for 2021-2024 were modified, and a new one for 2025 was added, to incorporate the new budget categories under the 'Department of National Budget' for the 'Minister of Finance'.
  • Government Entity Processing: New logic was implemented in the data ingestion script (ingest_data_yaml.py) and entity_resolver.py to correctly identify and process 'government' entities and their associated data from YAML manifests.
  • Python Version Upgrade: The project's Python dependency was updated from version 3.10 to 3.11 in environment.yml.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@zaeema-n zaeema-n closed this Jan 27, 2026
@zaeema-n zaeema-n deleted the add_budgets branch January 27, 2026 10:31
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces budget data for the Department of National Budget across several years (2021-2025) and updates the ingestion script to handle 'government' entities. The Python environment is also updated to use Python 3.11. While the core functionality of adding new data and processing government entities is clear, there are some inconsistencies in the column naming within the newly added JSON data files and minor code improvements that could be made in the ingestion script.

@@ -0,0 +1,6 @@
{
"columns": ["Institution", "Amount (Rs.Million)"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The column name for the President's office has changed from "Ministry Office" (in 2021/2022 data) to "Institution" in this file. Please standardize column names across all years and datasets for consistency. Inconsistent naming can lead to issues when querying or processing data programmatically.

Suggested change
"columns": ["Institution", "Amount (Rs.Million)"],
"columns": ["Ministry Office", "Amount (Rs.Million)"],

@@ -0,0 +1,6 @@
{
"columns": ["Institution", "Amount (Rs.Million)"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The column name for the Prime Minister's office has changed from "Ministry Office" (in 2021/2022 data) to "Institution" in this file. Please standardize column names across all years and datasets for consistency. Inconsistent naming can lead to issues when querying or processing data programmatically.

Suggested change
"columns": ["Institution", "Amount (Rs.Million)"],
"columns": ["Ministry Office", "Amount (Rs.Million)"],

@@ -0,0 +1,6 @@
{
"columns": ["Institution", "Amount (Rs.Million)"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The column name for the Prime Minister's office has changed from "Ministry Office" (in 2021/2022 data) to "Institution" in this file. Please standardize column names across all years and datasets for consistency. Inconsistent naming can lead to issues when querying or processing data programmatically.

Suggested change
"columns": ["Institution", "Amount (Rs.Million)"],
"columns": ["Ministry Office", "Amount (Rs.Million)"],

@@ -0,0 +1,6 @@
{
"columns": ["Institution", "Amount (Rs.Million)"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The column name for the President's office has changed from "Ministry Office" (in 2021/2022 data) to "Institution" in this file. Please standardize column names across all years and datasets for consistency. Inconsistent naming can lead to issues when querying or processing data programmatically.

Suggested change
"columns": ["Institution", "Amount (Rs.Million)"],
"columns": ["Ministry Office", "Amount (Rs.Million)"],

@@ -0,0 +1,6 @@
{
"columns": ["Institution", "Amount (Rs.Million)"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The column name for the President's office has changed from "Ministry Office" (in 2021/2022 data) to "Institution" in this file. Please standardize column names across all years and datasets for consistency. Inconsistent naming can lead to issues when querying or processing data programmatically.

Suggested change
"columns": ["Institution", "Amount (Rs.Million)"],
"columns": ["Ministry Office", "Amount (Rs.Million)"],

"rows": [
["Office of the Prime Minister", 71]
]
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This file is missing a newline character at the end. It's good practice to ensure all text files end with a newline for consistency and compatibility with various tools.

["Ministry of Sports and Youth Affairs", 4070],
["Ministry of Irrigation", 6419]
]
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This file is missing a newline character at the end. It's good practice to ensure all text files end with a newline for consistency and compatibility with various tools.

"rows": [
["Office of the Prime Minister", 1099]
]
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This file is missing a newline character at the end. It's good practice to ensure all text files end with a newline for consistency and compatibility with various tools.

from ingestion.services.read_service import ReadService
from ingestion.services.ingestion_service import IngestionService
from ingestion.services.entity_resolver import find_ministers_by_name_and_year, find_department_by_name_and_ministers
from ingestion.services.ingestion_service import IngestionService
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The IngestionService is imported twice. Please remove the duplicate import for cleaner code.

Comment on lines +571 to +572
gov_start_time = "1948-02-04"
gov_end_time = ""
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The gov_start_time and gov_end_time are hardcoded here. While 1948-02-04 might be a fixed historical date, it's generally better to avoid hardcoding such values directly in the code. Consider moving these to a configuration file or deriving them dynamically if possible. The empty string for gov_end_time is also a hardcoded default.

Suggested change
gov_start_time = "1948-02-04"
gov_end_time = ""
# Define government relationship start/end times
# gov_start_time = "1948-02-04" # Consider making this configurable
# gov_end_time = "" # Consider making this configurable

zaeema-n pushed a commit that referenced this pull request Feb 16, 2026
…ment (#137)

* feat : adding person profile data for ministers

* fix: fixing a typo

* feat : adding president profile

* remove: remove the protfolio column on from the profile data

* feat : adding a person

* feat : adding images for profiles and update their paths

* feat : adding a person to the hierarchy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant