A Python library for calculating malaria intervention budgets
Project description
SNT Malaria Budgeting
A Python library for calculating malaria intervention budgets across different countries and time periods.
Installation
Install from PyPI:
pip install snt-malaria-budgeting
Development Installation
For development, clone the repository and install with development dependencies:
pip install -e .[dev]
This installs the package in editable mode along with all development tools (pytest, ruff, mypy, etc.).
Example usage
To fetch budgets for a given country and years:
from snt_malaria_budgeting.core.budget_calculator import get_budget
from snt_malaria_budgeting.models import (
DEFAULT_COST_ASSUMPTIONS,
InterventionDetailModel,
)
start_year = 2025
end_year = 2027
interventions = [InterventionDetailModel(code="iptp", type="SP", places=[1])]
settings = DEFAULT_COST_ASSUMPTIONS
budgets = []
for year in range(start_year, end_year + 1):
print(f"Fetching budget for year: {year}")
budgets.append(
get_budget(
year=year,
interventions_input=interventions,
settings=settings,
cost_df=cost_df, # refer to unit tests for an example
population_df=population_df, # refer to unit tests for an example
spatial_planning_unit="key",
local_currency="EUR",
cost_overrides=[], # optional
)
)
print(budgets)
Development
Running Tests
After installing with development dependencies, run the test suite:
pytest
pytest -v # verbose output
pytest --cov=snt_malaria_budgeting --cov-report=html # with coverage report
# specific test files or methods:
pytest tests/core/test_budget_calculator.py
pytest tests/core/test_budget_calculator.py::TestGetBudget::test_get_budget_iptp
Acknowledgements
This library is a Python port of the PATH Budget Generation Function (R implementation).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snt_malaria_budgeting-0.4.1.tar.gz.
File metadata
- Download URL: snt_malaria_budgeting-0.4.1.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da0b2e54243e9acef73b2964a9302e7a92a02ad2248202c8506ee06aff39e054
|
|
| MD5 |
c7a984c21eaa7bc5b5cdc1193acc7173
|
|
| BLAKE2b-256 |
ac338d38d2ed1eb180c47fa363559395827945b61ad2e119a16c505f52043768
|
File details
Details for the file snt_malaria_budgeting-0.4.1-py3-none-any.whl.
File metadata
- Download URL: snt_malaria_budgeting-0.4.1-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6fd67b25768290c4e691cd8b521e15a2b4962cb84805088e09af8743067547a
|
|
| MD5 |
2e1a1c87c0e5cb2debe1cb9dba5223e7
|
|
| BLAKE2b-256 |
859755c7799a0e0821282e6f86e75cf40d250ce1c1ef5dd68aed83be4596f6d0
|