I think your field_functions.py module should exist in the vector_calculus package instead of as a sub package. Not sure if there is a need for a sub package for those. And as I expressed earlier it seems that those functions could even be methods of Vector and/or ReferenceFrame.