Rasterio 1.0.0

From Rasterio's new discussion group/email list, here's the 1.0.0 announcement.

Hi, all.

We, the authors of Rasterio, are pleased to announce the release of Rasterio 1.0.0.

What is the significance of 1.0.0? Stability. After more than a year of changes, there is at last a stable base for applications. You can pin rasterio ~= 1.0 in your project’s requirements and enjoy nothing but bug fixes for as long as the project supplies them.


Many new features have been added since the last stable release (0.36). Especially notable are the following.

  • All new documentation at https://rasterio.readthedocs.io/en/stable/.

  • Binary wheels with GDAL 2.x included for the macOS and manylinux1 platforms are available on pypi.org.

  • A new Window class with floating point origin and offsets has been added to help with windowed dataset operations.

  • BytesIO-like MemoryFile and ZipMemoryFile classes that support access to in-memory datasets.

  • A WarpedVRT class exposes GDAL’s warp-on-demand VRT features.

  • Support for georeferencing by ground control points has been added.

  • The rasterio.shutil module provides many of the same features as Python’s shutil, but also knows about sidecar files (masks, overviews, metadata).

Upgrading and compatibility

Rasterio is compatible with GDAL versions 1.11-2.3 and Python versions 2.7, and 3.4-3.7.

We have deprecated a number of features since 0.36. Features have been removed, after some warning, at 1.0a1, 1.0a10, 1.0b1, and 1.0rc2. We recommend migrating stepwise through those tags to get from 0.36 to 1.0.0 if you're feeling extra cautious.


The primary channel for installation and usage support is the Rasterio user discussion group at https://rasterio.groups.io/g/main. Please see https://github.com/mapbox/rasterio/blob/master/CONTRIBUTING.rst for guidance on reporting bugs or proposing new features.


Rasterio 1.0.0 is the work of 68 authors. The individuals are listed in https://github.com/mapbox/rasterio/blob/master/AUTHORS.txt.

This number does not include people who have created and commented on issues in the project’s issue tracker, but their contributions are also very important. We’ve received some of the best bug reports ever written.

Rasterio benefits from a userbase in many different areas of work and study. Advocates across companies, classrooms, and projects have helped make Rasterio what it is. We particularly thank people who help distribute it, and people who help teach others to use it. Among those are: Christoph Gohlke, the conda-forge and Debian GIS teams, Howard Butler, Sara Safavi, Dana Bauer, Leah Wasser, Chris Holdgraf, and everyone else who has taught Rasterio in a workshop or course, or presented Rasterio to a conference or meetup audience.

Rasterio has benefited from helpful folks on the GIS StackExchange. Luke Pinner, Loïc Dutrieux, Martin Laloux, and Kersten Clauss are foremost among them.

Everything we know about building and distributing binary wheels comes from the SciPy community. Thank you, Matthew Brett, Nathaniel Smith, et al., for writing the delocate and auditwheel tools and supporting them.

Even Rouault, GDAL’s maintainer, has been our patient guru and guide during many difficult passages.

Early adoption by engineering teams in the satellite imagery business has also been key to Rasterio’s success. The project is indebted to developers who tried it and managers who supported them.

Thank you all!

July 3, 2017: Refuge Alfred Wills and Col d'Anterne

On my family's hut-to-hut trip in the Alpes a year ago we went from soggy and cold condtions – here are my kids drinking tea and eating blackberry tarts at the Refuge Alfred Wills to deal with the inclement weather on July 2 –


to bright, sunny, and warm conditions on July 3.


We even got peeks at Mont Blanc through the clouds from the Col d'Anterne.


So much fun. We'll remember this trip forever.

June 27, 2017: Arabelle's 6ème graduation

A year ago my oldest kid finished 6th grade at Collège Jeu de Mail in Montpellier, France and I went to the pâtisserie Palais Saint Lazare for a dark chocolate and white chocolate and red fruit cake to celebrate the occasion. It's a great bakery that I discovered almost too late in our séjour and I remember the cake being perfectly delicious.

