skip to navigation
skip to content

imposm.parser 1.0.7

Fast and easy OpenStreetMap XML/PBF parser.

imposm.parser is a Python library that parses OpenStreetMap data in XML and PBF format.

It has a simple API and it is fast and easy to use. It also works across multiple CPU/cores for extra speed.

It is developed and supported by Omniscale and released under the Apache Software License 2.0.


Here is an example that parses an OSM file and counts all ways that are tagged as a highway.

from imposm.parser import OSMParser

# simple class that handles the parsed OSM data.
class HighwayCounter(object):
    highways = 0

    def ways(self, ways):
        # callback method for ways
        for osmid, tags, refs in ways:
            if 'highway' in tags:
              self.highways += 1

# instantiate counter and parser and start parsing
counter = HighwayCounter()
p = OSMParser(concurrency=4, ways_callback=counter.ways)

# done
print counter.highways

Source and issue tracker

Source code and issue tracker are available at


1.0.7 2015-01-10

  • updated protobuf parser

1.0.6 2014-10-31

  • fixed bug in protobuf parser that could cause segfaults

1.0.5 2013-09-13

  • support PBF without granularity value
  • improved support for non-pretty-printed XML

1.0.4 2012-12-10

  • improved support for non-pretty-printed XML
  • fixed dependency check for multiprocessing

1.0.3 2011-07-21

  • support for uncompressed PBF
  • bug fix for PBF without dense nodes

1.0.2 2011-03-10

  • improved regexp based XML coord parser
  • prevent mmap overflow in XMLChunker without coord_callback
  • successfully parsed whole planet.osm

1.0.0 2011-02-22

  • first release
File Type Py Version Uploaded on Size
imposm.parser-1.0.7.tar.gz (md5) Source 2015-01-10 36KB