A Rule based integrator nicknamed Rubi is an entirely new module in SymPy, Integrals. It is an implementation of more than 6000 rules to cover a wide variety of indefinite integration. Currently SymPy uses algorithms for indefinite integration which are too slow and presents results which are not simplified. Rubi utilizes a set of well defined rules which makes it smart to present the results in a more symmetric and simplified manner. The Pattern Matcher along with transformation rules plays an important role in making Rubi more robust and fast. As it works on the given set of rules, it can be modified easily to include more rules and cover more number of integrations.