Package: carcass
carcass is a Python command line tool to generate python package scaffolding based on best practicesGetting StartedTo usecarcassyou can run it directly.  Sincecarcassis mainly considered a command line tool, once installed, you run it directly:# Default generated package path is the current users directory `~/`carcass# Provide an alternate path locationcarcass-P~/my_packages/path
carcass--path~/my_packages/pathOnce you run carcass you will be prompted to provide answers to the following questions:Enteryourpackagename:mytestpackage
Enteryourfirstandlastname:JoshRickard
EnteryourGitHubusername:MSAdministrator
Enteryouremailaddress:josh.rickard@letsautomate.itAdditionally, you have additional package options that you can select all, some, or none of them using yourspacekey.Currently,carcasssupports the following additional package options.  I will continue to add additional options as needed/wanted:Please select all package options which you want carcass to generate

 * Logger
   Exceptions
   Microsoft Graph OAuth2
   Flask AppPackage Template Structurecarcassgenerates packages based on your provided inputs as well as selected options during creation.Below is the structure outline for a template python package generated bycarcasswith all options selected:📦testpackage┣📂testpackage┃┣📂app┃┃┣📂api┃┃┃┗📜api.py┃┃┣📂frontend┃┃┃┗📜frontend.py┃┃┣📂templates┃┃┃┣📜404.html┃┃┃┣📜500.html┃┃┃┣📜base.html┃┃┃┗📜index.html┃┃┣📜__init__.py┃┃┗📜config.py┃┣📂utils┃┃┣📜__init__.py┃┃┣📜exceptions.py┃┃┣📜logger.py┃┃┗📜version.py┃┣📜__init__.py┃┣📜__main__.py┃┣📜graphconnector.py┃┗📜testpackage.py┣📜.gitignore┣📜CONTRIBUTING.md┣📜Dockerfile┣📜LICENSE.md┣📜README.md┣📜docker-compose.yml┣📜logger.yml┣📜requirements.txt┗📜setup.pyInstallationIn order to use carcass you can install it viapipor clone this repository.pipinstallcarcassgitclonegit@github.com:MSAdministrator/carcass.gitcdcarcass
pipinstall-rrequirements.txtDevelopmentTo get a development env running, you can clone this repositorySay what the step will bepipinstall--userpipenv
gitclonegit@github.com:MSAdministrator/carcass.gitcdcarcassNext, install and setup a virtual environment:pipinstallvirtualenv
virtualenvvenv
pipinstall-rrequirements.txt
carcassRunning the testsTo run unit tests, you will need to clone this repository:pipinstall--userpipenv
gitclonegit@github.com:MSAdministrator/carcass.gitcdcarcassNext, you run tests using the following command:python-mpytestBreak down into end to end testsTests within this package test to ensure that the correct files are being created as requested as well as some tests check the contents of the template files:# testing the creation of a README.md template

def test_creation_of_readme_template_exists(carcass_fixture):
    '''
    Testing the creation of README.md template file
    '''
    carcass = carcass_fixture.create_package(pytest.configuration['package_path'], pytest.package)
    assert os.path.exists(os.path.join(str(pytest.configuration['package_path']), 'README.md'))Upcoming Additions[x] Add Flask application template
[] Add Database templates
[] Add Celery worker templates
[] Add Redis templates
[] Add GraphQL templatesContributingPlease readCONTRIBUTING.mdfor details on our code of conduct, and the process for submitting pull requests to us.VersioningWe useSemVerfor versioning.AuthorsJosh Rickard -Initial work-MSAdministratorSee also the list ofcontributorswho participated in this project.LicenseThis project is licensed under the MIT License - see theLICENSEfile for details