createPackage

package to create file structure when making your own package.


License
MIT
Install
pip install createPackage==1.0

Documentation

CreatePackage

Python package which creates the filestructure, basic readme, setup.py with dependencies provided on your requirements file, code blocks with class and function templates with doc strings.

Prerequisites

  • MakeTreeDir

    Python package to easily create complex directory structures.

    https://github.com/Sreekiranar/MakeTreeDir.git

    from MakeTreeDir import MAKETREEDIR
    md=MAKETREEDIR()
    md.makedir('this/is/a/testing/package/creation')
    
    ### Corner cases
    md.makedir('/media/username/New Volume/folderName')
    md.makedir('../../../folderName')
    md.makedir('C:\\Users\\userName\\folderName')

Installation

You can easily install the package by

pip install createPackage

Running the tests

If you have to create a package with the following setup:

  • Package Name: demoPackage
  • code Blocks:
    • demoBlock1
    • demoBlock2
  • dependencies: contained inside a requirements.txt in this structure : library1==0.1.0 or library2

After installing createPackage ,

from createPackage import createPackage
packageName='demoPackage'
codeBlocks=['demoBlock1','demoBlock2']
requirements='path/to/requirements.txt'
##init class
cp=createPackage(packageName,codeBlocks,requirements)

##call main function
cp.pythonPackage()

This will create the following folder structure.

demoPackage
β”‚   README.md
β”‚   setup.py
β”‚
└───demoPackage
β”‚   β”‚   __init__.py
β”‚   β”‚   demoBlock1.py
β”‚   β”‚   demoBlock2.py
  • demoBlock1.py and demoBlock2.py will have basic class structure and doc strings to be filled and modifed by the user. It will also be included in the init.py

  • setup.py will have all the dependencies from the requirements.txt mentioned like shown below:

    from setuptools import setup
    
    with open('README.md','r') as f:
        long_description = f.read()
    
    
    setup(name='demoPackage',
          version='0.1',
          description='enter the package description',
          long_description=long_description,
          long_description_content_type="text/markdown",
          url='enter the url',
          authors='author',
          author_email='emailid',
          license='MIT',
          packages=['demoPackage'],
          install_requires=['library1==0.1.0','library2'], include_package_data=True,
          zip_safe=False)
  • There will a standard README.md template which can be filled accordingly.

Authors

  • Sreekiran A R - Analytics Consultant, AI Labs, Bridgei2i Analytics Solutions - Github , Stackoverflow

License

This project is licensed under the MIT License - see the LICENSE.md file for details