Metadata-Version: 2.1
Name: bootstrap-py
Version: 1.0.2
Summary: Bootstrap Python package
Home-page: https://github.com/mkouhei/bootstrap-py
Author: Kouhei Maeda
Author-email: mkouhei@palmtb.net
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development
Classifier: Topic :: System :: Archiving :: Packaging
Classifier: Topic :: System :: Software Distribution
Description-Content-Type: text/x-rst
Requires-Dist: GitPython
Requires-Dist: Jinja2
Requires-Dist: Sphinx
Requires-Dist: defusedxml
Requires-Dist: pguard
Requires-Dist: requests
Requires-Dist: setuptools
Provides-Extra: rest
Requires-Dist: Sphinx ; extra == 'rest'

==========================
 Bootstrap Python Package
==========================

The ``bootstrap-py`` provides generating the Python packages.

Status
======

.. image:: https://secure.travis-ci.org/mkouhei/bootstrap-py.png?branch=master
   :target: http://travis-ci.org/mkouhei/bootstrap-py
.. image:: https://coveralls.io/repos/mkouhei/bootstrap-py/badge.png?branch=master
   :target: https://coveralls.io/r/mkouhei/bootstrap-py?branch=master
.. image:: https://img.shields.io/pypi/v/bootstrap-py.svg
   :target: https://pypi.python.org/pypi/bootstrap-py
.. image:: https://readthedocs.org/projects/bootstrap-py/badge/?version=latest
   :target: https://readthedocs.org/projects/bootstrap-py/?badge=latest
   :alt: Documentation Status

Requirements
============

* Python 3.7 over

Features
========

* Generating Python package.
* Checking Python package name existence at PyPI.
* Test and conde checking environment is configured with the `Tox <https://pypi.python.org/pypi/tox>`_, `Pytest <http://pytest.org/latest-ja/>`_, and others.

  * `pycodestyle <https://pypi.python.org/pypi/pycodestyle>`_
  * `pytest-cov <https://pypi.python.org/pypi/pytest-cov>`_
  * `pytest-flake8 <https://pypi.python.org/pypi/pytest-flake8>`_
  * `Pylint <http://www.pylint.org/>`_
  * `pydocstyle <https://pypi.org/project/pydocstyle/>`_

* Generating documentation automatically with the `Sphinx <http://www.sphinx-doc.org/en/stable/>`_.
* Configuration Git repository, initial commit.
* Generate sample code using ``--with-samples`` option.

Usage
=====

Install bootstrap-py
--------------------

Install bootstrap-py::

  $ virtualenv venv
  $ . venv/bin/activate
  (venv)$ python -m pip install bootstrap-py
  or
  (venv)$ python -m pip wheel bootstrap-py

or::

  $ pip install --user bootstrap-py


Generate Python package
-----------------------

Generate your Python package.::

  (venv)$ bootstrap-py create -a 'Your author name' -e 'your-author-email@example.org' \
  -u 'https://your-package-website.example.org' -o '/path/to/package-dir' \
  -l 'select-the-license' 'your-package-name'
  (venv)$ deactivate
  $ cd /path/to/package-dir
  $ ls
  MANIFEST.in  docs     pytest.ini  setup.py  utils
  README.rst   libneta  setup.cfg   tox.ini


List license choices
--------------------

List license description choices.::

  (venv)$ bootstrap-py list -l
  GPL        : GNU General Public License (GPL)
  CPL        : Common Public License
  IOSL       : Intel Open Source License
  GPLv3+     : GNU General Public License v3 or later (GPLv3+)
  (omit)


Using tox
---------

Running test with tox::

  $ pip install --user tox
  $ tox
  (omit)
  _______________________________________ summary ______________________________________
  py38: commands succeeded
  py37: commands succeeded
  pycodetyle: commands succeeded
  pydocstyle: commands succeeded
  docs: commands succeeded
  congratulations :)

ChangeLog
=========

1.0.2 (2020-09-19)
------------------

* Fixes raise-missing-from pylint violation.

1.0.1 (2020-04-26)
------------------

* Fixes metadata.
* Appends logn_description_content_type.
* Changes to use twine check instead of setup.py check in pre-commit hook script.

1.0.0 (2020-04-26)
------------------

* Applies semantic versioning.
* Supports Python3.8.
* Changes use pytest-flake8 instead of pytest-flakes.
* Updates templates.
* Fixes pre-commit hook script.
* Removes _build directory before executing pytest.

0.8.2 (2019-03-18)
------------------

* Revert format xztar to gztar.

0.8.1 (2019-03-18)
------------------

* Supports installing with wheel.
* Changes sdist format using xztar instead of gztar.
* Fixes README.

0.8.0 (2019-03-18)
------------------

* Supports Python 3.7.
* Drops Python 3.5, 3.6.

0.7.0 (2018-11-03)
------------------

* Fixes package_existent for the new PyPI API.
* Updates templates.
* Fixes pylint violations.
* Unsupports Python 2.x and PyPy (compatible Python 2.7).
* Supports Python 3.7.
* Fixes handling empty command without arguments. (Thanks `@sourcepirate <https://github.com/sourcepirate>`_)

