Skip to content

Commit f0b26bf

Browse files
Merge branch 'main' into copilot/move-config-spec-into-toolspec
2 parents b247646 + 966a19b commit f0b26bf

7 files changed

Lines changed: 64 additions & 640 deletions

File tree

File renamed without changes.
File renamed without changes.

docs/about/philosophy.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Philosophy
2+
3+
usethis targets the Python ecosystem in a particular way. It's not trying to be a package manager: that's well covered by `uv`. It's also not trying to provide absolutely all the functionality a developer might want, e.g. CI, editor, and LLM configuration. Instead, usethis focuses on the Python-specific aspects of Python developer tooling and project configuration.
4+
5+
One of the significant motivations for usethis is to make it easier for developers to avail themselves of the rich and powerful ecosystem of Python developer tooling. In the age of LLM-powered development, the benefits of these tools are more significant than ever.
6+
7+
## Why not CI Configuration?
8+
9+
Until v0.19.0, usethis provided a `usethis ci` command, but this was deprecated for removal. It's worth giving some of the rationale for why, since it helps to clarify the philosophy of usethis.
10+
11+
- There are many different CI providers, external services, and configurations that people might want to use. That variety is in tension with the usethis philosophy of generally providing a single, opinionated way to do things. There's often an element of setting up broader infrastructure, API keys, etc. and altogether this makes it very difficult to automate effectively.
12+
13+
- CI configuration has important security implications to consider. It's not something that is necessary sensible to try and automate compared to Python developer tooling and project configuration.
14+
15+
- Directing dev tooling through tools for managing hooks like [prek](https://prek.j178.dev/) and [pre-commit](https://pre-commit.com/) limits the value in also configuring CI, since the CI configuration is generally just invoking these tools.
File renamed without changes.

docs/pipeweld.md

Lines changed: 37 additions & 634 deletions
Large diffs are not rendered by default.

mkdocs.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ nav:
99
- CLI Reference:
1010
- Overview: cli/overview.md
1111
- Reference: cli/reference.md
12-
- With Other Frameworks: frameworks.md
13-
- Similar Projects: similar-projects.md
14-
- FAQ: faq.md
15-
- License: about-license.md
12+
- Usage With Other Frameworks: frameworks.md
13+
- About:
14+
- Philosophy: about/philosophy.md
15+
- Similar Projects: about/similar-projects.md
16+
- FAQ: about/faq.md
17+
- License: about/about-license.md
18+
- Internal Utilities:
19+
- Pipeweld: pipeweld.md
1620

1721
theme:
1822
name: material

tests/docs/test_readme.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,14 @@ def test_assemble_readme_from_docs(usethis_dev_dir: Path):
3333
)
3434
)
3535
parts.append(
36-
_get_doc_file(usethis_dev_dir / "docs" / "similar-projects.md").replace(
36+
_get_doc_file(
37+
usethis_dev_dir / "docs" / "about" / "similar-projects.md"
38+
).replace(
3739
"](frameworks.md)",
3840
"](https://usethis.readthedocs.io/en/stable/frameworks)",
3941
)
4042
)
41-
parts.append(_get_doc_file(usethis_dev_dir / "docs" / "about-license.md"))
43+
parts.append(_get_doc_file(usethis_dev_dir / "docs" / "about" / "about-license.md"))
4244

4345
content = (
4446
(usethis_dev_dir / "README.md")

0 commit comments

Comments
 (0)