instrumentkit / InstrumentKit

Python package for interacting with laboratory equipment over various buses.
247 stars 70 forks source link

HP/Agilent/........Keysight #35

Open scasagrande opened 10 years ago

scasagrande commented 10 years ago

So the split is now official, the T&M section of Agilent has been spun off once again and is now called Keysight. For each of the two renames, the instruments sold at the time were renamed, but kept the same model number. That is, some HP gear was then sold under the Agilent name, and some Agilent gear is now for sale under the Keysight name, and some HP gear sold under all three (for example the 6624a). This presents some namespace issues.

The way I see it we have a few options:

cgranade commented 10 years ago

I don't know what to suggest for this, frankly, as there's no truly good option. One idea would be to, in instruments/agilent/__init__.py have something like from instruments.keysight import Keysight1234 as Agilent1234 to provide aliases, but that's a maintainability nightmare.

In any solution, though, we should focus on not breaking (or at least minimally breaking) existing code.

scasagrande commented 10 years ago

Thankfully as of right now, all the Agilent classes still need to be refactored so they need to be broken either way.

cgranade commented 10 years ago

Well, there's that, I suppose. It occurs to me we have deprecation decorators too, so that we can raise a warning when importing Keysight classes from Agilent namespaces.