There are a couple of different approaches you can take.
You can count the number of pulses in a given time and calculate the flow from there. Use a timer and a counter - when the timer is done, do your calculation and reset them both. The longer your sample time, the more accurate your flow rate will be, but the slower your updates will be. Trial and error should find you a nice middle ground, and given that you're talking almost 3.5 pulses per second at your minimum flow rate, I think you should easily be able to find a workable range.
The other option is to measure the time between pulses and use that to calculate the flow rate. A lot more "instantaneous" in getting a reading - but the flip side is that it can be TOO instantaneous, and give you a very noisy signal. If you want to go this way you may need to look at using a FIFO to sample a handful of values and average them out to give you a more stable result.
Happy to give you some more detailed info on how to run with either approach if you need!