On Monday, August 13, 2012 at 7:53:32 PM UTC+3, andrea crotti wrote: > I am in the situation where I am working on different projects that > might potentially share a lot of code. > > I started to work on project A, then switched completely to project B > and in the transiction I copied over a lot of code with the > corresponding tests, and I started to modify it. > > Now it's time to work again on project A, but I don't want to copy > things over again. > > I would like to design a simple and nice way to share between projects, > where the things I want to share are simple but useful things as for > example: > > class TempDirectory: > """Create a temporary directory and cd to it on enter, cd back to > the original position and remove it on exit > """ > def __init__(self): > self.oldcwd = getcwd() > self.temp_dir = mkdtemp() > > def __enter__(self): > logger.debug("create and move to temp directory %s" % self.temp_dir) > return self.temp_dir > > def __exit__(self, type, value, traceback): > # I first have to move out > chdir(self.oldcwd) > logger.debug("removing the temporary directory and go back to > the original position %s" % self.temp_dir) > rmtree(self.temp_dir) > > > The problem is that there are functions/classes from many domains, so it > would not make much sense to create a real project, and the only name I > could give might be "utils or utilities".. > > In plus the moment the code is shared I must take care of versioning and > how to link different pieces together (we use perforce by the way). > > If then someone else except me will want to use these functions then of > course I'll have to be extra careful, designing really good API's and so > on, so I'm wondering where I should set the trade-off between ability to > share and burden to maintain.. > > Anyone has suggestions/real world experiences about this?
I would try bit: https://github.com/teambit/bit Hope it helps. -- https://mail.python.org/mailman/listinfo/python-list