ethio_address 0.1.0 copy "ethio_address: ^0.1.0" to clipboard
ethio_address: ^0.1.0 copied to clipboard

Ethiopian administrative division data and cascading Region-to-Zone-to-Woreda picker widgets for Flutter, with a pure Dart data layer.

ethio_address #

Ethiopian administrative division data and cascading picker widgets for Flutter. The package ships a pure Dart data layer plus a Flutter Region -> Zone -> Woreda picker that is easy to embed in a form.

Data freshness #

As of 2026-06-21 for the bundled region list and 2026-05-18 for the bundled zone list.

Sources used:

  • Regions of Ethiopia (page revision timestamp: 2026-06-21). This page currently lists 12 regional states and 2 chartered cities.
  • List of zones of Ethiopia (page revision timestamp: 2026-05-18). This source explicitly notes that zone names and counts vary across public documents, so the bundled zone dataset is best treated as a current public reference list, not a legal boundary registry.

Woreda-level data is not bundled. I could not verify a trustworthy, current source for a complete woreda dataset without guessing, so woredasForZone() returns an empty list for now.

Administrative boundaries can change again. If you spot outdated data, please file an issue so the package can be updated.

Features #

  • Pure Dart data models for Ethiopian regions, zones, and woredas.
  • Bundled current first-level divisions: 12 regional states + 2 chartered cities.
  • Zone lookup helpers for the bundled dataset.
  • Flutter EthioAddressPicker with cascading Region -> Zone -> Woreda fields.
  • Form-friendly widget built from standard DropdownButtonFormFields.

Install #

dependencies:
  ethio_address: ^0.1.0

Then:

import 'package:ethio_address/ethio_address.dart';

Quick start #

final regions = allRegions();
final zones = zonesForRegion('oromia');
final woredas = woredasForZone('some_zone_id');

API #

Data models #

Member Description
EthioRegion id, name, nameAmharic for a first-level administrative division.
EthioZone id, name, nameAmharic, regionId for a zone.
EthioWoreda id, name, nameAmharic, zoneId for a woreda.
EthioAddressSelection Nullable region / zone / woreda selection state for the picker.
EthioAddressPickerLevel regionOnly, regionZone, regionZoneWoreda.

Lookup helpers #

Member Description
allRegions() Returns the bundled first-level administrative divisions.
zonesForRegion(String regionId) Returns the bundled zones for one region.
woredasForZone(String zoneId) Returns the bundled woredas for one zone. Currently empty.

Widget #

Member Description
EthioAddressPicker Cascading Region -> Zone -> Woreda picker built from DropdownButtonFormFields.

Example #

A runnable Flutter demo lives in example/.

cd example
flutter run

Notes #

  • The region list is current as of the dates above, but administrative divisions can change again.
  • The bundled zone data is intentionally conservative. Where a current public list could be verified, it is included; where it could not, the package leaves that subdivision out rather than inventing one.
  • Woreda data is omitted until a trustworthy current source can be verified.

Contributing #

Part of the ethio_dev_kit monorepo. Issues and pull requests are welcome. Please run flutter analyze and flutter test before opening a PR.

License #

MIT — see LICENSE.

0
likes
150
points
101
downloads

Documentation

API reference

Publisher

verified publisherabroid.dev

Weekly Downloads

Ethiopian administrative division data and cascading Region-to-Zone-to-Woreda picker widgets for Flutter, with a pure Dart data layer.

Repository (GitHub)
View/report issues

Topics

#ethiopia #address #region #zone #picker

License

MIT (license)

Dependencies

flutter

More

Packages that depend on ethio_address