Metadata-Version: 2.1
Name: import_future_annotations
Version: 0.1.0
Summary: Add import responsible for postponed evaluation of annotations to python files
Home-page: https://github.com/mbroton/import-future-annotations
Author: Michal Broton
Author-email: michal@broton.dev
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

# import-future-annotations

Tool that checks presence of import `from __future__ import annotations` in python files and adds it if it's missing.

## Installation

```
pip install import-future-annotations
```

## Usage

`import-future-annotations` takes filenames as positional arguments.

Additional options:
- `--check-only`: Don't modify files, only check. If script is applicable to any given file, the exit status code will be 1.
- `--allow-empty`: Add import to empty python files aswell.

## As a pre-commit hook

See [pre-commit](https://github.com/pre-commit/pre-commit) for instructions

Sample `.pre-commit-config.yaml`:
```yaml
-   repo: https://github.com/mbroton/import-future-annotations
    rev: v0.1.0
    hooks:
    -   id: import-future-annotations
```


## How does it work?

`file.py` before:
```python
import os
import sys

...
```
Run pre-commit hook or execute command:
```bash
> import-future-annotations file.py
Adding annotations import to file.py
```
`file.py` after:
```diff
+ from __future__ import annotations
import os
import sys
```
It will be added always on top of the file.
It won't add any blank lines, so I suggest to use/place it before [`reorder_python_imports`](https://github.com/asottile/reorder_python_imports) hook.
