typer

Typer, build great CLIs. Easy to code. Based on Python type hints.

MIT License

Downloads
42.4M
Stars
15.1K
Committers
67

Bot releases are hidden (Show)

typer - 0.12.3 Latest Release

Published by tiangolo 6 months ago

Fixes

  • πŸ› Fix Rich formatting with no commands. PR #796 by @svlandeg.
typer - 0.12.2

Published by tiangolo 6 months ago

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 value None. PR #757 by @Asthestarsfalll.

Docs

  • πŸ”§ Fix typo in Github template. PR #793 by @svlandeg.
  • πŸ“ Fix typos in documentation. PR #761 by @svlandeg.
  • πŸ“ Update console output with Click 8 messages. PR #789 by @svlandeg.
  • πŸ“Β Remove references to a .rst README generated by poetry new. PR #632 by @jonasmmiguel.
typer - 0.12.1

Published by tiangolo 7 months ago

Now you don't need to install typer[all]. When you install typer it comes with the default optional dependencies and the typer command.

If you don't want the extra optional dependencies (rich and shellingham), you can install typer-slim instead.

You can also install typer-slim[standard], which includes the default optional dependencies, but not the typer command.

Now the package typer-cli doesn't add anything on top of what typer has, it only depends on typer, and is there only for backwards compatibility, so that projects that depend on typer-cli can get the latest features of the typer command while they upgrade their dependencies to require typer directly.

Features

  • ✨ Add support for typer ./someprogram.py utils docs --title. PR #782 by @tiangolo.

Fixes

  • πŸ› Fix broken installation when upgrading from typer <0.12.0 to typer >=0.12.0, make typer independent of typer-slim, include typer command in typer package. PR #791 by @tiangolo.

This fixes a problem that would break the typer installation directory when upgrading from typer <0.12.0 to typer >=0.12.0, see issue #790.

By installing the latest version (0.12.1) it fixes it, for any previous version, even if the installation directory was already broken by the previous upgrade.

Internal

  • πŸ‘· Add cron to run test once a week on monday. PR #783 by @estebanx64.
typer - 0.12.0

Published by tiangolo 7 months ago

In version 0.12.0, the typer package depends on typer-slim[standard] which includes the default dependencies (instead of typer[all]) and typer-cli (that provides the typer command).

If you don't want the extra optional dependencies (rich and shellingham), you can install typer-slim instead.

You can also install typer-slim[standard], which includes the default optional dependencies, but not the typer command.

In version 0.12.0 the typer-cli package only provides the typer command, but the code is still in the main code, so even without installing typer-cli, it can be called with python -m typer.

This approach of having typer depend on typer-slim[standard] instead of including the whole code and dependencies itself caused an issue when upgrading from typer <0.12.0 to typer >=0.12.0, see issue #790. This is fixed in version 0.12.1.

Features

  • ✨ Add typer-slim package without extras, make typer include typer-slim[default] and integrate Typer CLI (typer command) into Typer. PR #780 by @tiangolo.

Internal

  • πŸ”§ Temporarily disable social plugin while a MkDocs issue is handled. PR #779 by @tiangolo.
  • πŸ‘· Fix install MkDocs Insiders only when available. PR #778 by @tiangolo.
typer - 0.11.1

Published by tiangolo 7 months ago

Fixes

  • πŸ”§ Explicitly include testing files in sdist for redistributors (e.g. OpenSUSE) and add CI to test redistribution. PR #773 by @tiangolo.

Internal

  • πŸ‘· Do not use the cache for dependencies when publishing to PyPI. PR #774 by @tiangolo.
typer - 0.11.0

Published by tiangolo 7 months ago

Breaking Changes

  • πŸ”§ Refactor package manager, move from Flit to PDM, remove private pip extras for test, doc, dev. PR #764 by @tiangolo.
  • πŸ”₯ Remove support for Click 7, require Click 8+. PR #760 by @tiangolo.
  • πŸ”₯ Remove support for Python 3.6. PR #758 by @tiangolo.

Refactors

  • πŸ”§ Migrate from Black, isort, flake8, autoflake, pyupgrade to Ruff. PR #763 by @tiangolo.

Internal

typer - 0.10.0

Published by tiangolo 7 months ago

Fixes

  • πŸ› Fix default value of None for CLI Parameters when the type is list | None and the default value is None. PR #664 by @theowisear.
typer - 0.9.4

Published by tiangolo 7 months ago

Features

  • ✨ Improve support for CLI translations using gettext. PR #417 by @mjodmj.
typer - 0.9.3

Published by tiangolo 7 months ago

Fixes

  • πŸ› Fix evaluating stringified annotations in Python 3.10 (also from __future__ import annotations). PR #721 by @heckad.
typer - 0.9.2

Published by tiangolo 7 months ago

Fixes

  • πŸ› Fix display of default value for Enum parameters inside of a list, include docs and tests. PR #473 by @asieira.
  • πŸ› Update type annotations for show_default parameter and update docs for setting a "Custom default string". PR #501 by @plannigan.

Docs

  • πŸ“ Add docs and test for no_args_is_help feature. PR #751 by @svlandeg.
typer - 0.9.1

Published by tiangolo 7 months ago

Fixes

  • πŸ› Add missing default_factory in Argument overloads. PR #750 by @m9810223.
  • πŸ› Fix preserving case in enum values. PR #571 by @avaldebe.

Docs

  • πŸ“ Remove obsolete references to --install-completion for typer.run() scripts. PR #595 by @tiangolo.

  • πŸ“ Update docs example for a Typer/Click group to make new subcommands explicit. PR #755 by @svlandeg.

  • πŸ“ Update docs for building a package, file structure example. PR #683 by @davidbgk.

  • πŸ“ Update link in docs to the newest stable version of click. PR #675 by @javier171188.

  • πŸ”§ Add CITATION.cff file for academic citations. PR #681 by @tiangolo.

  • ✏ Fix typo in docs/tutorial/exceptions.md. PR #702 by @menzenski.

  • ✏ Fix typo in docs/tutorial/options/name.md. PR #725 by @bwagner.

  • ✏ Fix typo in docs/tutorial/arguments/optional.md. PR #602 by @tadasgedgaudas.

Internal

  • ⬆ [pre-commit.ci] pre-commit autoupdate. PR #606 by @pre-commit-ci[bot].
  • πŸ‘· Install MkDocs Material Insiders only when secrets are available, for Dependabot. PR #685 by @tiangolo.
  • βš’οΈ Update build-docs.yml, do not zip docs. PR #645 by @tiangolo.
  • πŸ‘· Deploy docs to Cloudflare. PR #644 by @tiangolo.
  • πŸ‘· Upgrade CI for docs. PR #642 by @tiangolo.
  • πŸ‘· Update token for latest changes. PR #635 by @tiangolo.
  • πŸ‘· Update CI workflow dispatch for latest changes. PR #643 by @tiangolo.
  • πŸ‘· Update token for Material for MkDocs Insiders. PR #636 by @tiangolo.
  • πŸ› Fix internal type annotations and bump mypy version. PR #638 by @paulo-raca.
  • πŸ’‘ Add comments to document overload definitions in code. PR #752 by @svlandeg.
  • πŸ”₯ Remove Jina QA Bot as it has been discontinued. PR #749 by @tiangolo.
  • πŸ‘· Update build docs CI cache paths. PR #707 by @tiangolo.
  • πŸ‘· Upgrade latest-changes GitHub Action. PR #691 by @tiangolo.
typer - 0.9.0

Published by tiangolo over 1 year ago

Features

  • ✨ Add support for PEP-593 Annotated for specifying options and arguments. Initial PR #584 by @ryangalamb.
    • New docs: Optional CLI arguments.
    • It is no longer required to pass a default value of ... to mark a CLI Argument or CLI Option as required.
    • It is now recommended to use Annotated for typer.Option() and typer.Argument().
    • All the docs have been updated to recommend Annotated.

Docs

  • πŸ“ Update docs examples for custom param types using Annotated, fix overloads for typer.Argument. PR #594 by @tiangolo.

Internal

typer - 0.8.0

Published by tiangolo over 1 year ago

Features

Upgrades

Docs

  • πŸ“ Tweak docs, Custom Types path, main page and READAME colors, broken links. PR #588 by @tiangolo.
  • ✏ Fix spelling (shinny -> shiny). PR #586 by @runofthemill.
  • πŸ“ Update docs about helping Typer. PR #547 by @tiangolo.
  • ✏️ Fix typo in datetime docs. PR #495 by @huxuan.
  • ✏️ Add quotes to package name that includes brackets in docs. PR #475 by @gjolga.

