Package: makenew-python-package
Package skeleton for an Python module.DescriptionBootstrap a newPythonpackage in less than a minute.FeaturesPackage management withsetuptoolsand publishing toPyPI.Secure dependency management withPipenv.Linting withPylint.CircleCIready.Keep a CHANGELOG.Consistent coding withEditorConfig.Badges fromShields.io.Bootstrapping a New ProjectClone the master branch of this repository with$ git clone --single-branch https://github.com/makenew/python-package.git new-python-package
$ cd new-python-packageOptionally, reset to the latestreleasewith$ git reset --hard v1.2.0Run$ ./makenew.shand follow the prompts. This will replace the boilerplate, delete
itself, and stage changes for commit. This script assumes the project
repository will be hosted on GitHub. For an alternative location, you
must update the URLs manually.Fill in the README Description section.Ifchoosing a licenseother than the
one provided: updateLICENSE.txt, the README License section, andsetup.pywith your chosen license.Depending on how you name your tests, you may need to add them
to thefind_packagesexclude list insetup.py.UpdatingIf you want to pull in future updates from this skeleton, you can fetch
and merge in changes from this repository.If this repository is already set asorigin, rename it toupstreamwith$ git remote rename origin upstreamand then configure youroriginbranch as normal.Otherwise, add this as a new remote with$ git remote add upstream https://github.com/makenew/python-package.gitYou can then fetch and merge changes with$ git fetch upstream
$ git merge upstream/masterChangelogNote thatCHANGELOG.mdis just a template for this skeleton. The
actual changes for this project are documented in the commit history and
summarized underReleases.InstallationThis package is registered on thePython Package Index (PyPI)asmakenew_python_package.Install it with$ pipenv install makenew_python_packageIf you are writing a Python package which will depend on this,
add this to your requirements insetup.py.Development and TestingSource CodeThemakenew-python-package sourceis hosted on GitHub.
Clone the project with$ git clone https://github.com/makenew/python-package.gitRequirementsYou will needPython 3withPipenv.Install the development dependencies with$ pipenv install --devTestsLint code with$ python setup.py lintRun tests with$ python setup.py testPublishingUpdate the CHANGELOG and the version number insetup.py.
Then create a new commit and tag, e.g.,
the commit message should be like1.0.0and git tagv1.0.0.
Then push the new git tag which will trigger a CircleCI publish job.CircleCICircleCI should already be configured: this section is for reference only.The following environment variables must be set onCircleCI:TWINE_USERNAME: Username for publishing on PyPI.TWINE_PASSWORD: Password for publishing on PyPI.These may be set manually or by running the script./circleci/envvars.sh.ContributingPlease submit and comment on bug reports and feature requests.To submit a patch:Fork it (https://github.com/makenew/python-package/fork).Create your feature branch (git checkout-bmy-new-feature).Make changes. Write and run tests.Commit your changes (git commit-am'Add some feature').Push to the branch (git push originmy-new-feature).Create a new Pull Request.LicenseThis Python package is licensed under the MIT license.WarrantyThis software is provided by the copyright holders and contributors “as is” and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are
disclaimed. In no event shall the copyright holder or contributors be liable for
any direct, indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused and on
any theory of liability, whether in contract, strict liability, or tort
(including negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage.