Closed bckohan closed 8 months ago
@bckohan Thank you for submitting this to us. I saw this pass by on Mastodon, and I both starred it and queued it up for the newsletter this week. Very cool.
I realize the newness of this library might be a reason for caution.
This is 100% my concern, and it's nothing personal. I'd prefer to revisit it in a few months. I don't expect you to need dozens of releases or anything absurd, but more or less, we want to avoid adding something that becomes a one-off.
I think "why does django-click not support typer?" is a good enough reason to merge this.
Thanks again for the contribution and for writing it.
Add django-typer app and include a link to click.
name: Add django-typer about: Suggest a new Django project for the Awesome Django list title: "[NEW] django-typer"
Project Information
Project Name: django-typer
Project URL: https://github.com/bckohan/django-typer
Description:
Provides a TyperCommand class that extends from BaseCommand and allows devs to define their Django management commands using type hints via the Typer library. Includes a management command installer that adds shell tab completion support to both normal Django commands and TyperCommands for bash, zsh, fish and powershell.
Criteria
Please answer the following questions about the project you are submitting. This will help us evaluate if the project should be included in the Awesome Django list.
Is the project new?
How long has the project been maintained? 4 months of active development and beta releases to get to production/stable.
How many releases has it had if it's a library or package? 7 beta releases, 1 production/stable release: https://django-typer.readthedocs.io/en/latest/changelog.html
Are you the author or are you submitting the project on behalf of a company?
What makes it awesome?
Conversion both ways BaseCommand <-> TyperCommand is easy because of the interface compatibility.
Additional Information
Python has been changing under Django's feet and this has led to a lot of talk about Django being "long in the tooth". Fortunately Python also makes it easy to fit square pegs into round holes and I think this library is a good example of how you can seamlessly marry the new with the old to bring Django into the future without breaking the legacy code that a significant portion of our web runs on.
I realize the newness of this library might be a reason for caution. I've already incorporated it as a dependency into 3 professional projects and two personal ones I'm responsible for and that will have ongoing funding long into the future - so unless I get hit by the proverbial bus it will be supported. I've also integrated it with another Django package I've been maintaining for the last 3 years.