Graduation from 6ème!

A post shared by Sean Gillies (@sean.gillies) on

In the U.S. kids are assigned to school classes based on how their birth date compares to the start of the school year. In August of 2016 my daughter would have entered 5th grade in the U.S. because her 11th birthday falls before the end of the school year, and she would have been one of the oldest kids in her class. In France, however, kids born in 2005 were entering 6th grade and she would be one of the youngest kids in her class. In a scrappy school serving less-privileged Montpellerians, with no other Anglophone kids around.

From 4th grade straight to 6th, in a city she barely remembered, and in a second language. It was a huge challenge and she rocked it. Her courage inspires me all the time.

Rasterio 1.0 Release Candidate Number One

The first 1.0 release candidate is on PyPI now: https://pypi.org/project/rasterio/1.0rc1/. I've scheduled another for Friday, which will remove a deprecated module and deprecated methods of dataset classes. I feel great about reaching this goal. I hope you'll give the release candidate a try!

We will not be having an extended release candidate phase. A final 1.0 release could come as soon as next week. Until then, I expect to be mostly busy with documentation, blog post and announcement drafting, and project wrap-up.

Rasterio 1.0b4

Vincent Sarago and I tracked down and knocked out a number of tricky warping and VRT bugs last week and I made three beta releases of Rasterio. Rasterio 1.0b4 went to the Python Package Index yesterday: https://pypi.org/project/rasterio/1.0b4/. Huge thanks to all of you who are trying these beta releases out.

Releasing Rasterio 1.0 by June 31 was one of my goals for the second quarter of 2018. I'm feeling confident about making a first release candidate at least!

Rasterio 1.0b2

Rasterio 1.0b2 is on the Python Package Index today: https://pypi.org/project/rasterio/1.0b2/. This release has been blocked for a couple weeks while we worked out some issues with Rasterio's boundless reads, WarpedVRT, overviews, and masks. To try it out, run pip install rasterio==1.0b2 in a new Python environment on Linux or OS X. Conda packages for Linux, OS X, and Windows will be available soon from conda-forge.

There's a breaking change that I couldn't avoid in 1.0b2: boundless reads from a WarpedVRT are forbidden. I never intended this to be a Rasterio feature and removing it is in my view as much of a bug fix as it is an API change. If you're using software and see errors that report "WarpedVRT does not permit boundless reads", you can downgrade Rasterio to 1.0b1 while that software catches up to the changes in Rasterio 1.0b2.

Trail des Étoiles Filantes

I just signed up for the Trail des Étoiles Filantes (Shooting Stars Trail Run, in English) during my family's upcoming summer vacation in Montpellier. I don't have any experience with night races, but I love being outside after dark, I love the Pic Saint-Loup region, I need to run something before the Black Squirrel, and no French race has yet failed to satisfy me.

It looks like we'll be leaving the village of Murles at dusk and running through the vines and rock outcrops around Pic Saint-Loup. I think this could be a ton of fun.

Rasterio 1.0b1

I've been working on getting Rasterio to 1.0 this spring. Today I tagged the project 1.0b1 and uploaded a source distribution and wheels for macosx and manylinux1 to PyPI: https://pypi.org/project/rasterio/1.0b1/.

There are many changes in this release. We've fixed a number of bugs and added new features. We've deprecated some features and removed features that were previously deprecated. The full list of changes is at https://github.com/mapbox/rasterio/blob/master/CHANGES.txt#L4-L108.

Please try this pre-release out soon and check for warnings and hopefully rare and minor un-warned bad surprises.

pip install rasterio==1.0b1

I've had a lot of help getting to this first beta release and had a lot of fun tweeting thanks this afternoon. Brendan Ward isn't on Twitter as far as I know and so I want to acknowledge his contributions here: thanks!