Spent today writing a new Python library. Super useful if you are making command-line OSM processing scripts:
https://github.com/Zverik/cli-oauth2
With it you add OAuth2 authentication in just one line of code (well, 3-4 after PEP8).
auth = OpenStreetMapAuth(
client_id, client_secret, ['read_prefs', 'write_api']
).auth_server(token_test=lambda s: s.get('user/details'))
user_name = auth.get('user/details.json').json()['user']['display_name']
This line starts a local web server, opens OSM OAuth page, catches the redirect, stores the token on disk, and returns a requests session that also prepends the API endpoint to its parameter.
Not very secure — but it doesn’t need to be. One drawback is when publishing sources to github, you would need to publish your client credentials as well. Or just read then from a config file, idk.
Already updated my Simple Revert and OSM to Sandbox scripts to use it. Hope it helps!
On 10.October. 2023, South Sudan took a significant step towards realizing the dream of an inclusive digital future by hosting the Internet Governance Forum (IGF) under the theme “The Internet We Want: Empowering All South Sudanese People.” This momentous event held at the Hotel provided a platform for stakeholders from various sectors to come together and address the critical issue of digital access in a country where connectivity costs are among the highest in East Africa.


