Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 6 additions & 21 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,33 +12,18 @@ Some configuration is necessary to ensure smooth integrations with other tools.

## Why does usethis make formatting changes to my config files?

When modifying files like `pyproject.toml` and `.pre-commit-config.yaml`, usethis
attempts to preserve the original formatting as much as possible.
When modifying files like `pyproject.toml` and `.pre-commit-config.yaml`, usethis attempts to preserve the original formatting as much as possible.

However, there are some known limitations for YAML files. In Python, there is currently
no YAML parser with pure round-trip support. The closest is `ruamel.yaml`, but it has
some known limitations. If you find that usethis has modified your files in a way
that you did not expect, please open an issue on the usethis GitHub repository, and
if necessary the issue can be escalated to the `ruamel.yaml` repository on SourceForge,
or other appropriate repository.
However, there are some known limitations for YAML files. In Python, there is currently no YAML parser with pure round-trip support. The closest is `ruamel.yaml`, but it has some known limitations. If you find that usethis has modified your files in a way that you did not expect, please open an issue on the usethis GitHub repository, and if necessary the issue can be escalated to the `ruamel.yaml` repository on SourceForge, or another appropriate repository.

## Is uv absolutely necessary to use usethis?

No, although it is highly recommended for new projects, since it is a modern and
easy-to-use tool for managing Python projects. If you don't have uv installed, usethis
will automatically avoid using it.
No, although it is highly recommended for new projects, since it is a modern and easy-to-use tool for managing Python projects. If you don't have uv installed, usethis will automatically avoid using it.

If you have uv installed but you want to avoid using it for a specific project, you
should use the `--backend=none` option when running usethis commands. In the future,
it is planned that usethis will support additional backends for managing Python
projects, for example Poetry.
If you have uv installed but you want to avoid using it for a specific project, you should use the `--backend=none` option when running usethis commands. In the future, it is planned that usethis will support additional backends for managing Python projects, for example Poetry.

There is another reason to use uv, which is to provide the uvx command for running
usethis. This provides an easy way to use usethis without needing to know technical
details about Python virtual environments.
There is another reason to use uv, which is to provide the uvx command for running usethis. This provides an easy way to use usethis without needing to know technical details about Python virtual environments.

## What if I'm using Poetry for my project?

If you're using Poetry, usethis will automatically detect this and avoid using the uv
backend to install packages. You'll get instructions in the console about which
steps to take manually using Poetry. First-class support for Poetry is planned.
If you're using Poetry, usethis will automatically detect this and avoid using the uv backend to install packages. You'll get instructions in the console about which steps to take manually using Poetry. First-class support for Poetry is planned.