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 details)

Uploaded Source

File details

Details for the file createPackage-1.0.tar.gz.

File metadata

  • Download URL: createPackage-1.0.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2

File hashes

Hashes for createPackage-1.0.tar.gz
Algorithm Hash digest
SHA256 55db77d53bd98c00dfa8b2ef6b05efe4ff555ccc9bd3dba560cf69ec1a93917f
MD5 8559923834b14c2ddc7450067890fb4b
BLAKE2b-256 8754af8cc30994ab8391b71b21f03a4e1e5736720f5d0b4dc4da578e2aa1e076

See more details on using hashes here.

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