Skip to main content

Python wrapper for the OSM API

Project description

osmapi
======

`|Build| <https://travis-ci.org/metaodi/osmapi>`_ `|Coverage
Status| <https://coveralls.io/r/metaodi/osmapi?branch=develop>`_
`|Version| <http://badge.fury.io/py/osmapi>`_
`|Downloads| <https://pypi.python.org/pypi/osmapi/>`_
`|License| <https://pypi.python.org/pypi/osmapi/>`_

Python wrapper for the OSM API

Installation
------------

Install ``osmapi`` simply by using pip:

::

pip install osmapi

Development
~~~~~~~~~~~

If you want to help with the development of ``osmapi``, you should clone
this repository and install the requirements:

::

pip install -r requirements.txt

After that, it is recommended to install the ``flake8`` pre-commit-hook:

::

flake8 --install-hook

Note
----

Scripted imports and automated edits should only be carried out by those
with experience and understanding of the way the OpenStreetMap community
creates maps, and only with careful **planning** and **consultation**
with the local community.

See the
`Import/Guidelines <http://wiki.openstreetmap.org/wiki/Import/Guidelines>`_
and `Automated Edits/Code of
Conduct <http://wiki.openstreetmap.org/wiki/Automated_Edits/Code_of_Conduct>`_
for more information.

Examples
--------

Read from OpenStreetMap
~~~~~~~~~~~~~~~~~~~~~~~

::

import osmapi
api = osmapi.OsmApi()
print api.NodeGet(123)
# {u'changeset': 532907, u'uid': 14298,
# u'timestamp': u'2007-09-29T09:19:17Z',
# u'lon': 10.790009299999999, u'visible': True,
# u'version': 1, u'user': u'Mede',
# u'lat': 59.9503044, u'tag': {}, u'id': 123}

Constructor
~~~~~~~~~~~

::

import osmapi
api = osmapi.OsmApi(api="api06.dev.openstreetmap.org", username = "you", password = "***")
api = osmapi.OsmApi(username = "you", passwordfile = "/etc/mypasswords")
api = osmapi.OsmApi(passwordfile = "/etc/mypasswords") # username will be first line username

Note: The password file should have the format *user:password*

Write to OpenStreetMap
~~~~~~~~~~~~~~~~~~~~~~

::

import osmapi
api = osmapi.OsmApi(username = u"metaodi", password = u"*******")
api.ChangesetCreate({u"comment": u"My first test"})
print api.NodeCreate({u"lon":1, u"lat":1, u"tag": {}})
# {u'changeset': 532907, u'lon': 1, u'version': 1, u'lat': 1, u'tag': {}, u'id': 164684}
api.ChangesetClose()

Attribution
-----------

This project was orginally developed by Etienne Chove. This repository
is a copy of the original code from SVN
(http://svn.openstreetmap.org/applications/utils/python\_lib/OsmApi/OsmApi.py),
with the goal to enable easy contribution via GitHub and release of this
package via `PyPI <https://pypi.python.org/pypi/osmapi>`_.

See also the OSM wiki: http://wiki.openstreetmap.org/wiki/Osmapi

.. |Build| image:: https://travis-ci.org/metaodi/osmapi.png?branch=develop
.. |Coverage
Status| image:: https://coveralls.io/repos/metaodi/osmapi/badge.png?branch=develop
.. |Version| image:: https://badge.fury.io/py/osmapi.png
.. |Downloads| image:: https://pypip.in/d/osmapi/badge.png
.. |License| image:: https://pypip.in/license/osmapi/badge.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for osmapi, version 0.2.25
Filename, size File type Python version Upload date Hashes
Filename, size osmapi-0.2.25.tar.gz (8.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page