Pycountry

Latest version: v24.6.1

Safety actively analyzes 688386 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

20.7.3

-------------------

- Fix bug 37: (accidental) unconditional pkg_resources import.
(thanks, crbunney)

20.7.2

-------------------

- Add (auto-generated) __version__ attribute to the main module.
(Fixes issue 4)

- Add fuzzy search to historic countries. (Fixes issue 26)

- Update to iso-codes 4.5.0.

- PR 9: Clean up the normalization (lower casing) of values in indexes and
searches. See PR https://github.com/flyingcircusio/pycountry/pull/9 for
detailed discussion. This also fixed issue 8.

- Smaller cleanups and build environment version bumps.

- PR 35: Python 3-only cleanups and updated Python minor version compatibility
(thanks, Djailla)

- PR 33: Remove defunct bugtracker link from README (thanks, jwilk)

- PR 32: (Somewhat hilarious) Typo (thanks, jwilk)

- Moved to Git/Github; switched from Bitbucket Pipelines to Travis builds.

19.8.18

--------------------

- Fix installation on systems that don't have UTF-8
as default encoding. (13422)

- Remove superfluous print debugging output. (13424)

19.7.15

--------------------

- Update to iso-codes 4.3.

- Add support for ISO 639-5 (Language Families and Groups).

- Drop support for Python 2.

- Add `search_fuzzy()` function to the countries database. This allows
for dealing with user searches that aren't really aware of ISO 3166 (so,
like, actual human beings). A bit of character normalization and prioritizing
matches between multiple criteria allows building somewhat reasonable
suggestion/autocompletion lists. (13418)

Caveat emptor: no attention has been paid to performance in this feature.

18.12.8

--------------------

WARNING: This release contains a subtle but important API change that may break
integrations!

Looking at 13416 I realized that I made a terrible API design choice with
respect to how the `get` function should behave in Python. Probably under the
influence of either too little or too much whiskey I went and implemented `get`
so that it raises a KeyError instead of doing the Pythonic thing and returning
None and allowing to customize the `default`. There was a bit of back-and-forth
around this code in previous releases (specifically touching edge cases to
have the Subdivision API behave "reasonably", although there doesn't seem
to be *one* right way there.)

Anyway, when preparing this release and reviewing 13416 and the other related
issues and changes from the past I noticed my mistake an decide to fix it
going forward.

So, from now on `get` will behave as expected in Python and yes, this means
you will have to update your integration code carefully now checking for
`None` returns instead of expecting KeyErrors. This is work, but I think it's
worthwhile to uphold this convention within the Python community.

- Switch API from "get + KeyError" to " get + default=None". This is
a subtle API-breaking change. Please update carefully. (13416)

- Update to iso-codes 4.1.

18.5.26

--------------------

- Fix 13394: incorrect KeyError shadowing in Subdivisions.get()
- Fix 13398: make lazy loading thread-safe.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.