home.social

#cappa — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #cappa, aggregated by home.social.

  1. Raiders 2025: Guard Alex Cappa has ties to general manager John Spytek

    The connection with John Spytek and Alex Cappa is undeniable. Spytek was part of the Tampa Bay Buccaneers…
    #NFL #LasVegasRaiders #LasVegas #Raiders #Alex #and #black #Cappa #Football #front-page #General #guard #has #john #las-vegas-raiders-depth-chart #las-vegas-raiders-roster #manager #pride #silver #spytek #ties #To
    rawchili.com/nfl/218376/

  2. Also, use 😛 Cappa leaves your functions/dataclasses (commands) intact.

    cappa.readthedocs.io/en/latest/

  3. Rewriting an argparse-based CLI with . It's much cleaner:

    - less verbose
    - better contained (single module instead of using submodules for subcommands)
    - better typed (dataclasses!)
    - as reusable, or more reusable in other CLIs (classes instead of functions that modify an argparse parser)
    - much easier to use programmatically (no need to call `main` or build an `argparse.Namespace` manually)
    - better documented
    - better output (rich!)

    github.com/DanCardin/cappa

  4. Rewriting an argparse-based CLI with #Cappa. It's much cleaner:

    - less verbose
    - better contained (single module instead of using submodules for subcommands)
    - better typed (dataclasses!)
    - as reusable, or more reusable in other CLIs (classes instead of functions that modify an argparse parser)
    - much easier to use programmatically (no need to call `main` or build an `argparse.Namespace` manually)
    - better documented
    - better output (rich!)

    github.com/DanCardin/cappa

  5. Rewriting an argparse-based CLI with #Cappa. It's much cleaner:

    - less verbose
    - better contained (single module instead of using submodules for subcommands)
    - better typed (dataclasses!)
    - as reusable, or more reusable in other CLIs (classes instead of functions that modify an argparse parser)
    - much easier to use programmatically (no need to call `main` or build an `argparse.Namespace` manually)
    - better documented
    - better output (rich!)

    github.com/DanCardin/cappa

  6. Rewriting an argparse-based CLI with #Cappa. It's much cleaner:

    - less verbose
    - better contained (single module instead of using submodules for subcommands)
    - better typed (dataclasses!)
    - as reusable, or more reusable in other CLIs (classes instead of functions that modify an argparse parser)
    - much easier to use programmatically (no need to call `main` or build an `argparse.Namespace` manually)
    - better documented
    - better output (rich!)

    github.com/DanCardin/cappa

  7. Rewriting an argparse-based CLI with #Cappa. It's much cleaner:

    - less verbose
    - better contained (single module instead of using submodules for subcommands)
    - better typed (dataclasses!)
    - as reusable, or more reusable in other CLIs (classes instead of functions that modify an argparse parser)
    - much easier to use programmatically (no need to call `main` or build an `argparse.Namespace` manually)
    - better documented
    - better output (rich!)

    github.com/DanCardin/cappa

  8. is awesome. @dancardin does a fantastic job on this project.

    Command descriptions can be written in Markdown and are rendered with , so code blocks are syntax highlighted, and you can even add links. Amazing CLI experience.

    Look at this beauty:

  9. #Cappa is awesome. @dancardin does a fantastic job on this project.

    Command descriptions can be written in Markdown and are rendered with #Rich, so code blocks are syntax highlighted, and you can even add links. Amazing CLI experience.

    Look at this beauty:

  10. #Cappa is awesome. @dancardin does a fantastic job on this project.

    Command descriptions can be written in Markdown and are rendered with #Rich, so code blocks are syntax highlighted, and you can even add links. Amazing CLI experience.

    Look at this beauty:

  11. What a rabbit hole. Even though uses internally, forcing colors with `FORCE_COLOR=1` did not work.

    After a super painful investigation, turns out my code imports a module from which uses `colorama.init()`.

    Changing that to `colorama.just_fix_windows_console()` fixed it, but the output still had an extra reset sequence at the end.

    Turns out Copier imports colors module, which registers a function to reset styles at exit.

    Don't run things at import time!

  12. What a rabbit hole. Even though #Cappa uses #Rich internally, forcing colors with `FORCE_COLOR=1` did not work.

    After a super painful investigation, turns out my #Python code imports a module from #Copier which uses `colorama.init()`.

    Changing that to `colorama.just_fix_windows_console()` fixed it, but the output still had an extra reset sequence at the end.

    Turns out Copier imports #Plumbum colors module, which registers a function to reset styles at exit.

    Don't run things at import time!

  13. What a rabbit hole. Even though #Cappa uses #Rich internally, forcing colors with `FORCE_COLOR=1` did not work.

    After a super painful investigation, turns out my #Python code imports a module from #Copier which uses `colorama.init()`.

    Changing that to `colorama.just_fix_windows_console()` fixed it, but the output still had an extra reset sequence at the end.

    Turns out Copier imports #Plumbum colors module, which registers a function to reset styles at exit.

    Don't run things at import time!

  14. I started sponsoring @dancardin (@[email protected]?) for their great work on , a super elegant declarative CLI argument parser for Python: github.com/DanCardin/cappa. It makes all the right choices, allowing users to build good, reusable CLIs for their libraries, with support!

  15. I started sponsoring @dancardin (@[email protected]?) for their great work on #Cappa, a super elegant declarative CLI argument parser for Python: github.com/DanCardin/cappa. It makes all the right choices, allowing users to build good, reusable CLIs for their libraries, with #Rich support!

  16. I started sponsoring @dancardin (@[email protected]?) for their great work on #Cappa, a super elegant declarative CLI argument parser for Python: github.com/DanCardin/cappa. It makes all the right choices, allowing users to build good, reusable CLIs for their libraries, with #Rich support!

  17. I started sponsoring @dancardin (@[email protected]?) for their great work on #Cappa, a super elegant declarative CLI argument parser for Python: github.com/DanCardin/cappa. It makes all the right choices, allowing users to build good, reusable CLIs for their libraries, with #Rich support!

  18. I started sponsoring @dancardin (@[email protected]?) for their great work on #Cappa, a super elegant declarative CLI argument parser for Python: github.com/DanCardin/cappa. It makes all the right choices, allowing users to build good, reusable CLIs for their libraries, with #Rich support!

  19. puts the finger on what I dislike about : cappa.readthedocs.io/en/latest. I'll try Cappa right now in a new project.

    I was also strongly tempted by (github.com/treykeown/arguably), but Cappa's use of `Annotated` instead of docstrings makes it super attractive given my recent work on supporting PEP 727 (from @tiangolo) with a extension.

  20. #Cappa puts the finger on what I dislike about #Click: cappa.readthedocs.io/en/latest. I'll try Cappa right now in a new project.

    I was also strongly tempted by #arguably (github.com/treykeown/arguably), but Cappa's use of `Annotated` instead of docstrings makes it super attractive given my recent work on supporting PEP 727 (from @tiangolo) with a #Griffe extension.

  21. #Cappa puts the finger on what I dislike about #Click: cappa.readthedocs.io/en/latest. I'll try Cappa right now in a new project.

    I was also strongly tempted by #arguably (github.com/treykeown/arguably), but Cappa's use of `Annotated` instead of docstrings makes it super attractive given my recent work on supporting PEP 727 (from @tiangolo) with a #Griffe extension.