Skip to content

Instantly share code, notes, and snippets.

@jefftriplett
Last active December 8, 2023 19:22
Show Gist options
  • Save jefftriplett/b946af97ccc1a59c0fb116f506c5a353 to your computer and use it in GitHub Desktop.
Save jefftriplett/b946af97ccc1a59c0fb116f506c5a353 to your computer and use it in GitHub Desktop.
What `hello.py world` looks like in vanilla python, as a django management command, and using the Typer library to show a basic example of using Python Types.
import sys
def main():
# Check if a name argument is provided
if len(sys.argv) > 1:
name = sys.argv[1]
else:
name = "World" # Default name if no argument is provided
print(f"Hello, {name}!")
if __name__ == "__main__":
main()
from django.core.management.base import BaseCommand, CommandError
import argparse
class Command(BaseCommand):
def add_arguments(self, parser):
parser.add_argument('name', nargs='?', type=str, default='World')
def handle(self, *args, **options):
name = options['name']
print(f'Hello, {name}!')
import typer
def main(name: str = "World"):
print(f"Hello, {name}!")
if __name__ == "__main__":
typer.run(main)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment