Package: cookiecutter-python
GeneratePython Project and enjoystreamlined DevOpsusing a powerfulCI/CD Pipeline.Documentationavailable athttps://python-package-generator.readthedocs.io/.What’s included?GeneratorofPython Project(seeQuickstart), withCLIforLinux,MacOS, andWindowsOptionto Generate Python Package designed asmodule,module+cli, orpytest-plugin!Scaffold over24 files, fromTemplate, to have aready-to-developProject equippedwith:Fully-featuredCI/CD Pipeline, running onGithub Actions, defined in.github/Continuous DeliverytoPyPI(i.e.pypi.org,test.pypi.org) andDockerhubContinuous Integration, withTest Suiterunningpytest, located in thetestsdirContinuous Documentation, building withmkdocsorsphinx, and hosting onreadthedocs, located in thedocsdirStatic Type Checking, usingmypyLintCheckandApplycommands, using the fastRufflinter, along with standardisort, andblackBuild Command, using thebuildpython packageWhat to expect?You can to be up and running with a new Python Package, and run workflows on Github Actions, such as:Link:https://github.com/boromir674/biskotaki/actions/runs/4157571651CI Pipeline, running onGithub Actions, defined in.github/Job Matrix, spanning differentplatform’s andpython version’sPlatforms:ubuntu-latest,macos-latestPython Interpreters:3.6,3.7,3.8,3.9,3.10Parallel Jobexecution, generated from thematrix, that runs theTest SuiteArtifactstore ofSourceandWheelDistributions, factoring Platform and Python VersionAuto Generated Sample PackageBiskotakiCheck theBiskotakiPython Package Project, for a taste of the project structure and capabilities this Template can generate!It it entirely generated using thisPython Package Template:Source Codehosted onGithubathttps://github.com/boromir674/biskotakiPython Packagehosted onpypi.orgathttps://pypi.org/project/biskotaki/CI Pipelinehosted onGithub Actionsathttps://github.com/boromir674/biskotaki/actionsQuickstartToinstallthe latestGeneratorin your environment, run:pipinstallcookiecutter-pythonThegenerate-python(executable) CLI should now be available in your environment.Next,createa file, let’s call itgen-config.yml, with the following content:default_context:project_name:Demo Generated Projectproject_type:module+clifull_name:John Doeemail:john.doe@something.orggithub_username:john-doeproject_short_description:'DemoGeneratedProjectDescription'initialize_git_repo:nointerpreters:{"supported-interpreters":["3.8","3.9","3.10","3.11"]}Togeneratea Python Package Project, run:mkdirgen-demo-dircdgen-demo-dirgenerate-python--config-file../gen-config.yml--no-inputNow, you should have generated a new Project for a Python Package, based on theTemplate!The Project should be located in the newly createddemo-generated-projectdirectory.To leverage all out-of-the-box development operations (ie scripts), installtox:python3-mpipinstall--user'tox<4'To verify tox available in your environment, run:tox--versionPlease, do acdinto the newly created directory, iecd <my-great-python-package>.To run the Test Suite,cdinto the newly created Project folder, and run:tox-edevAll Tests should pass, and you should see acoveragereport!To run Type Checking against the Source Code, run:tox-etypeAll Type Checks should pass!To setup a Git Repository, run:gitinitgitadd.gitcheckout-bmaingitcommit-m"Initial commit"To setup a Remote Repository, run for example:gitremoteaddorigin<remote-repository-url>gitpush-uoriginmainTo trigger the CI/CD Pipeline, run:gitpushNavigate to your github.com/username/your-repo/actions page, to see the CI Pipeline running!Develop your package’sSource Code(business logic) insidesrc/my_great_python_packagedir :)Develop your package’sTest Suite(ieunit-tests,integration tests) insidetestsdir :-)Read the Documentation’sUse Casessection for more on how to leverage your generated Python Package features.Next StepsTo prepare for an Open Source Project Development Lifecycle, you should visit the following websites:PyPI, test.pypi.org, Dockerhub, and Read the Docs, for setting up Release and Documentation Pipelinesgithub.com/your-account to configure Actions, through the web UICodecov, Codacy, and Codeclimate, for setting up Automated Code Quality, with CI Pipelineshttps://www.bestpractices.dev/for registering your Project for OpenSSF Best Practices BadgeHappy Developing!LicenseGNU Affero General Public License v3.0Free/Libre and Open Source Software (FLOSS)