Releases: fastapi/typer
Releases · fastapi/typer
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: {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].
0.12.4
Features
- ✨ Add support for Python 3.12, tests in CI and official marker. PR #807 by @ivantodorovich.
Fixes
- 🐛 Fix support for
UnionType
(e.g.str | None
) with Python 3.11. PR #548 by @jonaslb. - 🐛 Fix
zsh
autocompletion installation. PR #237 by @alexjurkiewicz. - 🐛 Fix usage of
Annotated
with future annotations in Python 3.7+. PR #814 by @ivantodorovich. - 🐛 Fix
shell_complete
not working for Arguments. PR #737 by @bckohan.
Docs
- 📝 Update docs links, from tiangolo to new fastapi org. PR #919 by @tiangolo.
- 📝 Add docs for team and repo management. PR #917 by @tiangolo.
Internal
- 🔧 Add URLs to
pyproject.toml
, show up in PyPI. PR #931 by @tiangolo. - 👷 Do not sync labels as it overrides manually added labels. PR #930 by @tiangolo.
- 👷 Update labeler GitHub Action to add only one label. PR #927 by @tiangolo.
- 👷 Update labeler GitHub Actions permissions and dependencies. PR #926 by @tiangolo.
- 👷 Add GitHub Action label-checker. PR #925 by @tiangolo.
- 👷 Add GitHub Action labeler. PR #924 by @tiangolo.
- 👷 Add GitHub Action add-to-project. PR #922 by @tiangolo.
- 🔨 Update docs.py script to enable dirty reload conditionally. PR #918 by @tiangolo.
- 🔧 Update MkDocs previews. PR #916 by @tiangolo.
- 👷 Upgrade build docs configs. PR #914 by @tiangolo.
- 🔧 Update MkDocs to have titles in Markdown files instead of config. PR #913 by @tiangolo.
- 👷 Add alls-green for test-redistribute. PR #911 by @tiangolo.
- 👷 Update docs-previews to handle no docs changes. PR #912 by @tiangolo.
- 👷🏻 Show docs deployment status and preview URLs in comment. PR #910 by @tiangolo.
- 🔧 Enable auto dark mode from system. PR #908 by @tiangolo.
- 💄 Add dark mode logo. PR #907 by @tiangolo.
- 🔧 Update tabs and admonitions with new syntax and new MkDocs features. PR #906 by @tiangolo.
- 🔧 Enable MkDocs Material features. PR #905 by @tiangolo.
- 🔧 Enable dark mode for docs. PR #904 by @tiangolo.
- ➖ Do not install jieba for MkDocs Material as there are no chinese translations. PR #903 by @tiangolo.
- 🙈 Add MkDocs Material cache to gitignore. PR #902 by @tiangolo.
- 🔨 Update lint script. PR #901 by @tiangolo.
- 🔧 Update MkDocs configs and docs build setup. PR #900 by @tiangolo.
- ⬆ Bump actions/cache from 3 to 4. PR #839 by @dependabot[bot].
- 🍱 Update Typer icon and logo. PR #899 by @tiangolo.
- 👷 Update issue-manager.yml GitHub Action permissions. PR #897 by @tiangolo.
- 👷 Refactor GitHub Action to comment docs deployment URLs and update token, preparing for GitHub org. PR #896 by @tiangolo.
- 🔨 Update docs Termynal scripts to not include line nums for local dev. PR #882 by @tiangolo.
- ⬆ Bump black from 23.3.0 to 24.3.0. PR #837 by @dependabot[bot].
- ⬆ Bump pillow from 10.1.0 to 10.3.0. PR #836 by @dependabot[bot].
- ✅ Add CI configs to run tests on Windows and MacOS. PR #824 by @svlandeg.
- 👷 Update GitHub Actions to upload and download artifacts. PR #829 by @tiangolo.
- 👷 Tweak CI for test-redistribute, add needed env vars for slim. PR #827 by @tiangolo.
- ✅ Generalize test suite to run on Windows. PR #810 by @svlandeg.
- ✅ Add
__init__.py
files to fix test suite. PR #809 by @svlandeg. - 🔧 Update MkDocs Material, enable plugins. PR #813 by @tiangolo.
- 🔧 Tweak development scripts and configs after migration to PDM, Ruff, etc.. PR #797 by @tiangolo.
0.12.3
0.12.2
Features
- ✨ Improve column help display, ensure commands column width is the same on all panels. PR #567 by @ssbarnea.
Fixes
- 🐛 Add support for an argument of type
Optional[Tuple]
and default valueNone
. PR #757 by @Asthestarsfalll.