0.6.0 (2016-06-08)
------------------

* Uses pycodestyle instead of pep8.

0.5.1 (2016-05-17)
------------------

* Adds ``--doctest-modules`` option.
* Fixes pylint option argument.
* Removes doctest exception sample.

Changes follows when enable doctest-modules.::

  diff --git a/pytest.ini b/pytest.ini
  index 635a7f9..15cc929 100644
  --- a/pytest.ini
  +++ b/pytest.ini
  @@ -7,6 +7,7 @@ addopts =
           --cov your_package_name
           --cov-report=term
           --cov-report=html
  +        --doctest-modules
   pep8ignore =
           setup.py ALL
           docs/source/conf.py ALL
  diff --git a/tox.ini b/tox.ini
  index 141d468..b8c1f32 100644
  --- a/tox.ini
  +++ b/tox.ini
  @@ -10,7 +10,7 @@ envlist =

   [testenv]
   commands =
  -    py.test --pylint --pylint-rcfile={toxinidir}/.pylintrc
  +    py.test --pylint --pylint-rcfile={toxinidir}/.pylintrc your_package_name

   [py]
   deps=

0.5.0 (2016-05-07)
------------------

* Adds ``--with-samples`` options; generating sample code.
* Fixes bugs module name when package name includes hyphen.
* Fixes comparing verson bug in updatable for Python3.
* Some refactorings.

0.4.8 (2016-04-25)
------------------

* Fixes warning of build sphinx without docs/source/_static directory.
* Unsupports IP address url.

0.4.7 (2016-04-24)
------------------

* Adds url validator.
* Adds long description checker.

0.4.6 (2016-04-21)
------------------

* Fixes .travis.yml template.

Generated package with v0.4.5 or less that has bugs .travis.yml configuration file.
Modify the follows manually.::

  diff --git a/.travis.yml b/.travis.yml
  index ab128da..600125e 100644
  --- a/.travis.yml
  +++ b/.travis.yml
  @@ -14,6 +14,11 @@ after_success:
     - coveralls --verbose

   matrix:
  +  allow_failures:
  +    - env: TOX_ENV=py27
  +    - env: TOX_ENV=py33
  +    - env: TOX_ENV=py34
  +    - env: TOX_ENV=pypy
     include:
  -    python: 3.5
  -    env: TOX_ENV=py35
  +    - python: 3.5
  +      env: TOX_ENV=py35

0.4.5 (2016-04-06)
------------------

* Fixes tox.ini template.

Generated package with v0.4.4 or less that has bugs tox.ini configuration file.
Modify the follows manually.

* Fixes `your_package_name` with snake case. Modify the follows manually.::

    diff --git a/tox.ini b/tox.ini
    index a9d823f..db825cc 100644
    --- a/tox.ini
    +++ b/tox.ini
    @@ -49,7 +49,7 @@ basepython = pypy
    [testenv:pep257]
    deps=
        pep257
    -commands = pep257 bootstrap_py
    +commands = pep257 your_package_name
    basepython = python3.5

    [testenv:docs]

0.4.4 (2016-04-05)
------------------

* Adds symlink to pre-commit hook.

Generated package with v0.4.3 or less that has bugs pre-commit hook script.
Modify the follows manually.::

  $ chmod +x utils/pre-commit
  $ ln -s ../../utils/pre-commit .git/hooks/pre-commit

0.4.3 (2016-04-04)
------------------

* Fixes pre-commit hook script permission.

0.4.2 (2016-03-08)
------------------

* Fixes configiratuon version, release.
* Fixes url, author_email in setup.py.

Genarated package with v0.4.1 or less that has bugs Sphinx documentation.
Modify the follows manually.

* Fixes ``docs/source/index.rst``::

    diff --git a/docs/source/index.rst b/docs/source/index.rst
    index b3404ac..d8bdc83 100644
    --- a/docs/source/index.rst
    +++ b/docs/source/index.rst
    @@ -16,8 +16,8 @@ Contents:

        CHANGELOG

    - Indices and tables
    -===================
    +Indices and tables
    +==================

     * :ref:`genindex`
     * :ref:`modindex`

* Renames ``docs/source/README`` to ``docs/source/README.rst``.
* Fixes documentation ``version`` in ``docs/source/conf.py``.
* Fixes ``auth_email``, ``url`` in ``setup.py``.

0.4.1 (2016-03-07)
------------------

* Adds exception handler package update.
* Fixes some docstring.

0.4.0 (2016-03-07)
------------------

* Adds checking latest version.
* Fixes Sphinx template bugs.
* Does some refactoring.

0.3.0 (2016-02-21)
------------------

* git init and initial commit.
* Adds --no-check option.
* Fixes list subcommand.

0.2.1 (2016-02-16)
------------------

* Fixes failing create sub-command.

0.2.0 (2016-02-15)
------------------

* Adds create, list sub-command.

  * "create":  generating Python package.
  * "list":    Print license description for choices.

* Changes mutually exclusive group; username, url options.
* Add checking package name in PyPI.
* Adds some exception handling.

0.1.1 (2016-02-02)
------------------

* Fixes README template


0.1.0 (2016-02-02)
------------------

* First release


