Makes typed arguments Optional when the default argument is None
Project description
auto-optional: Makes typed arguments Optional when the default argument is None.
Documentation: auto-optional.daanluttik.nl
Source Code: github.com/luttik/auto-optional
What does auto-optional do?
The basic purpose of auto-optional is ensuring that whenever a default argument is None
the type annotation is Optional.
For example:
def foo(bar: str = None):
...
Would turn into
from typing import Optional
def foo(bar: Optional[str] = None):
...
Why would you want this
- Easily modify external libraries that didn't pay attention to proper use of optional to improve mypy linting.
- Force consistency in your own code-base:
Enforcing that
None
parameter implies anOptional
type.
Install
Install with pip install auto-optional
.
Run
After installing you can run auto-optional using auto-optional [path]
(path is an optional argument).
Properties
- Existing imports are reused.
import as
statements are properly handled.
Things of note
For all these points you can leave a thumbs-up if you want it. Also, I welcome pull-requests for these issues.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for auto_optional-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bccb57b41ca88ad7348a4f34c6d4b237bac48de133f539c6e318547e350f41d8 |
|
MD5 | a21f4850e8a0e390fc20ecf3ebdca633 |
|
BLAKE2b-256 | 77f70d1954886e73f7ee884228fcb89cb31393284ec6b5588a17d6af9acfaccb |