organizing the modules as project grows into collection of more and more moduleswe may find that we want to add another level of abstractionsome kind of nested hierarchy on our moduleslevels howeverwe can' put modules inside modulesone file can hold only one file after alland modules are nothing more than python files fileshowevercan go in folders and so can modules package is collection of modules in folder the name of the package is the name of the folder all we need to do to tell python that folder is package is place (normally emptyfile in the folder named __init__ py if we forget this filewe won' be able to import modules from that folder let' put our modules inside an ecommerce package in our working folderwhich will also contain main py file to start the program let' additionally add another package in the ecommerce package for various payment options the folder hierarchy will look like thisparent_directorymain py ecommerce__init__ py database py products py payments__init__ py square py stripe py when importing modules or classes between packageswe have to be cautious about the syntax in python there are two ways of importing modulesabsolute imports and relative imports absolute imports absolute imports specify the complete path to the modulefunctionor path we want to import if we need access to the product class inside the products modulewe could use any of these syntaxes to do an absolute importimport ecommerce products product ecommerce products product(or from ecommerce products import product product product(