Comments (1)
Cloup is meant to be used in tandem with Click, it's not a replacement for Click. You can use Click types as you do with Click:
import click
import cloup
@cloup.command()
@cloup.option('-o', '--out', type=click.File(...))
def f(out):
...
More in general, what you can do with Click, you can do with Cloup too, because Cloup commands are Click commands (subclasses) and Cloup parameters are Click parameters.
Note that, even though Cloup has Click as a dependency, you should explicitly add Click to your requirements too because you are gonna use it directly in your code (usually only for types). I'll add this to the installation instructions.
Currently, there's no plan to re-export Click types from Cloup itself. But it's something I've thoght about in the past. Maybe I'll open an issue to keep that in mind because types are usually the only reason I import click.
from cloup.
Related Issues (20)
- Minor language issue in documentation HOT 3
- Optional parenthesis for `@command` and `@option` HOT 5
- Require one constraint prevents subcommand help from working HOT 5
- Consider renaming __constraints to __cloup_constraints__ HOT 4
- Test for Python 3.11
- Pytest: replace deprecated `pytest.warns(None)` with something else
- Rename `sorted` attribute of `Section` to `is_sorted` to solve conflict with `Section.sorted` static method HOT 6
- Use ruff and a code formatter HOT 1
- mutually_exclusive constraint doesn't work with multiple flags with flag_value HOT 1
- Styling of aliases HOT 1
- Custom MultiCommands (with styling) HOT 3
- Over-highlighting of heading's extra space HOT 2
- Change `HelpTheme` type to allow sub-classing HOT 3
- `cloup.Group` ignores `command_class` to produce sub-commands HOT 9
- Exception when creating copy of `Option` object with `Constraint` HOT 5
- Consider adding support to async commands
- Aliases not added if `Group` is initialized with a list of commands HOT 2
- Overwrite `to_info_dict()` method in `Context` and command classes HOT 3
- Drop support for python 3.7, add it for 3.12
- `cloup.Color` cannot be rendered by Sphinx: `Exception: you can't set attributes on this class` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cloup.