2023-06-25 16:54:37 +02:00
# API keys
2023-07-22 23:26:54 +02:00
GitHub releases contain default API keys of the project that make all weather sources work by default (until API limits are reached).
2023-06-25 16:54:37 +02:00
2024-03-05 20:11:40 +01:00
If you want to self-build, you can add your own API keys in `local.properties` for sources to be configured by default in the build:
2023-06-25 16:54:37 +02:00
```properties
2024-03-05 20:11:40 +01:00
breezy.accu.portal=developer
2023-06-25 16:54:37 +02:00
breezy.accu.key=myapikey
2024-03-05 20:11:40 +01:00
breezy.accu.days=15
breezy.accu.hours=120
2023-06-25 16:54:37 +02:00
breezy.atmoaura.key=myapikey
2024-12-15 18:51:08 +01:00
breezy.atmograndest.key=myapikey
2024-12-15 23:05:10 +01:00
breezy.atmohdf.key=myapikey
2024-12-15 22:32:52 +01:00
breezy.atmosud.key=myapikey
2024-03-05 20:11:40 +01:00
breezy.baiduip.key=myapikey
breezy.geonames.key=myapikey
breezy.here.key=myapikey
2023-06-25 16:54:37 +02:00
breezy.mf.jwtKey=myapikey
breezy.mf.key=myapikey
breezy.openweather.key=myapikey
2024-03-05 20:11:40 +01:00
breezy.pirateweather.key=myapikey
2023-06-25 16:54:37 +02:00
```
2024-03-05 20:11:40 +01:00
You can omit any of the following properties to let the user configure their own API key in the settings, or only use API-key-less sources (such as Open-Meteo).
2023-06-25 16:54:37 +02:00
2023-06-19 15:45:26 +02:00
# Release management
2023-06-25 16:54:37 +02:00
*Instructions for members of the organization.*
2023-08-05 09:46:07 +02:00
1) Test your debug build.
2024-03-05 20:11:40 +01:00
2) Run tests `./gradlew testBasicReleaseUnitTest` .
3) Try to assemble a release `./gradlew assembleBasicRelease` .
2023-08-05 09:46:07 +02:00
4) Update versionCode and versionName in `app/build.gradle` .
5) Write changelog in `CHANGELOGS.md` .
6) Commit all changes.
2025-02-08 10:06:40 +01:00
7) Tag version beginning with a `v` (example: `git tag v5.4.3 -m "Version 5.4.3"` ).
2023-08-05 09:46:07 +02:00
8) Push with `git push --tags`
9) GitHub action will run and sign the release.
10) Update GitHub release notes draft and publish.
2023-08-15 13:27:23 +02:00
11) Update GitHub templates in `.github/` to show the new latest version.
2023-07-12 21:33:28 +02:00
2024-12-20 15:42:29 +01:00
# Adding a new source
After merging a new source, the following things need to be done:
1) Update `CHANGELOG.md`
2) Update `docs/SOURCES.md`
3) Update `docs/COVERAGE.md`
4) Update `fastlane/metadata/android/{en-US,fr,it}/full_description.txt`
2023-08-14 21:59:00 +02:00
# Decode crash logs from users
1) Save crash log in a text file `stacktrace.txt` and remove things like `2023-08-14 21:28:58.229 12804-12804 View org.breezyweather.debug` if they are present.
2024-04-17 12:38:12 +02:00
2) From the release page, download mapping-vX.Y.Z-standard.tar.gz or mapping-vX.Y.Z-freenet.tar.gz depending on the flavor used by the user.
2023-08-14 21:59:00 +02:00
3) Unzip `mapping.txt` .
2025-01-12 12:06:28 +01:00
4) `~/Android/Sdk/cmdline-tools/latest/bin/retrace mapping.txt stacktrace.txt`
2023-08-14 21:59:00 +02:00
2023-07-14 08:40:46 +02:00
# Translations
## Updated translations
When translations are updated from Weblate, if there are new contributors, add them in `app/src/main/java/org/breezyweather/settings/activities/AboutActivity.kt` .
2023-08-25 18:22:38 +02:00
# Dependencies
## Update Gradle
Gradle must always be updated that way (replace with new version number):
```
2025-02-26 08:58:54 +01:00
./gradlew wrapper --gradle-version=8.13 --gradle-distribution-sha256-sum=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
2023-08-25 18:22:38 +02:00
```
2024-03-23 08:58:26 +01:00
You can find the newer checksum of the binary-only (-bin) ZIP on https://gradle.org/release-checksums/
2024-03-18 18:32:12 +01:00
2023-08-25 18:22:38 +02:00
2023-07-29 22:43:07 +02:00
____
2023-07-14 08:40:46 +02:00
2023-07-22 23:26:54 +02:00
# Weather sources API
2023-07-12 21:33:28 +02:00
2023-07-22 23:26:54 +02:00
Weather sources API can change: some versions may become deprecated, new endpoints may be added, new countries may be supported (when documented, we filter countries in app to avoid unnecessary calls on unsupported countries).
2023-07-12 21:33:28 +02:00
This section keep track of endpoints and when they were last checked.
## Open-Meteo
2024-04-16 21:17:29 +02:00
*Last checked: 2024-04-16*
2023-07-12 21:33:28 +02:00
| Endpoint | Version | Notes |
|---------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Geocoding — Search | v1 | Partial support for Postal code, see [open-meteo/geocoding-api#8 ](https://github.com/open-meteo/geocoding-api/issues/8 ), missing admin codes, see [open-meteo/open-meteo#355 ](https://github.com/open-meteo/open-meteo/issues/355 ) |
| Weather — Forecast | v1 | |
| Air quality | v1 | |
Future additional endpoints/improvements for existing endpoints:
- Reverse geocoding, see [open-meteo/geocoding-api#6 ](https://github.com/open-meteo/geocoding-api/issues/6 )
- Alerts, see [open-meteo/open-meteo#351 ](https://github.com/open-meteo/open-meteo/issues/351 )
- Moon rise, set and phases, see [open-meteo/open-meteo#87 ](https://github.com/open-meteo/open-meteo/issues/87 )
- Normals, see [open-meteo/open-meteo#361 ](https://github.com/open-meteo/open-meteo/issues/361 )
## AccuWeather
2024-04-16 21:17:29 +02:00
*Last checked: 2024-04-16*
2023-07-12 21:33:28 +02:00
2024-02-13 18:14:59 +01:00
https://apidev.accuweather.com/developers/
2023-07-12 21:33:28 +02:00
2024-02-13 18:14:59 +01:00
| Endpoint | Version | Notes |
|------------------------|---------|------------------------------------------------------------|
| Location — Translate | v1 | |
| Location — Geoposition | v1 | |
| Current conditions | v1 | |
| Daily | v1 | Up to 45 days, but useless |
| Hourly | v1 | Up to 240 hours |
| Minutely | v1 | 1 minute precision |
| Alerts by geoposition | v1 | |
| Alerts by location | v1 | |
| Air quality | v2 | Up to 96 hours. TODO: Observational endpoint for SK and CN |
| Climo | v1 | |
2023-07-12 21:33:28 +02:00
## MET Norway
2024-04-16 21:17:29 +02:00
*Last checked: 2024-04-16*
https://api.met.no/
2023-07-12 21:33:28 +02:00
| Endpoint | Version | Notes |
|-------------------|---------|-----------------------------------------------------------------------------------------------------------|
| Location forecast | 2.0 | |
| Sunrise | 3.0 | It is technically feasible to retrieve data for future days, but requires two calls for each, so we avoid |
| Nowcast | 2.0 | Norway, Sweden, Finland and Denmark only |
2023-07-12 22:50:48 +02:00
| Air quality | 0.1 | Norway only |
2023-07-12 21:33:28 +02:00
Not yet implemented in app:
2024-04-16 21:17:29 +02:00
| Endpoint | Version | Notes |
|-------------|---------|----------------------------------------------------------------------------|
| MET alerts | 1.1 | Norway only by country code, wait for v2.0 in May to get alerts by lat,lon |
2023-07-12 21:33:28 +02:00
No location search endpoint exists, it uses Open-Meteo instead.
2024-04-16 21:17:29 +02:00
## OpenWeather
*Last checked: 2024-04-16*
https://openweathermap.org/api
| Endpoint | Version |
|-------------------------|---------|
| Current | 2.5 |
| 5 Day / 3 Hour Forecast | 2.5 |
| Air Pollution | 2.5 |
2023-07-29 22:43:07 +02:00
## Pirate Weather
2024-04-16 21:17:29 +02:00
*Last checked: 2024-04-16*
2023-07-30 21:08:54 +02:00
2024-04-16 21:17:29 +02:00
https://github.com/Pirate-Weather/pirateweather
2023-07-30 21:08:54 +02:00
2024-04-16 21:17:29 +02:00
| Endpoint | Version | Notes |
|----------|---------|------------------------|
| Forecast | v1.5.6 | V2.0 is in pre-release |
2023-07-30 21:08:54 +02:00
We should check regularly for additional fields we could use. Latest version checked is written above, everything more recent requires to check changelog.
2023-07-29 22:43:07 +02:00
## HERE
2024-02-13 18:14:59 +01:00
*Last checked: 2024-02-13*
2023-07-30 21:08:54 +02:00
2024-02-13 18:14:59 +01:00
| Endpoint | Version | Documentation |
|---------------------|------------|------------------------------------------------------------------------------------------------|
| Weather Destination | v3 | https://www.here.com/docs/bundle/here-destination-weather-api-v3-api-reference/page/index.html |
| Geocode | v1 (7.116) | https://www.here.com/docs/bundle/geocoding-and-search-api-v7-api-reference/page/index.html |
| Reverse geocode | v1 (7.116) | https://www.here.com/docs/bundle/geocoding-and-search-api-v7-api-reference/page/index.html |
2023-07-29 22:43:07 +02:00
2023-07-12 21:33:28 +02:00
## Météo-France
2024-02-13 18:14:59 +01:00
*Last checked: 2024-02-13*
2023-07-12 21:33:28 +02:00
| Endpoint | Version |
|-------------|---------|
| Forecast | v2 |
| Observation | v2 |
| Nowcast | v3 |
| Ephemeris | None |
| Warning | v3 |
Not used:
| Endpoint | Version | Notes |
|----------|---------|--------------------------------------------------------------------------------------|
2024-02-13 18:14:59 +01:00
| Places | V2 | Doesn’ t have mandatory timezone field, miss many data on countries other than France |
2023-07-12 21:33:28 +02:00
Uses Open-Meteo for location search.
2024-04-16 21:17:29 +02:00
## DMI
*To be documented*
## China
*Legacy source, undocumented*
## National Weather Service (NWS)
*To be documented*
## GeoSphere Austria
*To be documented*
2024-01-24 18:38:43 +01:00
## Bright Sky
2024-04-16 21:17:29 +02:00
*Last checked: 2024-04-16*
2024-01-24 18:38:43 +01:00
| Endpoint | Version |
|-----------------|---------|
| Weather | v2.1 |
| Current weather | v2.1 |
| Alerts | v2.1 |
## ECCC
2024-01-26 18:03:50 +01:00
*Last checked: 2024-01-26*
2024-01-24 18:38:43 +01:00
| Endpoint | Version |
|-------------|---------|
2024-01-26 18:03:50 +01:00
| Location | v2 |
2024-04-16 21:17:29 +02:00
## Israel Meteorological Service
*To be documented*
2024-01-26 18:03:50 +01:00
## SMHI
*Last checked: 2024-01-26*
| Endpoint | Version |
|----------|---------|
| Weather | 2 |
2024-01-24 18:38:43 +01:00
2024-02-13 18:14:59 +01:00
## MET Éireann
*To be documented*