support multiple python packages per ros package. clean api