Generating a custom flat projection in pyproj

You could use an Azimuthal Equidistant projection centred on your origin point.

In PROJ4 syntax, "+proj=aeqd +lat_0=1.234 +lon_0=5.678".

That long/lat coordinate should project to (0,0) in that coordinate system, and points away from there should be in metres. You might want to add "+datum=WGS84 +units=m" but they may be default. Not sure what ellipsoid is default so maybe add an "+ellps=GRS80" or similar...

Note you can construct a projection string using this argument-based form:

>>> pargs = proj.Proj(proj="aeqd", lat_0=gps_lat, lon_0=gps_long, datum="WGS84", units="m")

which means you don't have to make sure your arguments line up with the {0} etc format replacement markers if you try doing it with format.