{"id":16048565,"url":"https://github.com/rgreinho/python-cookiecutter","last_synced_at":"2025-03-18T04:31:01.013Z","repository":{"id":44572935,"uuid":"50683391","full_name":"rgreinho/python-cookiecutter","owner":"rgreinho","description":"Cookiecutter template for python projects","archived":false,"fork":false,"pushed_at":"2023-08-03T16:39:26.000Z","size":93,"stargazers_count":15,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T07:02:01.984Z","etag":null,"topics":["click","cookiecutter","docker","pbr","pytest","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rgreinho.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-29T18:46:43.000Z","updated_at":"2024-11-06T09:26:17.000Z","dependencies_parsed_at":"2024-10-27T17:19:48.644Z","dependency_job_id":"fcc5a99c-b236-43c0-aca0-985ed69ce3a1","html_url":"https://github.com/rgreinho/python-cookiecutter","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgreinho%2Fpython-cookiecutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgreinho%2Fpython-cookiecutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgreinho%2Fpython-cookiecutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgreinho%2Fpython-cookiecutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rgreinho","download_url":"https://codeload.github.com/rgreinho/python-cookiecutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902271,"owners_count":20366259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["click","cookiecutter","docker","pbr","pytest","python"],"created_at":"2024-10-09T00:08:59.347Z","updated_at":"2025-03-18T04:31:00.620Z","avatar_url":"https://github.com/rgreinho.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python-cookiecutter\n\nThis is an opinionated [cookiecutter](https://github.com/audreyr/cookiecutter) template for a quickly creating command line utilities in python.\n\nIt comes with the following features:\n\n* Free software: MIT license\n* All the administrative tasks are defined in the `invoke` and `nox` scripts\n* [Anyconfig](https://github.com/ssato/python-anyconfig): Read and validate configuration file\n* [CircleCI](https://circleci.com/): Continuous Integration for your project\n  * Check the formating\n  * Build the documentation\n  * Lint the code and docstrings\n  * Test the code\n  * Publish the documentation when tagging your code\n  * Upload a package to PyPI when tagging your code\n* [Click](http://click.pocoo.org/6/): Create beautiful command line interfaces\n  * TAB completion support\n* [Docker](https://www.docker.com/): Containerize the project\n* [EditorConfig](http://editorconfig.org/): Maintain consistent coding styles between different editors\n* [Github templates](https://github.com/blog/2111-issue-and-pull-request-templates): Create consistent [Issues](https://help.github.com/articles/creating-an-issue-template-for-your-repository/) and [Pull Requests](https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/)\n* [Github pages](https://pages.github.com/): Enable GitHub pages and add a CircleCI job to automatically publish the documentation when tagging the project\n* [Loguru](https://github.com/Delgan/loguru): Logging made (stupidly) simple\n* [Mergify](https://mergify.io/): Automatically merge your PRs\n* [PBR](http://docs.openstack.org/developer/pbr): To easily package your application\n* [Pytest](https://docs.pytest.org/en/latest/): Better unit testing\n  * [coverage](https://github.com/pytest-dev/pytest-cov): plugin that produces coverage reports\n  * [mock](https://github.com/pytest-dev/pytest-mock): plugin that installs a mocker fixture\n  * [rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures): plugin that re-runs failed tests up to -n times to eliminate flakey failures\n  * [socket](https://github.com/miketheman/pytest-socket): plugin that disables or restricts socket calls to ensure network calls are prevented.\n  * [xdist](https://github.com/pytest-dev/pytest-xdist): distributed testing plugin\n* [Sphinx](http://sphinx-doc.org/): Documentation ready for generation and publication\n  * [aiohttp heme](https://github.com/aio-libs/aiohttp-theme) to get a nice look and feel\n  * badges support for PyPI, CircleCI and Coveralls.io\n  * [markdown](https://www.sphinx-doc.org/en/master/usage/markdown.html) support in addition to reStructured\n  * [sphinx click](https://github.com/click-contrib/sphinx-click) to automatically generate the CLI documentation\n* [Twine](https://github.com/pypa/twine): Easily publish your package on PyPI\n* [YAPF](https://github.com/google/yapf): Automatic code formatting\n\n## Usage\n\n### Setup\n\nInstall the latest Cookiecutter if you haven't installed it yet:\n\n```bash\npip install cookiecutter invoke nox\n```\n\nGenerate a Python project:\n\n```bash\ncookiecutter https://github.com/rgreinho/python-cookiecutter\n```\n\nCongratulations! Now that your project is fully generated, you have access to a lot of features, mostly using `Invoke` and `Nox`.\n\nTo run the initial setup, run:\n\n```bash\ninv\n```\n\n### Pushing to Github\n\n[Create a new repository on Github](https://help.github.com/articles/creating-a-new-repository/) and [add the remote](https://help.github.com/articles/adding-a-remote/) to this repository\n\n```bash\ngit remote add origin https://github.com/\u003cuser\u003e/\u003crepo.git\u003e\ngit push -u origin master\ngit push --tags\n```\n\n### Enabling CircleCI\n\nThis cookiecutter comes with a pre-defined configuration for [CircleCI](https://circleci.com/). All you have to do is to add the repository of your project to [CircleCI](https://circleci.com/).\n\n### Formatting the code\n\nTo end all holy wars about formatting, you should use a formatter. [YAPF](https://github.com/google/yapf) makes this task easy for you.\n\nTo check whether you code is formatted correctly, run:\n\n```bash\ninv lint-format\n```\n\nAnd to reformat the entire project use the following:\n\n```bash\ninv format\n```\n\n### Creating a virtual environment for the project\n\nThis is not really necessary as the project will be fully containerized using Docker, but in some cases you might want to setup a local virtual environment for your project.\n\n```bash\ninv venv\n```\n\n### Running all the tests\n\n```bash\ninv ci\n```\n\n### Generating the documentation\n\nThe documentation is generated using [Sphinx](http://sphinx-doc.org/). All your documentation must be put into the `docs` directory.\n\nTo generate the documentation run:\n\n```bash\ninv docs\n```\n\n### Packaging the application\n\nTo create a wheel package of the application:\n\n```bash\ninv dist\n```\n\n#### setup.cfg\n\nThe application is packaged using [PBR](http://docs.openstack.org/developer/pbr). The packaging configuration is located in the `setup.cfg` file. For detailed explanations about the various options, please refer to the [official documentation](https://docs.openstack.org/pbr/latest/user/index.html).\n\nThe dependencies of the application are located in the `requirements.txt` file. Modify that file if you need to add or update dependencies. The other dependencies - tests, lint, docs - are located in the `setup.cfg` file.\n\n### Cleaning up\n\n```bash\ninv clean\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgreinho%2Fpython-cookiecutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frgreinho%2Fpython-cookiecutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgreinho%2Fpython-cookiecutter/lists"}