The Transport API in bzrlib provides URL based access to network resources. >>> import os >>> from bzrlib.osutils import getcwd, dirname >>> import bzrlib.transport as transport >>> root = transport.get_transport("file:///") >>> Each Transport instance represents a single logical directory. >>> dir = transport.get_transport(".") >>> dir.base == getcwd() + '/' True You can change directories via the clone method: >>> parent = dir.clone('..') >>> parent.base == (dirname(getcwd()).rstrip('/') + '/') True