python tool that will fix your missing imports
Project description
PyFix-Imports
WIP Python library which fixes missing imports, It automatically fixes missing imports by importing them I mostly wrote this to learn more about python, and wanted to make something with.
https://github.com/Rishabh672003/fix-imports/assets/53911515/941f0b59-a4d0-498f-89a4-0104a2eae92f
Installation
Just run pip install pyfix-imports
Usage
Just running pyfix-imports <FILENAME>
will just print the fixed code to the stdout.
If you want to update the file in-place use the -f/--fix option pyfix-imports -c <FILENAME>
Configuration
The default configuration file should be placed in $XDG_CONFIG_HOME/pyfix-imports/config.toml
or you can place your config file anywhere and just provide the path to the command fix-imports -c <Path>
the structure should be like this
"tf" = "import tensorflow as tf"
"plt" = "import matplotlib.pyplot as plt"
"isprime" = "from sympy import isprime"
How I use it
As they say necessity is the mother of invention, also python language server like, pyright and pylsp don't do that good of a job, that gave me the motivation to made this. I use this with the conjunction of black and isort within my neovim with conform.nvim you can also use it just put this in your conform setup
require("conform").setup({
formatters_by_ft = {
python = { "pyfix_imports", "black", "isort" },
formatters = {
pyfix_imports = {
command = "pyfix-imports",
args = { "$FILENAME" },
cwd = require("conform.util").root_file({ "requirements.txt", "pyproject.toml" }),
},
})
References
I took many projects for reference/code
- autoimport I could have just used this, but I wanted to make something so took it as a reference and made this. I didn't took that much code from it, but yes as someone who has never made a decent size python project it was really helpful
- autoflake I wanted to use pyflakes to get the errors in code, and this one had great implementation of pyflake api.
- pyflakes Used this to get all the errors for undefined names.
- click Used this to make the command-line interface
- pdm Used this to structure and manage dependency for the project
- xdg-base-dirs Used this to get the config file
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 pyfix_imports-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 560438b2a86953a3171f9ea42f769cae00ad32e9ea822905d3cf4adbc13d8bb2 |
|
MD5 | e3dd8bfd21574d98ce792c6e63b3c016 |
|
BLAKE2b-256 | 00cae30bbe1b20cbd46ff6446b5eed555a5abfd2a426904b4252d7aff1b77da0 |