.. _bindings:

********************************************************************************
Language bindings
********************************************************************************

PROJ bindings are available for a number of different development platforms.

Python
======
`pyproj <https://pypi.python.org/pypi/pyproj>`_:
Python interface (wrapper for PROJ)

Java
====

`PROJ-JNI <https://github.com/OSGeo/PROJ-JNI>`_:
Java Native Interface for PROJ

Ruby
=======

`proj4rb <https://github.com/cfis/proj4rb>`_:
Bindings for PROJ in ruby

Rust
=======

`proj <https://github.com/georust/proj>`_:
Rust bindings for the latest stable version of PROJ

Go (Golang)
===========
`go-proj <https://github.com/everystreet/go-proj>`_:
Go bindings and idiomatic wrapper for PROJ

Julia
=====
`Proj.jl <https://github.com/JuliaGeo/Proj.jl>`_:
Julia bindings and idiomatic wrapper for PROJ.

TCL
========
`proj4tcl <http://wiki.tcl.tk/41270>`_:
Bindings for PROJ in tcl (critcl source)

MySQL
=====

`fProj4 <https://sourceforge.net/projects/mysqlscientific/files/fPROJ4/>`_:
Bindings for PROJ in MySQL

Excel
========

`proj.xll <https://github.com/jbuonagurio/proj.xll>`_:
Excel add-in for PROJ map projections

Visual Basic
==================

`PROJ VB Wrappers <http://ftp.dfg.ca.gov/Public/BDB/Tools/proj4/proj_api.zip>`_:
By Eric G. Miller.

Fortran
=======

`Fortran-Proj <https://gitlab.com/likeno/fortran-proj>`_:
Bindings for PROJ in Fortran (By João Macedo @likeno)
