------------------------
This is a major change. The upstream packages have been revamped from the
former XML databases to use JSON. They adapted their schemata a bit and thus
made some of the structures in pycountry superfluous (yay!). Memory usage went
down when all databases are loaded (32.7 MiB down from 83.6 MiB) and
performance has gone up (not measured scientifically, but it's noticeable when
loading the DBs in an interactive session).
To mark this major change, I'm also switch from the existing (not useful)
SemVer-based version numbers to CalVer-based numbers using YY.MM.DD.micro as
the pattern.
To avoid adding more complexity I have removed code that really only was
necessary because of the complexity of using the XML databases.
Here's what you need to know:
- I updated to iso-codes 3.70 which is a lot fresher than the
last release.
- Attribute names have changed. There is no longer a mapping
going on between the sources and the object attributes. Take
a look at the JSON files (or inspect the objects) to see
which fields are supported.
You can also inspect the automatically build indexes (db.indices) to see all
keys in a database. Not every object supports every attribute - this depends
on the quality of the data from pkg-isocodes.
Attribute names are more coherent now, too. Note that "alpha2", "alpha4",
etc. are now using an underscore as that's the pattern in the upstream
packages. So it's "alpha_2" now.
- HistoricCountries no longer includes countries that still
exist. I removed the computed fields that were meant to
make it easy to filter.