Skip to content

πŸ—ΊοΈ The Next Generation of OpenStreetMap β€” in Python!

License

Notifications You must be signed in to change notification settings

openstreetmap-ng/openstreetmap-ng

Repository files navigation

OpenStreetMap-NG logo OpenStreetMap-NG

Discord Developers Chat Liberapay Patrons GitHub Sponsors GitHub Stars

OpenStreetMap-NG is an unofficial Python fork of openstreetmap.org. It's on a mission to push the boundaries of OpenStreetMap and provide a better experience for all users. It's simply the Next Generation of OpenStreetMap.

πŸ“’ Development Updates

I actively post weekly/bi-weekly updates on the development of OpenStreetMap-NG on my OpenStreetMap diary. You can also subscribe to the RSS feed to stay up-to-date.

πŸ‘· Contributing

To get started contributing, see the Contributing Guide on the GitHub wiki. This wiki is the primary source of information for contributors. We support Linux, macOS, and Windows (WSL2) operating systems.

You can also join our Discord server to receive personalized support and discuss development topics. This is our primary internal communication channel. It's free to join and we're always happy to help you get started!

✨ The Vision

  • Simple to contribute: OpenStreetMap-NG requires just basic Python knowledge to contribute. There are no complex abstractions or frameworks to learn. We use Nix to provide stress-free and streamlined developer experience on all platforms.

  • Super efficient: OpenStreetMap-NG uses modern programming techniques to provide high performance and low latency. Most of the codebase is compiled to C language with Cython's Pure Python Mode.

  • Privacy first: OpenStreetMap-NG is designed with privacy first approach. We give users the control over their data and privacy. The new builtin proxy for third-party requests additionally protects users identity.

  • Innovation: OpenStreetMap-NG is a playground for new ideas and features. It's a place where the community can experiment with new features and technologies. We are not afraid of change!

πŸ”’ KISS Principle

OpenStreetMap-NG follows the KISS principle (Keep It Simple, Stupid). We believe that simplicity is the key to success and that less is more. We avoid complex abstractions and frameworks. We use straightforward and easy to understand Python code.

🌍 Community Driven

OpenStreetMap-NG is an open community-driven project. The best ideas come from people just like you! We believe the community is the heart of OpenStreetMap and that everyone should have an equal say.

This project is currently funded through community donations. We are not sponsored nor endorsed by the OpenStreetMap Foundation. We are ordinary mappers who want to make a difference.

πŸ“š Learn More

More feature details can be found in the project announcement. This information is not strictly up-to-date, but it provides a broader view of the project. More recent updates can be found on my OpenStreetMap diary but they are lesser in quantity.

πŸ›£οΈ The Roadmap

The general roadmap of the project. You can use it to track the big picture progress. I update it from time to time as the development progresses. Not all features and improvements are listed here.

  • βœ… Architecture design
  • βœ… Migration of the database models
  • βœ… Migration of translations
  • βœ… Migration of various utilities and "lib" folder
  • βœ… Cache for markdown generated content (faster page loading)
  • βœ… Migration of OAuth 1.0 & OAuth 2.0
  • βœ… Authorization
  • ⬛ Authorization with third-party providers
  • βœ… Optimistic diff processing
  • βœ… Migration of API 0.6
  • ⬛ Migration of redactions
  • βœ… Migration of rate limiting
  • βœ… Migration of changeset history RSS feed
  • βœ… Improved GPX traces processing
  • [75%] Migration of website API
  • βœ… Migration and refactoring of stylesheets
  • βœ… Migration and refactoring of scripts
  • [75%] Migration of templates
  • ⬛ πŸŽ‰ FEATURE-PARITY POINT πŸŽ‰
  • βœ… Development translation overrides
  • [20%] Anti-vandalism stage 1
  • βœ… Redis in-memory caching
  • [40%] Pagination and limits
  • βœ… User permalinks
  • βœ… Proxy for Amazon requests (better privacy)
  • βœ… Addition of Rapid editor
  • [50%] Ability to rotate OAuth keys
  • ⬛ Scheduled account delete
  • ⬛ Identification of anonymous note users
  • ⬛ Anti-vandalism stage 2
  • [30%] Design finalization of API 0.7
  • [10%] Development of API 0.7
  • [10%] 2FA and U2F support
  • ⬛ Community profiles
  • ⬛ Functional sitemap.xml
  • And a lot more... :-)!

OpenStreetMap-NG
Made with love and care.
β€” πŸ«‚ β€”