I am currently planning on converting a huge chunk of code at my work into a separate Python library since we use that code quite often as a starting point for new projects and it grew organically which makes it sometimes a bit awkward to use. What are in your opinion important things to plan out in order to make the library as usable as possible and extensible in the future?