Makes typed arguments Optional when the default argument is None
Project description
Auto-optional
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
Noneparameter implies anOptionaltype.
Install
Install with pip install auto-optional.
Run
After installing you can run auto-optional using auto-optional [path] (path is an optional argument).
Things of note
Things that are handled well
- Existing imports are reused.
import asstatements are properly handled.
Things that need improvement
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file auto-optional-0.1.7.tar.gz.
File metadata
- Download URL: auto-optional-0.1.7.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.8.11 Linux/5.8.0-1040-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e7ae70fd2594b1839985bc5e8f0d1e938d2a7eb1dba94505befe6cfd4255e75
|
|
| MD5 |
f84a9087c90b788133bd22abafbed1ad
|
|
| BLAKE2b-256 |
0af88c218003edaf7e2839e1911f6466692a3598e85c932a2b48c424c431e58e
|
File details
Details for the file auto_optional-0.1.7-py3-none-any.whl.
File metadata
- Download URL: auto_optional-0.1.7-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.8.11 Linux/5.8.0-1040-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b84b310ae8487fe07fcc1fb13b563bb4090ef6c4ca93508e84c1d3f1f347f54c
|
|
| MD5 |
202e3bd8aa52a48f120b6c4f8e26b8f2
|
|
| BLAKE2b-256 |
32cc6bae4e01ccd81f2882b5b057a949de3a863372d74baf7d5f69aa0718fdaf
|