A collection of Scala libraries for type-safe modelling and manipulation of real-world domain concepts.
- Users should refer to the project documentation site for API reference and usage guides.
- Contributors should also refer to the contributor documentation page detailed contributor guidelines.
- Sources:
countries-iso3166.csv(ISO 3166-1, UN Statistics Division)supplemental-countries.yml(additional/reserved codes)
- Generated output:
modules/locale/src/main/scala/africa/shuwari/locale/country/Countries.scala
Update process:
- Download latest ISO 3166 data.
- Update
countries-iso3166.csvand/orsupplemental-countries.yml. - Run:
sbt locale/compile
- Sources:
currencies.yml(ISO 4217, SIX Group)currency-usage.yml(currency-to-country mappings)
- Generated output:
modules/money/src/main/scala/africa/shuwari/money/currency/Currencies.scalamodules/money/src/main/scala/africa/shuwari/money/currency/HistoricCurrencies.scalamodules/money/src/main/scala/africa/shuwari/money/currency/CurrencyUsageInstances.scalamodules/money/src/main/scala/africa/shuwari/money/CurrencyFactorySyntax.scala
Update process:
- Download latest ISO 4217 and mapping data.
- Update
currencies.ymlandcurrency-usage.yml(validate country codes). - Run:
sbt money/compile
- Scaladoc 3 for API documentation
- mdoc guides for usage examples and developer notes
Generate documentation:
sbt generateUnidoc
cd target/scala-3.7.3/unidoc # Or current Scala specific target directory
python3 -m http.server 8000- Update
currencies.yml. - Update
currency-usage.yml. sbt money/compile- Add relevant tests.
- Update documentation if needed.
- Update
countries-iso3166.csv(orsupplemental-countries.yml). sbt locale/compile- Add relevant tests.
- Update currency usage if applicable.
- Project Site: https://dev.shuwari.africa/world/
- API Docs: https://dev.shuwari.africa/world/api/
- GitHub: https://github.com/shuwariafrica/world
- ISO 3166 (Countries): https://unstats.un.org/unsd/methodology/m49/
- ISO 4217 (Currencies): https://www.six-group.com/en/products-services/financial-information/data-standards.html#iso-4217
- IMF Exchange Rates: https://data.imf.org/?sk=E6A5467B-4675-438A-862A-05A490D65A40
- ECB Eurozone: https://www.ecb.europa.eu/euro/intro/html/index.en.html
Copyright © 2023–2025 Shuwari Africa Ltd.
Licensed under the Apache License, Version 2.0 (the "Licence");
you may not use this file except in compliance with the Licence.
You may obtain a copy of the Licence at:
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the Licence is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the Licence for the specific language
governing permissions and limitations under the Licence.