Compass module that doesn't use I2C

You'd pass the enable pin number to the controlling SPI object, and the rest would mostly be down to the library.
To you the user, it is virtually invisible.