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
orlibrary2
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
anddemoBlock2.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 therequirements.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