I am wondering if there is a way to do what I am trying, best explained with an example:
Contents of a.py:
class A(object):
    def run(self):
        print('Original')
class Runner(object):
    def run(self):
        a = A()
        a.run()
Contents of b.py:
import a
class A(a.A):
    def run(self):
        # Do something project-specific
        print('new class')
class Runner(a.Runner):
    def other_fcn_to_do_things(self):
        pass
Basically, I have a file with some base classes that I would like to use for a few different projects. What I would like would be for b.Runner.run() to use the class A in b.py, without needing to override the run method. In the example above, I would like to code
import b
r = b.Runner()
print(r.run())
to print "new class". Is there any way to do that?
 
     
     
    