loicdtx / pygadm

Easy access to administrative boundary data with python
16 stars 2 forks source link

adding support to the python 3.9 #1

Closed GrandGarcon closed 2 years ago

GrandGarcon commented 2 years ago

Hi ,

thanks for creating the package for scraping the GADM dataset , i was asking in case there can be suttle changes for adding Py3.9 support (which is now the LTS version) , thanks

loicdtx commented 2 years ago

Sure, I'd be happy to update the package. I wasn't able to quickly run python 3.9 tests right now though. What issue/error are you getting?

GrandGarcon commented 2 years ago

thanks for reply ,

there were multiple errors , most of them with the similar type of the logging trace :

ERROR: Command errored out with exit status 1:
   command: /opt/homebrew/opt/python@3.9/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/3p/9xs95xtj2q1fhxwt6hqt0w3w0000gn/T/pip-install-b7pm2c1f/f ......

also my machine is mac air m1 , so there might be issues related to the incompatibility of the architecture though , but i was able to install using the source by doing the changes by just adding the details for python 3.9 . but in that case also it was asking to set the env variable GADM_VERSION variable , and after doing export GADM_VARIABLE = '4.0.1' , still it doesnt detect , so any guidance on this regard will be very greatful.

thanks for the help .

loicdtx commented 2 years ago

I can't reproduce your error, see the python3.9 test below which is working well (it returns a bunch of warnings but nothing alarming). Make sure your python-virtualenv/conda-pip environment is in sync and properly setup.

docker run --rm python:3.9  /bin/bash -c "pip install git+https://github.com/loicdtx/pygadm.git; python -c \"import gadm; mex_fc = gadm.get_data(code='MEX', level=2); print(type(mex_fc))\""

About your additional comment:

also my machine is mac air m1 , so there might be issues related to the incompatibility of the architecture

That's very unlikely for such a simple package, it should work on all platforms

As for the classifiers argument in setuptools.setup(), it is just meta information for e.g. pypi indexing, it does not enforce anything during installation with pip.