Version 2.0 wishlist
See original GitHub issue(This is a derivative from the roadmap #267 with the breaking-changes plans).
Public API cleanup:
- ~Reorder the arguments in line with the base
Geocoder
class.~ (upd: not actually required because the*
makes them kwargs, so the order doesn’t matter). - Pull up the base defaults (i.e.
exactly_one=False
in somereverse
methods, like GoogleV3, which is different from the base method defaultexactly_one=True
). (deprecation warnings added in #295) - Cleanup kwargs: some are passed to constructor (i.e. Nominatim
view_box
), some to geocoding methods. There should be a consistency. - Remove
geopy.distance.vincenty
(deprecation warning added in #293) -
timeout=None
in geocoder calls should mean “no timeout”. See #288
Public API changes:
-
Change Point(use__str__
format to floats (the current one causes some confusion, e.g. https://stackoverflow.com/q/54507409)repr(point)
orlist(point)
instead) - Introduce async/await syntax (feasibility for 2.0 is still questionable)
Inner cleanup:
- Perform all
isinstance
checks againstcollections.abc
instead oftuple
/dict
. -
Come up with a more uniform inner structure for geocoders (i.e. call response parsing functions the same name across all geocoders).(would take a lot of time and bring nothing but better aesthetics) - Use a single
1.x
version in ReadTheDocs for all 1.x releases, and keep 2.x series doc instable
. (Also to not forget to set up redirects in RTD from old version to the new1.x
). - Try to abstract away urllib from the base
Geocoder
class. See https://github.com/geopy/geopy/issues/149#issuecomment-136526143 - Add tests to sdist (this would allow downstream package maintainers to run the test suite before packaging) (done in 1.x: 0f0ac3e030f13c804a7af7c0aa238f241bd4f589)
- Add “no network calls” mode via pytest marks, which would disable integration tests (done in 1.x: #413)
Regarding dropping Python 2 support, I suggest to join the numpy/pandas party and drop Python 2 support after December 31, 2018. If geopy 2.0 happens to be released before that date, it should support Python 2 as well.
After dropping Python 2 support:
- Make all custom geocoder params (in initializer/geocoder calls) as kwargs (with an
*
separating kwargs from positional args in Python 3) - (???) Add type annotations + mypy +
py.typed
(exactly_one
, changing the return type, might be an issue there).
After 2.0 release:
- Replace unittest with pytest completely (this would probably simplify the tests and allow to extensively use pytest fixtures and marks).
- Adopt
black
formatter
Any other ideas/wishes? Except those listed in the roadmap #267.
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (4 by maintainers)
Top Results From Across the Web
10. Wish list for version 2.0
10. Wish list for version 2.0 · New section on remote Emacspeak. · New section on getting Emacspeak and Speakup to work together....
Read more >HOW TO ADD DAWN WISHLIST FEATURE WITHOUT APPS
Our Wishlist Feature for Dawn Themes allows customers to keep track ... THEME MEGA MENU IN SHOPIFY :https://www.youtube.com/watch? v =V8PNo.
Read more >Disney Infinity 2.0 Wishlist - YouTube
The Disney Wikia community sounds off on the top characters they want to see in Disney Infinity 2.0, including Jar Jar Binks, the...
Read more >+WishList.com version history - Firefox Add-ons
Version 2.0. Released Jun 11, 2020 - 32.61 KB. Works with firefox 48.0 and later, android 48.0 and later. We added the option...
Read more >My V.2.0 hardware wishlist - Redpitaya Forum
My V.2.0 hardware wishlist · 1. Ability to add/substract fixed DC offset into/from the output signal after DAC and/or substract/add it from the ......
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I have just pushed a pre-release to pypi:
Changelog: https://geopy.readthedocs.io/en/latest/changelog_2xx.html#v2-0-0
To try the new more effective requests adapter, install the
requests
library:I’ll wait for a week for any feedback, and if there won’t be any issues, I will release 2.0.0 + 1.23.0.
I have just updated the description with more TODO items for 2.0.
2.0 will definitely be Python >=3.5 only.