python-whiteprint


Namepython-whiteprint JSON
Version 0.10.0 PyPI version JSON
download
home_pagehttps://github.com/RomainBrault/python-whiteprint
SummaryGenerating Python projects using best practices
upload_time2023-10-17 09:40:19
maintainer
docs_urlNone
authorRomain Brault
requires_python>=3.8, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*
licenseMIT
keywords python cookiecutter copier template rich typer nox poetry beartype oci-image container docker podman ruff
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
SPDX-FileCopyrightText: © 2023 Romain Brault <mail@romainbrault.com>

SPDX-License-Identifier: MIT
-->

<h1 align="center">
  <a href="https://python-whiteprint.readthedocs.io/"><img src="https://raw.githubusercontent.com/RomainBrault/python-whiteprint/main/docs/images/logo.png" alt="python whiteprint"></a>
</h1>
<p align="center">
    <em>Python Whiteprint, generate easily Python projects with (opinionated) best practices.</em>
</p>
<p align="center">
  <a href="https://pypi.python.org/pypi/python-whiteprint">
    <img alt="PyPI" src="https://img.shields.io/pypi/v/python-whiteprint.svg"/>
  </a>
  <a href="https://github.com/RomainBrault/python-whiteprint/actions/workflows/tests.yml">
    <img alt="PyPI" src="https://github.com/RomainBrault/python-whiteprint/actions/workflows/tests.yml/badge.svg?branch=main"/>
  </a>
  <a href="https://codecov.io/gh/RomainBrault/python-whiteprint">
    <img alt="pypi" src="https://codecov.io/gh/RomainBrault/python-whiteprint/branch/main/graph/badge.svg?token=GSYS7VUB5R"/>
  </a>
  <a href="https://github.com/psf/black">
    <img alt="pypi" src="https://img.shields.io/badge/code%20style-black-000000.svg"/>
  </a>
  <a href="https://mypy-lang.org/">
    <img alt="pypi" src="https://www.mypy-lang.org/static/mypy_badge.svg"/>
  </a>
  <a href="https://pre-commit.com/">
    <img alt="pypi" src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white"/>
  </a>
  <a href="https://opensource.org/licenses/MIT">
    <img alt="pypi" src="https://img.shields.io/github/license/RomainBrault/python-whiteprint"/>
  </a>
  <a href="https://www.contributor-covenant.org/version/2/1/code_of_conduct/">
    <img alt="pypi" src="https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg"/>
  </a>
</p>

---

**Documentation**: <a href="https://python-whiteprint.readthedocs.io/en/latest/" target="_blank">https://python-whiteprint.readthedocs.io/en/latest/</a>

**Source Code**: <a href="https://github.com/RomainBrault/python-whiteprint" target="_blank">https://github.com/RomainBrault/python-whiteprint</a>

---

# Installation

