pullup resistors i2c on lolin d1 mini

I've got a Lolin D1 mini pro

Here is the schematic: https://wiki.wemos.cc/_media/products:d1:sch_d1_mini_pro_v2.0.0.pdf

As you can see, there are no pullup resistors on GPIO4/5 (i2c pins).

Do I need pullup resistors on GPIO4/5 for I2C to work properly?

I use this library: GitHub - esp8266/Arduino: ESP8266 core for Arduino

I've been able to read the values from a BME280 over I2C properly. However, I know that just because something functions doesn't mean it is done correctly. In the future I plan on have 2-3 devices over i2c (ADS1115, BME280, and an RTC).

I know that the ESP8266 has internal pull ups so perhaps the library activates them automatically?

As faar as I have experienced, and picked up here in Forum, I2C having only one master and one slave You don't need pullups. Using short cables 2 slaves outht to work. For more slaves pullup are used, some 10 kOhm if I remember.

Since I2C is an open-drain bus, why would you not require pull-ups?

Now if on the other hand and is more likely, you have a BME280 breakout board, then the board has provided those 10k pull-ups.

@Paul__B
Maybe I referred to some very old advice picked up a long time ago, before the standardized modules of today, that might have pullup, existed. The discussion was using I2C or CAN buss, some 25 years ago.
Regarding long cables terminating resistors, pullups, do well regarding noice levels, capacitance etc. in my opinion.