Internal

typer - 0.7.0

Published by tiangolo almost 2 years ago

Features

Fixes

  • 🎨 Fix type annotation of typer.run(). PR #284 by @yassu.
  • 🎨 Fix type annotations for get_group. PR #430 by @tiangolo.

Docs

  • πŸ“ Add note about how subcommands with function names using underscores are converted to dashes. PR #403 by @targhs.
  • πŸ“ Fix typo in docs at docs/tutorial/commands/help.md. PR #466 by @fepegar.
  • ✏ Fix link in docs to datetime.strptime(). PR #464 by @Kobu.
  • ✏ Update first-steps.md, clarify distinction between parameter and argument. PR #176 by @mccarthysean.
  • ✏ Fix broken plac link. PR #275 by @mgielda.

Internal

typer - 0.6.1

Published by tiangolo over 2 years ago

Fixes

  • πŸ› Fix setting FORCE_TERMINAL with colors 2. PR #424 by @tiangolo.
  • πŸ› Fix setting FORCE_TERMINAL with colors. PR #423 by @tiangolo.
typer - 0.6.0

Published by tiangolo over 2 years ago

This release adds deep integrations with Rich. ✨

rich is an optional dependency, you can install it directly or it will be included when you install with:

$ pip install "typer[all]"

If Rich is available, it will be used to show the content from --help options, validation errors, and even errors in your app (exception tracebacks).

There are new options to group commands, CLI arguments, and CLI options, support for Rich Console Markup, and more! πŸŽ‰

Features

Docs

Internal

  • ⬆️ Upgrade codecov GitHub Action. PR #420 by @tiangolo.
typer - 0.5.0

Published by tiangolo over 2 years ago

Features

  • ✨ Add pretty error tracebacks for user errors and support for Rich. PR #412 by @tiangolo.

Docs

  • ✏ Fix typo, "ASCII codes" to "ANSI escape sequences". PR #308 by @septatrix.
typer - 0.4.2

Published by tiangolo over 2 years ago

Fixes

  • πŸ› Fix type conversion for List and Tuple and their internal types. PR #143 by @hellowhistler.
  • πŸ› Fix context_settings for a Typer app with a single command. PR #210 by @daddycocoaman.

Docs

  • πŸ“ Clarify testing documentation about checking stderr. PR #335 by @cgabard.
  • ✏ Fix typo in docs for CLI Option autocompletion. PR #288 by @graue70.
  • 🎨 Fix header format for "Standard Input" in docs/tutorial/printing.md. PR #386 by @briancohan.
  • ✏ Fix typo in docs/tutorial/terminating.md. PR #382 by @kianmeng.
  • ✏ Fix syntax typo in docs/tutorial/package.md. PR #333 by @ryanstreur.
  • ✏ Fix typo, duplicated word in docs/tutorial/options/required.md.. PR #316 by @michaelriri.
  • ✏ Fix minor typo in index.md. PR #274 by @RmStorm.
  • ✏ Fix double "and" typo in first-steps tutorial. PR #225 by @softwarebloat.
  • 🎨 Fix format in docs explaining datetime parameter type. PR #220 by @DiegoPiloni.

Internal

typer - 0.4.1

Published by tiangolo over 2 years ago

Fixes

  • πŸ› Fix import of get_terminal_size for Click 8.1.0 support and upgrade Black to fix CI. PR #380 by @tiangolo based on original PR #375 by @madkinsz.

Internal

  • πŸ“ Add Jina's QA Bot to the docs to help people that want to ask quick questions. PR #368 by @tiangolo.
  • πŸ’š Only test on push when on master, avoid duplicate CI runs from PRs. PR #358 by @tiangolo.
  • ✨ Add support for previewing docs in PRs from forks and enable MkDocs Insiders. PR #357 by @tiangolo.
  • ⬆️ Upgrade MkDocs Material, MDX-Include, and MkDocs structure. PR #356 by @tiangolo.
  • πŸ‘· Update publish GitHub action. PR #325 by @tiangolo.
typer - 0.4.0

Published by tiangolo about 3 years ago

Features

  • ✨ Add support for Click 8 while keeping compatibility with Click 7. PR #317 by @tiangolo.

Internal