Ensure that you have [git](https://git-scm.com/) and
[python3](https://www.python.org/) installed.

Then install the required Python tools:

```console
$ python3 -m pip install --user --upgrade pipx
$ pipx install poetry
$ pipx install nox
$ pipx inject nox nox-poetry rich
```

Eventually install Python Whiteprint:

```console
$ pipx install python-whiteprint
```

# Example

Create a local project

```console
$ whiteprint init <my_project>
```

Create a GitHub project

```console
$ whiteprint init <my_project> --github-token <my_github_token>
```

Note that the GitHub token must have repository, workflows and packages
permissions.

# Yet another Python Project scaffold/cookiecutter/generator?

<p align="center"><em>
Yes.
</em></p>

This project build upon the excellents [cookiecutter-hypermodern-python] by
[@cjolowicz](https://github.com/cjolowicz) as well as [python-blueprint] by
[@johnthagen](https://github.com/johnthagen).

You might want to check these projects as they might be more suited to your
needs.

The documentation of this project is heavily inspired from @cjolowicz's work.
We also recommend readings @cjolowicz's [guide on modern Python
tooling](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/).

# Differences compared to [cookiecutter-hypermodern-python]

- Use [copier](https://copier.readthedocs.io/en/latest/) instead of the
  cookiecutter project,
- tweaks in the generated project (non exhaustively: CLI with Typer
  instead of Click, dynamic type checking with beartype, [auto-API
  documentation](https://sphinx-autoapi.readthedocs.io/en/latest/)),
- manage licenses with [Reuse](https://reuse.software/),
- more Github Actions and Community Standards and Community Standards,
- [Ruff](https://beta.ruff.rs/docs/) instead of Flake8 to auto-fix a maximum of
  code smells,
- strict linting with [pylint](https://pylint.readthedocs.io/en/latest/),
- OCI Container images,
- localization with [Babel](https://babel.pocoo.org/en/latest/index.html).

[cookiecutter-hypermodern-python]: https://cookiecutter-hypermodern-python.readthedocs.io/en/2022.6.3.post1/
[python-blueprint]: https://github.com/johnthagen/python-blueprint


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/RomainBrault/python-whiteprint",
    "name": "python-whiteprint",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*",
    "maintainer_email": "",
    "keywords": "Python,Cookiecutter,copier,template,rich,typer,nox,poetry,beartype,oci-image,container,docker,podman,ruff",
    "author": "Romain Brault",
    "author_email": "mail@romainbrault.com",
    "download_url": "https://files.pythonhosted.org/packages/57/13/89ade7ccf9dbe3c0e57099aa4b7a0119dd49a38ff832b3564bc3eead3a91/python_whiteprint-0.10.0.tar.gz",
    "platform": null,
    "description": "<!--\nSPDX-FileCopyrightText: \u00a9 2023 Romain Brault <mail@romainbrault.com>\n\nSPDX-License-Identifier: MIT\n-->\n\n<h1 align=\"center\">\n  <a href=\"https://python-whiteprint.readthedocs.io/\"><img src=\"https://raw.githubusercontent.com/RomainBrault/python-whiteprint/main/docs/images/logo.png\" alt=\"python whiteprint\"></a>\n</h1>\n<p align=\"center\">\n    <em>Python Whiteprint, generate easily Python projects with (opinionated) best practices.</em>\n</p>\n<p align=\"center\">\n  <a href=\"https://pypi.python.org/pypi/python-whiteprint\">\n    <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/python-whiteprint.svg\"/>\n  </a>\n  <a href=\"https://github.com/RomainBrault/python-whiteprint/actions/workflows/tests.yml\">\n    <img alt=\"PyPI\" src=\"https://github.com/RomainBrault/python-whiteprint/actions/workflows/tests.yml/badge.svg?branch=main\"/>\n  </a>\n  <a href=\"https://codecov.io/gh/RomainBrault/python-whiteprint\">\n    <img alt=\"pypi\" src=\"https://codecov.io/gh/RomainBrault/python-whiteprint/branch/main/graph/badge.svg?token=GSYS7VUB5R\"/>\n  </a>\n  <a href=\"https://github.com/psf/black\">\n    <img alt=\"pypi\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"/>\n  </a>\n  <a href=\"https://mypy-lang.org/\">\n    <img alt=\"pypi\" src=\"https://www.mypy-lang.org/static/mypy_badge.svg\"/>\n  </a>\n  <a href=\"https://pre-commit.com/\">\n    <img alt=\"pypi\" src=\"https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white\"/>\n  </a>\n  <a href=\"https://opensource.org/licenses/MIT\">\n    <img alt=\"pypi\" src=\"https://img.shields.io/github/license/RomainBrault/python-whiteprint\"/>\n  </a>\n  <a href=\"https://www.contributor-covenant.org/version/2/1/code_of_conduct/\">\n    <img alt=\"pypi\" src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\"/>\n  </a>\n</p>\n\n---\n\n**Documentation**: <a href=\"https://python-whiteprint.readthedocs.io/en/latest/\" target=\"_blank\">https://python-whiteprint.readthedocs.io/en/latest/</a>\n\n**Source Code**: <a href=\"https://github.com/RomainBrault/python-whiteprint\" target=\"_blank\">https://github.com/RomainBrault/python-whiteprint</a>\n\n---\n\n# Installation\n\nEnsure that you have [git](https://git-scm.com/) and\n[python3](https://www.python.org/) installed.\n\nThen install the required Python tools:\n\n```console\n$ python3 -m pip install --user --upgrade pipx\n$ pipx install poetry\n$ pipx install nox\n$ pipx inject nox nox-poetry rich\n```\n\nEventually install Python Whiteprint:\n\n```console\n$ pipx install python-whiteprint\n```\n\n# Example\n\nCreate a local project\n\n```console\n$ whiteprint init <my_project>\n```\n\nCreate a GitHub project\n\n```console\n$ whiteprint init <my_project> --github-token <my_github_token>\n```\n\nNote that the GitHub token must have repository, workflows and packages\npermissions.\n\n# Yet another Python Project scaffold/cookiecutter/generator?\n\n<p align=\"center\"><em>\nYes.\n</em></p>\n\nThis project build upon the excellents [cookiecutter-hypermodern-python] by\n[@cjolowicz](https://github.com/cjolowicz) as well as [python-blueprint] by\n[@johnthagen](https://github.com/johnthagen).\n\nYou might want to check these projects as they might be more suited to your\nneeds.\n\nThe documentation of this project is heavily inspired from @cjolowicz's work.\nWe also recommend readings @cjolowicz's [guide on modern Python\ntooling](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/).\n\n# Differences compared to [cookiecutter-hypermodern-python]\n\n- Use [copier](https://copier.readthedocs.io/en/latest/) instead of the\n  cookiecutter project,\n- tweaks in the generated project (non exhaustively: CLI with Typer\n  instead of Click, dynamic type checking with beartype, [auto-API\n  documentation](https://sphinx-autoapi.readthedocs.io/en/latest/)),\n- manage licenses with [Reuse](https://reuse.software/),\n- more Github Actions and Community Standards and Community Standards,\n- [Ruff](https://beta.ruff.rs/docs/) instead of Flake8 to auto-fix a maximum of\n  code smells,\n- strict linting with [pylint](https://pylint.readthedocs.io/en/latest/),\n- OCI Container images,\n- localization with [Babel](https://babel.pocoo.org/en/latest/index.html).\n\n[cookiecutter-hypermodern-python]: https://cookiecutter-hypermodern-python.readthedocs.io/en/2022.6.3.post1/\n[python-blueprint]: https://github.com/johnthagen/python-blueprint\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Generating Python projects using best practices",
    "version": "0.10.0",
    "project_urls": {
        "Documentation": "https://RomainBrault.github.io/python-whiteprint/",
        "Homepage": "https://github.com/RomainBrault/python-whiteprint",
        "Repository": "https://github.com/RomainBrault/python-whiteprint.git"
    },
    "split_keywords": [
        "python",
        "cookiecutter",
        "copier",
        "template",
        "rich",
        "typer",
        "nox",
        "poetry",
        "beartype",
        "oci-image",
        "container",
        "docker",
        "podman",
        "ruff"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db975816778678676dd615b13fbc334b0e71865c593585ba7d4e9d9fc32aa345",
                "md5": "2d3f9d121fa31cc6814fea58d826ccc7",
                "sha256": "ff015319f071fa78c7df1a77e10a0b64cb3c0c947e73e3735abbe8ed913d2882"
            },
            "downloads": -1,
            "filename": "python_whiteprint-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2d3f9d121fa31cc6814fea58d826ccc7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*",
            "size": 35785,
            "upload_time": "2023-10-17T09:40:18",
            "upload_time_iso_8601": "2023-10-17T09:40:18.175332Z",
            "url": "https://files.pythonhosted.org/packages/db/97/5816778678676dd615b13fbc334b0e71865c593585ba7d4e9d9fc32aa345/python_whiteprint-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "571389ade7ccf9dbe3c0e57099aa4b7a0119dd49a38ff832b3564bc3eead3a91",
                "md5": "6bf70200f1ff433756cce21f5026fb5e",
                "sha256": "8bf687678c620e61acb2aee1d67f8b058b8f1a6921fa94df858d72201b181a97"
            },
            "downloads": -1,
            "filename": "python_whiteprint-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6bf70200f1ff433756cce21f5026fb5e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*",
            "size": 26409,
            "upload_time": "2023-10-17T09:40:19",
            "upload_time_iso_8601": "2023-10-17T09:40:19.535898Z",
            "url": "https://files.pythonhosted.org/packages/57/13/89ade7ccf9dbe3c0e57099aa4b7a0119dd49a38ff832b3564bc3eead3a91/python_whiteprint-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-17 09:40:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "RomainBrault",
    "github_project": "python-whiteprint",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "python-whiteprint"
}
        
Elapsed time: 2.47590s