pycaffe is only a wrapper to libcaffe, which contains all the actual code for the layers, network and solver. In pycaffe all layers are exposed, but only using the generic "Layer" interface (see
https://github.com/BVLC/caffe/blob/master/python/caffe/_caffe.cpp#L303-L309).
The proto changes (which you supposedly have if you are developing a new layer, because that layer usually needs some kind of configuration) are "applied" when the protobuf compiler for python is invoked (when you do "make pycaffe"), so you can also create a config for your layer directly in python.
Jan