Pullup resistor in I2C bus with multiple devices

The standard is a maximum of 3 mA sink current to pull the signal low. That is for the normal 100 kHz to 400 kHz I2C bus.
Every device may be able to sink more, but a manufacturer of a sensor can build a sensor that can sink only 3 mA to comply with the I2C standard.

The total pullup resistor (the lowest resistor value) can be calculated for a maximum of 3mA.
3.3V / 3mA = 1100Ω

A very high pullup value makes the I2C bus high impedance for when the signal is high. I would recommend at least 4k7 pullup resistors, but many use 10k pullup resistors.

Good: 4k7 pullup resistors at the Arduino board. No pullup resistors on modules.
Just as good: Two modules that happen to have 10k pullup resistors.
Still good: Nine modules and each one has 10k pullup resistors. You do the math :wink:
Working, but a little high impedance: Only one module with 10k pullup resistors. Extra 4k7 pullup resistors can be added.

Can you give a link to your BMP180 module, perhaps I can see the value of the pullup resistors.

Does this make sense ? Well, sometimes things are not okay.
Some manufacturers put 1k5 pullup resistors on their module, because they don't care. Some create a I2C bus with two I2C levels shifters in the signal path, that disturbs the signals too much. Some put SDA and SCL next to each other in a flat ribbon cable, never do that, crosstalk is the worst for the I2C bus.

It is possible to measure the actual sink current.
Make a sketch with Wire.begin() in setup() and nothing in the loop(). Start the sketch and measure the shortcut current from SDA to GND and the shortcut current from SCL to GND. Those are the sink currents and should not be larger than 3 mA.