Releases: fastapi/typer
Releases · fastapi/typer
0.16.0
Upgrades
When using the CliRunner
with Click < 8.2, to be able to access the stderr
output, you needed to set the mix_stderr
parameter to True
. Since Click 8.2 (and Typer 0.160 this release supporting it) this is no longer necessary, so this parameter has been removed.
Refactors
Internal
0.15.4
0.15.3
Fixes
- 🐛 Ensure that autocompletion works for
Path
arguments/options. PR #1138 by @svlandeg. - 🐛 Fix newline after header in help text, and add more tests for the behaviour of
rich_markup_mode
. PR #964 by @svlandeg.
Internal
- ⬆ Bump astral-sh/setup-uv from 5 to 6. PR #1203 by @dependabot[bot].
- ⬆ Bump ruff from 0.11.2 to 0.11.6. PR #1200 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1196 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.11.1 to 0.11.2. PR #1186 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1187 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.11.0 to 0.11.1. PR #1185 by @dependabot[bot].
- ⬆ Bump ruff from 0.9.10 to 0.11.0. PR #1180 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1181 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1176 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.9 to 0.9.10. PR #1175 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1171 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.7 to 0.9.9. PR #1166 by @dependabot[bot].
- ✏️ Fix typo in test name. PR #1165 by @svlandeg.
0.15.2
Features
- ✨ Allow custom styles for commands in help output. PR #1103 by @TheTechromancer.
- ✨ Avoid the unnecessary import of
typing_extensions
in newer Python versions. PR #1048 by @horta.
Fixes
Refactors
Docs
- ✏️ Fix small typos in the tutorial documentation. PR #1137 by @svlandeg.
- 📝 Update optional CLI argument section in tutorial with
Annotated
. PR #983 by @gkeuccsr. - 📝 Clarify the need for
mix_stderr
when accessing the output ofstderr
in tests. PR #1045 by @mrchrisadams.
Internal
- 🔧 Add support for Python 3.13, tests in CI and add PyPI trove classifier. PR #1091 by @edgarrmondragon.
- ⬆ Bump ruff from 0.9.6 to 0.9.7. PR #1161 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1162 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.5 to 0.9.6. PR #1153 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1151 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.4 to 0.9.5. PR #1146 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1142 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.3 to 0.9.4. PR #1139 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1135 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.1 to 0.9.3. PR #1136 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1130 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.8.6 to 0.9.1. PR #1118 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR #1132 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.49 to 9.5.50. PR #1129 by @dependabot[bot].
- 💚 Fix test matrix for Python 3.7. PR #1116 by @svlandeg.
- ⬆ Bump ruff from 0.8.4 to 0.8.6. PR #1107 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1109 by @pre-commit-ci[bot].
- ⬆ Bump pillow from 11.0.0 to 11.1.0. PR #1104 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1102 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.8.3 to 0.8.4. PR #1097 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 4 to 5. PR #1098 by @dependabot[bot].
- ⬆ Bump markdown-include-variants from 0.0.3 to 0.0.4. PR #1100 by @dependabot[bot].
- ⬆ Bump ruff from 0.8.2 to 0.8.3. PR #1090 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1093 by @pre-commit-ci[bot].
- ⬆ Bump mkdocs-material from 9.5.48 to 9.5.49. PR #1092 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3. PR #1088 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1087 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.8.1 to 0.8.2. PR #1084 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.47 to 9.5.48. PR #1086 by @dependabot[bot].
0.15.1
Features
- 🗑️ Deprecate
shell_complete
and continue to useautocompletion
for CLI parameters. PR #974 by @svlandeg.
Docs
- ✏️ Fix a few typos in the source and documentation. PR #1028 by @kkirsche.
- 📝 Fix minor inconsistencies and typos in tutorial. PR #1067 by @tvoirand.
- ✏️ Fix a few small typos in the documentation. PR #1077 by @svlandeg.
Internal
- 🔧 Update build-docs filter patterns. PR #1080 by @tiangolo.
- 🔨 Update deploy docs preview script. PR #1079 by @tiangolo.
- 🔧 Update members. PR #1078 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1071 by @pre-commit-ci[bot].
- ⬆ Update httpx requirement from <0.28.0,>=0.27.0 to >=0.27.0,<0.29.0. PR #1065 by @dependabot[bot].
0.15.0
Features
- ✨ Add support for extending typer apps without passing a name, add commands to the top level. PR #1037 by @patrick91.
- New docs: One File Per Command.
Internal
- ⬆ Bump mkdocs-material from 9.5.46 to 9.5.47. PR #1070 by @dependabot[bot].
- ⬆ Bump ruff from 0.8.0 to 0.8.1. PR #1066 by @dependabot[bot].
0.14.0
Breaking Changes
- 🔥 Remove auto naming of groups added via
add_typer
based on the group's callback function name. PR #1052 by @patrick91.
Before, it was supported to infer the name of a command group from the callback function name in the sub-app, so, in this code:
import typer
app = typer.Typer()
users_app = typer.Typer()
app.add_typer(users_app)
@users_app.callback()
def users(): # <-- This was the inferred command group name
"""
Manage users in the app.
"""
@users_app.command()
def create(name: str):
print(f"Creating user: {name}")
...the command group would be named users
, based on the name of the function def users()
.
Now you need to set it explicitly:
import typer
app = typer.Typer()
users_app = typer.Typer()
app.add_typer(users_app, name="users") # <-- Explicitly set the command group name
@users_app.callback()
def users():
"""
Manage users in the app.
"""
@users_app.command()
def create(name: str):
print(f"Creating user: {<
10000
span class="pl-s1">name}")
Updated docs SubCommand Name and Help.
Note: this change will enable important features in the next release. 🤩
Internal
- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.12.2. PR #1043 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.44 to 9.5.46. PR #1062 by @dependabot[bot].
- ⬆ Bump ruff from 0.7.4 to 0.8.0. PR #1059 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 3 to 4. PR #1061 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1053 by @pre-commit-ci[bot].
0.13.1
Features
- ✨ Remove Rich tags when showing completion text. PR #877 by @svlandeg.
- ✨ Render Rich markup as HTML in Markdown docs. PR #847 by @svlandeg.
- ✨ Support cp850 encoding for auto-completion in PowerShell. PR #808 by @svlandeg.
- ✨ Allow gettext translation of help message. PR #886 by @svlandeg.
Refactors
Docs
Internal
- ⬆ Bump ruff from 0.7.3 to 0.7.4. PR #1051 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1047 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.7.2 to 0.7.3. PR #1046 by @dependabot[bot].
- ⬆ Bump tiangolo/latest-changes from 0.3.1 to 0.3.2. PR #1044 by @dependabot[bot].
- ⬆ Update pytest-cov requirement from <6.0.0,>=2.10.0 to >=2.10.0,<7.0.0. PR #1033 by @dependabot[bot].
0.13.0
Features
- ✨ Handle
KeyboardInterrupt
separately from other exceptions. PR #1039 by @patrick91. - ✨ Update
launch
to not print anything when opening urls. PR #1035 by @patrick91. - ✨ Show help items in order of definition. PR #944 by @svlandeg.
Fixes
- 🐛 Fix equality check for custom classes. PR #979 by @AryazE.
- 🐛 Allow colon in zsh autocomplete values and descriptions. PR #988 by @snapbug.
Refactors
- 🗑️ Deprecate support for
is_flag
andflag_value
parameters. PR #987 by @svlandeg. - 🔥 Remove unused functionality from
_typing.py
file. PR #805 by @ivantodorovich. - ✏️ Fix typo in function name
_make_rich_text
. PR #959 by @svlandeg.
Internal
- ✅ Only run completion installation tests when the env var
_TYPER_RUN_INSTALL_COMPLETION_TESTS
is set. PR #995 by @svlandeg. - 📝 Update the docstring of the
_make_rich_text
method. PR #972 by @svlandeg. - ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1040 by @pre-commit-ci[bot].
- ⬆ Bump mkdocs-material from 9.5.42 to 9.5.44. PR #1042 by @dependabot[bot].
- ⬆ Bump ruff from 0.7.1 to 0.7.2. PR #1038 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.3.6 to 1.3.7. PR #1031 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1032 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.7.0 to 0.7.1. PR #1029 by @dependabot[bot].
- ⬆ Bump pillow from 10.4.0 to 11.0.0. PR #1023 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.35 to 9.5.42. PR #1027 by @dependabot[bot].
- ⬆ Bump ruff from 0.6.5 to 0.7.0. PR #1026 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.2.0 to 1.3.6. PR #1025 by @dependabot[bot].
- ⬆ Update pre-commit requirement from <4.0.0,>=2.17.0 to >=2.17.0,<5.0.0. PR #1012 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3. PR #1009 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1001 by @pre-commit-ci[bot].
- 👷 Update Deploy docs CI to use uv. PR #1021 by @tiangolo.
- 👷 Fix smokeshow, checkout files on CI. PR #1020 by @tiangolo.
- 👷 Use uv in CI. PR #1019 by @tiangolo.
- 👷 Update
labeler.yml
. PR #1014 by @tiangolo. - 👷 Update worfkow deploy-docs-notify URL. PR #1011 by @tiangolo.
- 👷 Upgrade Cloudflare GitHub Action. PR #1010 by @tiangolo.
- ⬆ Bump mkdocs-macros-plugin from 1.0.5 to 1.2.0. PR #992 by @dependabot[bot].
- ⬆ Bump ruff from 0.6.4 to 0.6.5. PR #991 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.34 to 9.5.35. PR #996 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #993 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #982 by @pre-commit-ci[bot].
- ⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1. PR #980 by @dependabot[bot].
- 👷 Update
issue-manager.yml
. PR #978 by @tiangolo. - ⬆ Bump ruff from 0.6.3 to 0.6.4. PR #975 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.33 to 9.5.34. PR #963 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1. PR #973 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #966 by @pre-commit-ci[bot].
- 💚 Set
include-hidden-files
toTrue
when using theupload-artifact
GH action. PR #967 by @svlandeg. - ⬆ Bump ruff from 0.6.1 to 0.6.3. PR #961 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #689 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.2.0 to 0.6.1. PR #938 by @dependabot[bot].
- 👷 Update
latest-changes
GitHub Action. PR #955 by @tiangolo.
0.12.5
Features
- 💄 Unify the width of the Rich console for help and errors. PR #788 by @racinmat.
- 🚸 Improve assertion error message if a group is not a valid subclass. PR #425 by @chrisburr.
Fixes
- 🐛 Ensure
rich_markup_mode=None
disables Rich formatting. PR #859 by @svlandeg. - 🐛 Fix sourcing of completion path for Git Bash. PR #801 by @svlandeg.
- 🐛 Fix PowerShell completion with incomplete word. PR #360 by @patricksurry.
Refactors
- 🔥 Remove Python 3.6 specific code paths. PR #850 by @svlandeg.
- 🔥 Clean up redundant code. PR #858 by @svlandeg.
Docs
- ♻️ Use F-strings in Click examples in docs. PR #891 by @svlandeg.
- 📝Add missing
main.py
in tutorial on CLI option names. PR #868 by @fsramalho. - 📝 Fix broken link. PR #835 by @OhioDschungel6.
- 📝 Update package docs with the latest versions of Typer and Poetry. PR #781 by @kinuax.
- 📝 Update the Progress Bar tutorial with correct output. PR #199 by @n1ckdm.
- 📝 Add docs and scripts to test completion in different shells. PR #953 by @tiangolo.
- ✏️ Fix a typo in
docs/virtual-environments.md
. PR #952 by @tiangolo. - ✏️ Fix typo in
docs/contributing.md
. PR #947 by @tiangolo. - 📝 Add docs for virtual environments, environment variables, and update contributing. PR #946 by @tiangolo.
Internal
- 🔨 Pre-install dependencies in Docker so that testing in Docker is faster. PR #954 by @tiangolo.
- ✅ Add
needs_bash
test fixture. PR #888 by @svlandeg. - ⬆ Bump mkdocs-material from 9.5.18 to 9.5.33. PR #945 by @dependabot[bot].
- ⬆ Bump pillow from 10.3.0 to 10.4.0. PR #939 by @dependabot[bot].
- 👷 Fix issue-manager. PR #948 by @tiangolo.
- 🙈 Remove extra line in .gitignore. PR #936 by @tiangolo.
- ⬆ Update pytest-cov requirement from <5.0.0,>=2.10.0 to >=2.10.0,<6.0.0. PR #844 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.9.0. PR #865 by @dependabot[bot].
- ⬆ Update pytest requirement from <8.0.0,>=4.4.0 to >=4.4.0,<9.0.0. PR #915 by @dependabot[bot].
- ⬆ Update pytest-sugar requirement from <0.10.0,>=0.9.4 to >=0.9.4,<1.1.0. PR #841 by @dependabot[bot].