Skip to main content

package to create file structure when making your own package.

Project description

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

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

createPackage-1.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page