boto3 is intended to be optional, but is not. I uninstalled boto3 from my dev environment and get this failure when running fio-info on a local shapefile.
$ fio info tests/data/coutwildrnp.shp
ERROR:fio:Exception caught during processing
Traceback (most recent call last):
File "/Users/seang/code/Fiona/fiona/fio/info.py", line 50, in info
with fiona.open(input, layer=layer) as src:
File "/Users/seang/code/Fiona/fiona/__init__.py", line 176, in open
enabled_drivers=enabled_drivers, **kwargs)
File "/Users/seang/code/Fiona/fiona/collection.py", line 144, in __init__
self.env = AWSGDALEnv()
File "/Users/seang/code/Fiona/fiona/drvsupport.py", line 159, in __init__
import boto3
ImportError: No module named boto3
Aborted!
Copying over more of the implementation from rasterio.env will be the way to go.
And even if boto3 is present, not everyone wants it to go off and talk to AWS to run the default tests. I am currently working on how to have testing in a locked down env.
@schwehr my recent work in rasterio is going to improve the situation quite a bit once it's ported back here.
Having refactored Rasterio's cloud connectivity, I'm getting started on doing so here.
Most helpful comment
Having refactored Rasterio's cloud connectivity, I'm getting started on doing so here.