Name | usethis JSON |
Version |
0.15.2
JSON |
| download |
home_page | None |
Summary | Automate Python project setup and development tasks that are otherwise performed manually. |
upload_time | 2025-07-27 09:53:44 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT License Copyright (c) 2024 usethis contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
init
project
setup
start
usethis
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<h1 align="center">
<img src="https://raw.githubusercontent.com/usethis-python/usethis-python/refs/heads/main/docs/logo.svg"><br>
</h1>
# usethis
[](https://github.com/usethis-python/usethis-python)
[](https://pypi.python.org/pypi/usethis)

[](https://pypi.python.org/pypi/usethis)
[](https://github.com/astral-sh/uv)
[](https://codecov.io/gh/usethis-python/usethis-python)
[](https://github.com/usethis-python/usethis-python/actions)
[](https://usethis.readthedocs.io/en/stable/)
Automate Python project setup and development tasks that are otherwise performed manually.
usethis is a command-line interface to automate the configuration of popular Python tools, workflows, and frameworks. You can use it to declaratively add, remove, and configure tools in an existing project, as well as set up a new project from scratch. It won't break your existing configuration, and ensures all tools work together smoothly.
usethis gives detailed messages about what it is doing (and what you need to do next).
- Output beginning with `✔` represents a task which usethis has automated.
- Output beginning with `☐` represents a task which you need to perform manually.
- Output beginning with `ℹ` gives hints and tips.
Inspired by an [**R** package of the same name](https://usethis.r-lib.org/index.html), this package brings a similar experience to the Python ecosystem as a CLI tool.
> [!TIP]
> usethis is great for fresh projects using [uv](https://docs.astral.sh/uv), but also supports updating existing projects. However, this should be considered experimental. If you encounter problems or have feedback, please [open an issue](https://github.com/usethis-python/usethis-python/issues/new?template=idea.md).
## Highlights
- 🧰 First-class support for state-of-the-practice tooling: uv, Ruff, pytest, pre-commit, and many more.
- 🤖 Automatically add and remove tools: declare, install, and configure in one step.
- 🧠 Powerful knowledge of how different tools interact and sensible defaults.
- 🔄 Update existing configuration files automatically.
- 📢 Fully declarative project configuration.
- ⚡ Get started on a new Python project or a new workflow in seconds.
## 🧭 Getting Started
First, it is strongly recommended you [install the uv package manager](https://docs.astral.sh/uv/getting-started/installation/): this is a simple, documented process. If you're already using uv, make sure you're using at least
version v0.6.8. To check this, run `uv self version` to check (if available, otherwise `uv version`), and run `uv self update` to upgrade.
> [!TIP]
> At the moment, usethis assumes you will have uv installed in some circumstances. Support for projects that don't use uv is planned for late 2025.
You can install usethis directly into the project environment:
```console
# With uv
$ uv add --dev usethis
# With pip
$ pip install usethis
```
Alternatively, you can also run usethis commands in isolation, using `uvx` or `pipx`. For example, to add Ruff to the project:
```console
# With uv
$ uvx usethis tool ruff
# With pipx
$ pipx run usethis tool ruff
```
## 🖥️ Command Line Interface
### Start a New Project
- [`usethis init`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-init) — Initialize a new project with recommended defaults.
### Manage Tooling
- [`usethis doc`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-doc) — Add/Configure recommended documentation tools (namely, [MkDocs](https://www.mkdocs.org/)).
- [`usethis format`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-format) — Add/Configure recommended formatters (namely, [Ruff](https://docs.astral.sh/ruff/formatter/) and [pyproject-fmt](https://pyproject-fmt.readthedocs.io/en/latest/)).
- [`usethis lint`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-lint) — Add/Configure recommended linters (namely, [Ruff](https://docs.astral.sh/ruff/linter) and [deptry](https://github.com/fpgmaas/deptry)).
- [`usethis spellcheck`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-spellcheck) — Add/Configure recommended spellcheckers (namely, [codespell](https://github.com/codespell-project/codespell)).
- [`usethis test`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-test) — Add/Configure a recommended testing framework (namely, [pytest](https://github.com/pytest-dev/pytest) with [Coverage.py](https://github.com/nedbat/coveragepy)).
- [`usethis ci`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-ci) — Add/Configure a specified CI service.
- [`usethis tool`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-tool) — Add/Configure specific tools individually.
### Manage Configuration
- [`usethis author`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-author) — Set new author information for the project.
- [`usethis docstyle`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-docstyle-style) — Set a docstring style convention for the project, and [enforce it with Ruff](https://docs.astral.sh/ruff/rules/#pydocstyle-d).
- [`usethis rule`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-rule-rulecode) — Set linter rule configuration for specific rules across the project.
- [`usethis status`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-status-status) — Set the development status of the project (via trove classifiers).
### Manage the README
- [`usethis badge`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-badge) — Add badges to the README file.
- [`usethis readme`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-readme) — Add a new README file.
### Information
- [`usethis list`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-list) — Display a table of all available tools and their current usage status.
- [`usethis version`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-version) — Display the current version of usethis.
- [`usethis browse pypi`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-browse-pypi-package) — Display or open the PyPI landing page associated with another project.
- [`usethis show`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-show) — Show a specific piece of information about the project.
## 💡 Example Usage
To start a new project from scratch with a complete set of recommended tooling, run:
```console
$ uvx usethis init
✔ Writing 'pyproject.toml' and initializing project.
✔ Writing 'README.md'.
☐ Populate 'README.md' to help users understand the project.
✔ Adding recommended documentation tools.
☐ Run 'uv run mkdocs build' to build the documentation.
☐ Run 'uv run mkdocs serve' to serve the documentation locally.
✔ Adding recommended linters.
☐ Run 'uv run ruff check --fix' to run the Ruff linter with autofixes.
☐ Run 'uv run deptry src' to run deptry.
✔ Adding recommended formatters.
☐ Run 'uv run ruff format' to run the Ruff formatter.
☐ Run 'uv run pyproject-fmt pyproject.toml' to run pyproject-fmt.
✔ Adding recommended spellcheckers.
☐ Run 'uv run codespell' to run the Codespell spellchecker.
✔ Adding recommended test frameworks.
☐ Add test files to the '/tests' directory with the format 'test_*.py'.
☐ Add test functions with the format 'test_*()'.
☐ Run 'uv run pytest' to run the tests.
☐ Run 'uv run pytest --cov' to run your tests with Coverage.py.
```
To use Ruff on an existing project, run:
```console
$ uvx usethis tool ruff
✔ Adding dependency 'ruff' to the 'dev' group in 'pyproject.toml'.
✔ Adding Ruff config to 'pyproject.toml'.
✔ Selecting Ruff rules 'A', 'C4', 'E4', 'E7', 'E9', 'F', 'FLY', 'FURB', 'I', 'PLE', 'PLR', 'RUF', 'SIM', 'UP' in 'pyproject.toml'.
✔ Ignoring Ruff rules 'PLR2004', 'SIM108' in 'pyproject.toml'.
☐ Run 'uv run ruff check --fix' to run the Ruff linter with autofixes.
☐ Run 'uv run ruff format' to run the Ruff formatter.
```
To use pytest, run:
```console
$ uvx usethis tool pytest
✔ Adding dependency 'pytest' to the 'test' group in 'pyproject.toml'.
✔ Adding pytest config to 'pyproject.toml'.
✔ Selecting Ruff rule 'PT' in 'pyproject.toml'.
✔ Creating '/tests'.
✔ Writing '/tests/conftest.py'.
☐ Add test files to the '/tests' directory with the format 'test_*.py'.
☐ Add test functions with the format 'test_*()'.
☐ Run 'uv run pytest' to run the tests.
```
To configure Bitbucket pipelines, run:
```console
$ uvx usethis ci bitbucket
✔ Writing 'bitbucket-pipelines.yml'.
✔ Adding cache 'uv' definition to 'bitbucket-pipelines.yml'.
✔ Adding 'Run Ruff' to default pipeline in 'bitbucket-pipelines.yml'.
✔ Adding 'Test on 3.12' to default pipeline in 'bitbucket-pipelines.yml'.
✔ Adding 'Test on 3.13' to default pipeline in 'bitbucket-pipelines.yml'.
☐ Run your pipeline via the Bitbucket website.
```
## 📚 Similar Projects
Not sure if usethis is the exact fit for your project?
The closest match to usethis is [PyScaffold](https://github.com/pyscaffold/pyscaffold/). It provides a Command Line Interface to automate the creation of a project from a sensible templated structure.
You could also consider your own hard-coded template. Templating tools such as [Cookiecutter](https://github.com/cookiecutter/cookiecutter) and [Copier](https://github.com/copier-org/copier) allow you to create static templates with fixed configuration you can use across multiple projects. However, it's not always obvious which template you should use, and many do not use state-of-practice tooling such as `pyproject.toml`. Also, sometimes a template can overwhelm you with too many unfamiliar tools.
You could consider [this template](https://github.com/pawamoy/copier-uv) or [this one](https://github.com/jlevy/simple-modern-uv), which work with Copier, or [this template](https://github.com/johnthagen/python-blueprint) which works with Cookiecutter.
> [!TIP]
> You can still use usethis as a part of a templates using [hooks](https://cookiecutter.readthedocs.io/en/latest/advanced/hooks.html#using-pre-post-generate-hooks-0-7-0) for Cookiecutter and [tasks](https://copier.readthedocs.io/en/stable/configuring/#tasks) for Copier.
If you're using Cookiecutter, then you can update to a latest version of a template using a tool like [cruft](https://github.com/cruft/cruft). Copier has inbuilt support for template updating. Another template-style option which provides updating is [jaraco/skeleton](https://blog.jaraco.com/skeleton/), which is a specific, git-based template rather than a general templating system.
## 🚀 Development
[](https://github.com/usethis-python/usethis-python/releases)
[](https://codspeed.io/usethis-python/usethis-python)
### Roadmap
Major features planned for later in 2025 are:
- Support for users who aren't using uv, e.g. poetry users,
- Support for automated GitHub Actions workflows ([#57](https://github.com/usethis-python/usethis-python/issues/57)), and
- Support for a typechecker (likely Pyright, [#121](https://github.com/usethis-python/usethis-python/issues/121)).
Other features are tracked in the [GitHub Issues](https://github.com/usethis-python/usethis-python/issues) page.
### Contributing
See the
[CONTRIBUTING.md](https://github.com/usethis-python/usethis-python/blob/main/CONTRIBUTING.md)
file.
## License
usethis is licensed under the MIT license ([LICENSE](https://github.com/usethis-python/usethis-python/blob/main/LICENSE) or <https://opensource.org/licenses/MIT>)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in usethis by you, as defined in the Apache License, Version 2.0, (<https://www.apache.org/licenses/LICENSE-2.0>), shall be licensed under the MIT license, without any additional terms or conditions.
Raw data
{
"_id": null,
"home_page": null,
"name": "usethis",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "init, project, setup, start, usethis",
"author": null,
"author_email": "Nathan McDougall <nathan.j.mcdougall@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/26/5a/0bf11f189699fe68c0941bae3e08af7192adeb9121cbe9df7be6fab21ecd/usethis-0.15.2.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">\n <img src=\"https://raw.githubusercontent.com/usethis-python/usethis-python/refs/heads/main/docs/logo.svg\"><br>\n</h1>\n\n# usethis\n\n[](https://github.com/usethis-python/usethis-python)\n[](https://pypi.python.org/pypi/usethis)\n\n[](https://pypi.python.org/pypi/usethis)\n[](https://github.com/astral-sh/uv)\n[](https://codecov.io/gh/usethis-python/usethis-python)\n[](https://github.com/usethis-python/usethis-python/actions)\n[](https://usethis.readthedocs.io/en/stable/)\n\nAutomate Python project setup and development tasks that are otherwise performed manually.\n\nusethis is a command-line interface to automate the configuration of popular Python tools, workflows, and frameworks. You can use it to declaratively add, remove, and configure tools in an existing project, as well as set up a new project from scratch. It won't break your existing configuration, and ensures all tools work together smoothly.\n\nusethis gives detailed messages about what it is doing (and what you need to do next).\n\n- Output beginning with `\u2714` represents a task which usethis has automated.\n- Output beginning with `\u2610` represents a task which you need to perform manually.\n- Output beginning with `\u2139` gives hints and tips.\n\nInspired by an [**R** package of the same name](https://usethis.r-lib.org/index.html), this package brings a similar experience to the Python ecosystem as a CLI tool.\n\n> [!TIP]\n> usethis is great for fresh projects using [uv](https://docs.astral.sh/uv), but also supports updating existing projects. However, this should be considered experimental. If you encounter problems or have feedback, please [open an issue](https://github.com/usethis-python/usethis-python/issues/new?template=idea.md).\n\n## Highlights\n\n- \ud83e\uddf0 First-class support for state-of-the-practice tooling: uv, Ruff, pytest, pre-commit, and many more.\n- \ud83e\udd16 Automatically add and remove tools: declare, install, and configure in one step.\n- \ud83e\udde0 Powerful knowledge of how different tools interact and sensible defaults.\n- \ud83d\udd04 Update existing configuration files automatically.\n- \ud83d\udce2 Fully declarative project configuration.\n- \u26a1 Get started on a new Python project or a new workflow in seconds.\n\n## \ud83e\udded Getting Started\n\nFirst, it is strongly recommended you [install the uv package manager](https://docs.astral.sh/uv/getting-started/installation/): this is a simple, documented process. If you're already using uv, make sure you're using at least\nversion v0.6.8. To check this, run `uv self version` to check (if available, otherwise `uv version`), and run `uv self update` to upgrade.\n\n> [!TIP]\n> At the moment, usethis assumes you will have uv installed in some circumstances. Support for projects that don't use uv is planned for late 2025.\n\nYou can install usethis directly into the project environment:\n\n```console\n# With uv\n$ uv add --dev usethis\n\n# With pip\n$ pip install usethis\n```\n\nAlternatively, you can also run usethis commands in isolation, using `uvx` or `pipx`. For example, to add Ruff to the project:\n\n```console\n# With uv\n$ uvx usethis tool ruff\n\n# With pipx\n$ pipx run usethis tool ruff\n```\n\n## \ud83d\udda5\ufe0f Command Line Interface\n\n### Start a New Project\n\n- [`usethis init`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-init) \u2014 Initialize a new project with recommended defaults.\n\n### Manage Tooling\n\n- [`usethis doc`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-doc) \u2014 Add/Configure recommended documentation tools (namely, [MkDocs](https://www.mkdocs.org/)).\n- [`usethis format`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-format) \u2014 Add/Configure recommended formatters (namely, [Ruff](https://docs.astral.sh/ruff/formatter/) and [pyproject-fmt](https://pyproject-fmt.readthedocs.io/en/latest/)).\n- [`usethis lint`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-lint) \u2014 Add/Configure recommended linters (namely, [Ruff](https://docs.astral.sh/ruff/linter) and [deptry](https://github.com/fpgmaas/deptry)).\n- [`usethis spellcheck`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-spellcheck) \u2014 Add/Configure recommended spellcheckers (namely, [codespell](https://github.com/codespell-project/codespell)).\n- [`usethis test`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-test) \u2014 Add/Configure a recommended testing framework (namely, [pytest](https://github.com/pytest-dev/pytest) with [Coverage.py](https://github.com/nedbat/coveragepy)).\n- [`usethis ci`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-ci) \u2014 Add/Configure a specified CI service.\n- [`usethis tool`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-tool) \u2014 Add/Configure specific tools individually.\n\n### Manage Configuration\n\n- [`usethis author`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-author) \u2014 Set new author information for the project.\n- [`usethis docstyle`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-docstyle-style) \u2014 Set a docstring style convention for the project, and [enforce it with Ruff](https://docs.astral.sh/ruff/rules/#pydocstyle-d).\n- [`usethis rule`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-rule-rulecode) \u2014 Set linter rule configuration for specific rules across the project.\n- [`usethis status`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-status-status) \u2014 Set the development status of the project (via trove classifiers).\n\n### Manage the README\n\n- [`usethis badge`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-badge) \u2014 Add badges to the README file.\n- [`usethis readme`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-readme) \u2014 Add a new README file.\n\n### Information\n\n- [`usethis list`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-list) \u2014 Display a table of all available tools and their current usage status.\n- [`usethis version`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-version) \u2014 Display the current version of usethis.\n- [`usethis browse pypi`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-browse-pypi-package) \u2014 Display or open the PyPI landing page associated with another project.\n- [`usethis show`](https://usethis.readthedocs.io/en/latest/cli/reference#usethis-show) \u2014 Show a specific piece of information about the project.\n\n## \ud83d\udca1 Example Usage\n\nTo start a new project from scratch with a complete set of recommended tooling, run:\n\n```console\n$ uvx usethis init\n\u2714 Writing 'pyproject.toml' and initializing project.\n\u2714 Writing 'README.md'.\n\u2610 Populate 'README.md' to help users understand the project.\n\u2714 Adding recommended documentation tools.\n\u2610 Run 'uv run mkdocs build' to build the documentation.\n\u2610 Run 'uv run mkdocs serve' to serve the documentation locally.\n\u2714 Adding recommended linters.\n\u2610 Run 'uv run ruff check --fix' to run the Ruff linter with autofixes.\n\u2610 Run 'uv run deptry src' to run deptry.\n\u2714 Adding recommended formatters.\n\u2610 Run 'uv run ruff format' to run the Ruff formatter.\n\u2610 Run 'uv run pyproject-fmt pyproject.toml' to run pyproject-fmt.\n\u2714 Adding recommended spellcheckers.\n\u2610 Run 'uv run codespell' to run the Codespell spellchecker.\n\u2714 Adding recommended test frameworks.\n\u2610 Add test files to the '/tests' directory with the format 'test_*.py'.\n\u2610 Add test functions with the format 'test_*()'.\n\u2610 Run 'uv run pytest' to run the tests.\n\u2610 Run 'uv run pytest --cov' to run your tests with Coverage.py.\n```\n\nTo use Ruff on an existing project, run:\n\n```console\n$ uvx usethis tool ruff\n\u2714 Adding dependency 'ruff' to the 'dev' group in 'pyproject.toml'.\n\u2714 Adding Ruff config to 'pyproject.toml'.\n\u2714 Selecting Ruff rules 'A', 'C4', 'E4', 'E7', 'E9', 'F', 'FLY', 'FURB', 'I', 'PLE', 'PLR', 'RUF', 'SIM', 'UP' in 'pyproject.toml'.\n\u2714 Ignoring Ruff rules 'PLR2004', 'SIM108' in 'pyproject.toml'.\n\u2610 Run 'uv run ruff check --fix' to run the Ruff linter with autofixes.\n\u2610 Run 'uv run ruff format' to run the Ruff formatter.\n```\n\nTo use pytest, run:\n\n```console\n$ uvx usethis tool pytest\n\u2714 Adding dependency 'pytest' to the 'test' group in 'pyproject.toml'.\n\u2714 Adding pytest config to 'pyproject.toml'.\n\u2714 Selecting Ruff rule 'PT' in 'pyproject.toml'.\n\u2714 Creating '/tests'.\n\u2714 Writing '/tests/conftest.py'.\n\u2610 Add test files to the '/tests' directory with the format 'test_*.py'.\n\u2610 Add test functions with the format 'test_*()'.\n\u2610 Run 'uv run pytest' to run the tests.\n```\n\nTo configure Bitbucket pipelines, run:\n\n```console\n$ uvx usethis ci bitbucket\n\u2714 Writing 'bitbucket-pipelines.yml'.\n\u2714 Adding cache 'uv' definition to 'bitbucket-pipelines.yml'.\n\u2714 Adding 'Run Ruff' to default pipeline in 'bitbucket-pipelines.yml'.\n\u2714 Adding 'Test on 3.12' to default pipeline in 'bitbucket-pipelines.yml'.\n\u2714 Adding 'Test on 3.13' to default pipeline in 'bitbucket-pipelines.yml'.\n\u2610 Run your pipeline via the Bitbucket website.\n```\n\n## \ud83d\udcda Similar Projects\n\nNot sure if usethis is the exact fit for your project?\n\nThe closest match to usethis is [PyScaffold](https://github.com/pyscaffold/pyscaffold/). It provides a Command Line Interface to automate the creation of a project from a sensible templated structure.\n\nYou could also consider your own hard-coded template. Templating tools such as [Cookiecutter](https://github.com/cookiecutter/cookiecutter) and [Copier](https://github.com/copier-org/copier) allow you to create static templates with fixed configuration you can use across multiple projects. However, it's not always obvious which template you should use, and many do not use state-of-practice tooling such as `pyproject.toml`. Also, sometimes a template can overwhelm you with too many unfamiliar tools.\n\nYou could consider [this template](https://github.com/pawamoy/copier-uv) or [this one](https://github.com/jlevy/simple-modern-uv), which work with Copier, or [this template](https://github.com/johnthagen/python-blueprint) which works with Cookiecutter.\n\n> [!TIP]\n> You can still use usethis as a part of a templates using [hooks](https://cookiecutter.readthedocs.io/en/latest/advanced/hooks.html#using-pre-post-generate-hooks-0-7-0) for Cookiecutter and [tasks](https://copier.readthedocs.io/en/stable/configuring/#tasks) for Copier.\n\nIf you're using Cookiecutter, then you can update to a latest version of a template using a tool like [cruft](https://github.com/cruft/cruft). Copier has inbuilt support for template updating. Another template-style option which provides updating is [jaraco/skeleton](https://blog.jaraco.com/skeleton/), which is a specific, git-based template rather than a general templating system.\n\n## \ud83d\ude80 Development\n\n[](https://github.com/usethis-python/usethis-python/releases)\n[](https://codspeed.io/usethis-python/usethis-python)\n\n### Roadmap\n\nMajor features planned for later in 2025 are:\n\n- Support for users who aren't using uv, e.g. poetry users,\n- Support for automated GitHub Actions workflows ([#57](https://github.com/usethis-python/usethis-python/issues/57)), and\n- Support for a typechecker (likely Pyright, [#121](https://github.com/usethis-python/usethis-python/issues/121)).\n\nOther features are tracked in the [GitHub Issues](https://github.com/usethis-python/usethis-python/issues) page.\n\n### Contributing\n\nSee the\n[CONTRIBUTING.md](https://github.com/usethis-python/usethis-python/blob/main/CONTRIBUTING.md)\nfile.\n\n## License\n\nusethis is licensed under the MIT license ([LICENSE](https://github.com/usethis-python/usethis-python/blob/main/LICENSE) or <https://opensource.org/licenses/MIT>)\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in usethis by you, as defined in the Apache License, Version 2.0, (<https://www.apache.org/licenses/LICENSE-2.0>), shall be licensed under the MIT license, without any additional terms or conditions.\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2024 usethis contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Automate Python project setup and development tasks that are otherwise performed manually.",
"version": "0.15.2",
"project_urls": {
"Bug Tracker": "https://github.com/usethis-python/usethis-python/issues",
"Documentation": "https://usethis.readthedocs.io/en/stable/",
"Releases": "https://github.com/usethis-python/usethis-python/releases",
"Source Archive": "https://github.com/usethis-python/usethis-python/archive/18a1da07f21e6617d9ade32346f9633e6abc9af8.zip",
"Source Code": "https://github.com/usethis-python/usethis-python"
},
"split_keywords": [
"init",
" project",
" setup",
" start",
" usethis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "73a04bcd7b21bb22f431a9b67eaef2a6c31e006cc5e6dc7ce4f6014cd0e72ea1",
"md5": "2693c0b8ef60db95a8cea95dab8b0d9e",
"sha256": "bb697f8d3a851ee3d3eb5910fb253c37623272732ce730c3f1176de0cfdf1656"
},
"downloads": -1,
"filename": "usethis-0.15.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2693c0b8ef60db95a8cea95dab8b0d9e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 148831,
"upload_time": "2025-07-27T09:53:43",
"upload_time_iso_8601": "2025-07-27T09:53:43.544259Z",
"url": "https://files.pythonhosted.org/packages/73/a0/4bcd7b21bb22f431a9b67eaef2a6c31e006cc5e6dc7ce4f6014cd0e72ea1/usethis-0.15.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "265a0bf11f189699fe68c0941bae3e08af7192adeb9121cbe9df7be6fab21ecd",
"md5": "8db379e1255a03b613af4fb44899e62d",
"sha256": "9a70906c352aa631eb465834caeb876f9a30e3dde2e67378ff004fb86acda518"
},
"downloads": -1,
"filename": "usethis-0.15.2.tar.gz",
"has_sig": false,
"md5_digest": "8db379e1255a03b613af4fb44899e62d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 317940,
"upload_time": "2025-07-27T09:53:44",
"upload_time_iso_8601": "2025-07-27T09:53:44.963264Z",
"url": "https://files.pythonhosted.org/packages/26/5a/0bf11f189699fe68c0941bae3e08af7192adeb9121cbe9df7be6fab21ecd/usethis-0.15.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 09:53:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "usethis-python",
"github_project": "usethis-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "usethis"
}