API Reference
tburundigeo.api.facade
Public API facade - simplified interface for end users.
- tburundigeo.api.facade.set_data_source(data_source)[source]
Set the data source for all repositories.
- Return type:
- tburundigeo.api.facade.get_province_capital(code)[source]
Get the capital of a province by its code.
- tburundigeo.api.facade.search_provinces(query, search_by='name')[source]
Search provinces by name or code.
- tburundigeo.api.facade.get_communes_by_province(province_code)[source]
Get all communes in a province.
- tburundigeo.api.facade.search_communes(query, search_by='name')[source]
Search communes by name, capital, or code.
- tburundigeo.api.facade.count_communes_in_province(province_code)[source]
Count communes in a specific province.
- Return type:
- tburundigeo.api.facade.search_zones(query, search_by='name')[source]
Search zones by name, chief town, or code.
- tburundigeo.api.facade.count_zones_in_commune(commune_code)[source]
Count zones in a specific commune.
- Return type:
- tburundigeo.api.facade.search_quartiers(query, search_by='name')[source]
Search quartiers by name or code.
- tburundigeo.api.facade.count_quartiers_in_zone(zone_code)[source]
Count quartiers in a specific zone.
- Return type:
- tburundigeo.api.facade.get_full_hierarchy()[source]
Get the complete administrative hierarchy.
- Return type:
- tburundigeo.api.facade.get_parent_province(commune_code)[source]
Get the parent province of a commune.
- tburundigeo.api.facade.get_statistics()[source]
Get comprehensive statistics about administrative divisions.
- tburundigeo.api.facade.export_to_json(include_hierarchy=False, entity_types=None)[source]
Export data to JSON format.
- Return type:
- tburundigeo.api.facade.export_to_csv(entity_type, include_headers=True)[source]
Export data to CSV format.
- Return type:
- tburundigeo.api.facade.export_to_yaml(include_hierarchy=False, entity_types=None)[source]
Export data to YAML format.
- Return type:
- tburundigeo.api.facade.validate_code(code, expected_level=None)[source]
Validate if a code exists and optionally matches expected level.
- Return type:
- tburundigeo.api.facade.check_referential_integrity()[source]
Check referential integrity across all administrative levels.
- tburundigeo.api.facade.get_province_statistics(province_code)[source]
Get detailed statistics for a specific province.
- tburundigeo.api.facade.get_commune_statistics(commune_code)[source]
Get detailed statistics for a specific commune.
- tburundigeo.api.facade.get_zone_statistics(zone_code)[source]
Get detailed statistics for a specific zone.
- tburundigeo.api.facade.get_all_provinces_statistics()[source]
Get detailed statistics for all provinces.
tburundigeo.domain.entities
Core business entities for Burundi administrative divisions.
- class tburundigeo.domain.entities.Province(code, name, capital)[source]
Bases:
objectRepresents a province in Burundi.
- __init__(code, name, capital)
- class tburundigeo.domain.entities.Commune(code, name, capital, province_code)[source]
Bases:
objectRepresents a commune in Burundi.
- __init__(code, name, capital, province_code)
- class tburundigeo.domain.entities.Zone(code, name, chief_town, commune_code)[source]
Bases:
objectRepresents a zone in Burundi.
- __init__(code, name, chief_town, commune_code)
tburundigeo.infrastructure.repositories
Repository implementations that read data from Python files.
- class tburundigeo.infrastructure.repositories.py_file.BasePyFileRepository(data_module_path)[source]
Bases:
objectBase class for Python file-based repositories.
- class tburundigeo.infrastructure.repositories.py_file.PyFileProvinceRepository(data_module_path='tburundigeo.data.provinces')[source]
Bases:
BasePyFileRepository,IProvinceRepositoryRepository implementation for provinces using Python files.
- __init__(data_module_path='tburundigeo.data.provinces')[source]
Initialize repository with path to data module.
- class tburundigeo.infrastructure.repositories.py_file.PyFileCommuneRepository(data_module_path='tburundigeo.data.communes')[source]
Bases:
BasePyFileRepository,ICommuneRepositoryRepository implementation for communes using Python files.
- __init__(data_module_path='tburundigeo.data.communes')[source]
Initialize repository with path to data module.
- class tburundigeo.infrastructure.repositories.py_file.PyFileZoneRepository(data_module_path='tburundigeo.data.zones')[source]
Bases:
BasePyFileRepository,IZoneRepositoryRepository implementation for zones using Python files.
- class tburundigeo.infrastructure.repositories.py_file.PyFileQuartierRepository(data_module_path='tburundigeo.data.quartiers')[source]
Bases:
BasePyFileRepository,IQuartierRepositoryRepository implementation for quartiers using Python files.
- __init__(data_module_path='tburundigeo.data.quartiers')[source]
Initialize repository with path to data module.