This post should clarify the relationship between dxfwrite, dxfgrabber an ezdxf.
TL;DR: use ezdxf, it includes all features of dxfwrite and dxfgrabber and more
dxfwrite is my first DXF related Python package, I started the project in 2010:
While dxfwrite works fine, I wanted a more versatile package, that can read and write DXF files and maybe also supports newer DXF formats than DXF R12. This was the start of ezdxf in 2011, but the progress was so slow, that I created a spin off in 2012: dxfgrabber, which implements only the reading part of ezdxf, which I needed for my work and I wasn't sure if ezdxf will ever be usable.
In 2014 I released the first usable versions (> 0.4) of ezdxf. ezdxf has all the features of dxfwrite and dxfgrabber and much more, but with a different API. So ezdxf is not a drop-in replacement for dxfgrabber or dxfwrite.
Since ezdxf can do all the things that dxfwrite and dxfgrabber can do, I focused on the development of ezdxf, dxfwrite and dxfgrabber are in maintenance mode only and will not get any new features, just bugfixes.