<img src="https://raw.githubusercontent.com/hadialqattan/pycln/master/docs/_media/logo-background.png" width="100%" alt="Logo">
<h2 align="center">
A formatter for finding and removing unused import statements.
</h2>
<p align="center">
<a href="https://hadialqattan.github.io/pycln"><img src="https://img.shields.io/badge/more%20info-Pycln%20Docs-B5FFB3.svg?style=flat-square" alt="Pycln Docs"></a>
<a href="https://github.com/hadialqattan/pycln/actions?query=workflow%3ACI"><img src="https://img.shields.io/github/actions/workflow/status/hadialqattan/pycln/ci.yml?branch=master&label=CI&logo=github&style=flat-square" alt="CI"></a>
<a href="https://github.com/hadialqattan/pycln/actions?query=workflow%3ACD"><img src="https://img.shields.io/github/actions/workflow/status/hadialqattan/pycln/cd.yml?label=CD&logo=github&style=flat-square" alt="CD"></a>
<a href="https://github.com/hadialqattan/pycln/actions?query=workflow%3AFUZZ"><img src="https://img.shields.io/github/actions/workflow/status/hadialqattan/pycln/fuzz.yml?label=FUZZ&logo=github&style=flat-square" alt="FUZZ"></a>
<a href="https://www.codacy.com/manual/hadialqattan/pycln/dashboard?utm_source=github.com&utm_medium=referral&utm_content=hadialqattan/pycln&utm_campaign=Badge_Grade"><img src="https://img.shields.io/codacy/grade/e7c6c290c3c149e484634ac1905800d6/master?style=flat-square" alt="Codacy Badge"></a>
<a href="https://codecov.io/gh/hadialqattan/pycln"><img src="https://img.shields.io/codecov/c/gh/hadialqattan/pycln/master?token=VVYBDCZPHR&style=flat-square" alt="Codecov"></a>
<a href="https://codeclimate.com/github/hadialqattan/pycln/maintainability"><img src="https://img.shields.io/codeclimate/maintainability/hadialqattan/pycln?style=flat-square" alt="Maintainability"></a>
</p>
<p align="center">
<img src="https://img.shields.io/pypi/pyversions/pycln?style=flat-square" alt="PYPI - Python Version">
<a href="https://pypi.org/project/pycln/"><img src="https://img.shields.io/pypi/v/pycln?style=flat-square" alt="PYPI - Pycln Version"></a>
<a href="https://pepy.tech/project/pycln/"><img src="https://static.pepy.tech/personalized-badge/pycln?period=total&units=international_system&left_color=grey&right_color=brightgreen&left_text=total downloads" alt="Total Downloads"></a>
<a href="https://pypi.org/project/pycln/"><img src="https://img.shields.io/pypi/dm/pycln?color=dark-green&style=flat-square" alt="Downloads"></a>
</p>
<p align="center">
<a href="https://github.com/hadialqattan/pycln/fork"><img src="https://img.shields.io/github/forks/hadialqattan/pycln?style=flat-square" alt="Forks"></a>
<a href="https://github.com/hadialqattan/pycln/stargazers"><img src="https://img.shields.io/github/stars/hadialqattan/pycln?style=flat-square" alt="Stars"></a>
<a href="https://github.com/hadialqattan/pycln/issues"><img src="https://img.shields.io/github/issues/hadialqattan/pycln?style=flat-square" alt="Issues"></a>
<a href="https://github.com/hadialqattan/pycln/pulls"><img src="https://img.shields.io/github/issues-pr/hadialqattan/pycln?style=flat-square" alt="Pull Requests"></a>
<a href="https://github.com/hadialqattan/pycln/graphs/contributors"><img src="https://img.shields.io/github/contributors/hadialqattan/pycln?style=flat-square" alt="Contributors"></a>
<a href="https://github.com/hadialqattan/pycln/commits/master"><img src="https://img.shields.io/github/last-commit/hadialqattan/pycln.svg?style=flat-square" alt="Last Commit"></a>
<a href="https://github.com/hadialqattan/pycln/blob/master/LICENSE"><img src="https://img.shields.io/github/license/hadialqattan/pycln.svg?color=A31F34&style=flat-square" alt="License"></a>
</p>
<p align="center">
<a href="https://docutils.sourceforge.io/rst.html"><img src="https://img.shields.io/badge/docstrings-reStructuredText-gree.svg?style=flat-square" alt="Docstrings: reStructuredText"></a>
<a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square" alt="Code style: black"></a>
<a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code%20style-prettier-ff69b4.svg?style=flat-square" alt="Code style: prettier"></a>
</p>
---
**[Read the documentation on Github pages!](https://hadialqattan.github.io/pycln)**
---
## Installation and usage
### Installation
Pycln requires Python 3.6+ and can be easily installed using the most common Python
packaging tools. We recommend installing the latest stable release from PyPI with pip:
```bash
$ pip install pycln
```
### Usage
By **default** Pycln will remove any unused import statement, So the simplest usage is
to specify the path only:
```bash
$ pycln [PATH]
```
Also, it's possible to run `pycln` as a package:
```bash
$ python3 -m pycln [PATH]
```
NOTE: you may need to use `-a/--all` option for more satisfying results. see
[-a/--all flag](https://hadialqattan.github.io/pycln/#/?id=-a-all-flag).
Further information can be found in our docs:
- [Usage and Configuration](https://hadialqattan.github.io/pycln/#/?id=usage)
## Configuration
**Pycln** is able to read project-specific default values for its command line options
from a configuration file like `pyproject.toml` or `setup.cfg`. This is especially
useful for specifying custom CLI arguments/options like `path/paths`, `--include`,
`--exclude`/`--extend-exclude`, or even `--all`.
You can find more details in our documentation:
- [--config [PATH] CLI option](https://hadialqattan.github.io/pycln/#/?id=-config-path-option)
And if you're looking for more general configuration documentation:
- [Usage and Configuration](https://hadialqattan.github.io/pycln/#/?id=usage)
## Used by
The following notable open-source projects trust and use _Pycln_:
- [cibuildwheel](https://github.com/pypa/cibuildwheel)
- [Open Event Server](https://github.com/fossasia/open-event-server)
- [pybind11](https://github.com/pybind/pybind11)
- [pywin32](https://github.com/mhammond/pywin32)
- [Poetry](https://github.com/python-poetry/poetry)
- [Pyodide](https://github.com/pyodide/pyodide)
- [Rich](https://github.com/Textualize/rich)
- [typeshed](https://github.com/python/typeshed)
The following organizations use _Pycln_:
- [FOSSASIA](https://github.com/fossasia)
- [Poetry](https://github.com/python-poetry)
- [Python Packaging Authority](https://github.com/pypa)
- [Scikit-HEP](https://github.com/scikit-hep)
Are we missing anyone? Let us know.
## License
MIT
## Contributing
A big welcome for considering contributing to make the project better!
You can get started by reading this:
- [General guidlines](https://hadialqattan.github.io/pycln/#/CONTRIBUTING?id=general-guidelines)
You can also dive directly into the technicalities:
- [Contributing technicalities](https://hadialqattan.github.io/pycln/#/CONTRIBUTING?id=technicalities)
## Change log
The log has become rather long. It moved to its own file.
See [CHANGELOG](https://hadialqattan.github.io/pycln/#/CHANGELOG).
## Authors
The author list is quite long nowadays, so it lives in its own file.
See [AUTHORS](https://hadialqattan.github.io/pycln/#/AUTHORS)
## Code of Conduct
Everyone participating in the _Pycln_ project, and in particular in the issue tracker,
and pull requests is expected to treat other people with respect.
---
Give a ⭐️ if this project helped you!
Raw data
{
"_id": null,
"home_page": "https://hadialqattan.github.io/pycln",
"name": "pycln",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6.2,<4",
"maintainer_email": "",
"keywords": "formatter,linter,quality-assurance,tools,cli",
"author": "Hadi Alqattan",
"author_email": "alqattanhadizaki@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/45/ff/8311798fcff8856ad0f341b916c162707333f59bb49e1f0d6d60336a71f2/pycln-2.3.0.tar.gz",
"platform": null,
"description": "<img src=\"https://raw.githubusercontent.com/hadialqattan/pycln/master/docs/_media/logo-background.png\" width=\"100%\" alt=\"Logo\">\n\n<h2 align=\"center\">\n A formatter for finding and removing unused import statements.\n</h2>\n\n<p align=\"center\">\n <a href=\"https://hadialqattan.github.io/pycln\"><img src=\"https://img.shields.io/badge/more%20info-Pycln%20Docs-B5FFB3.svg?style=flat-square\" alt=\"Pycln Docs\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/actions?query=workflow%3ACI\"><img src=\"https://img.shields.io/github/actions/workflow/status/hadialqattan/pycln/ci.yml?branch=master&label=CI&logo=github&style=flat-square\" alt=\"CI\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/actions?query=workflow%3ACD\"><img src=\"https://img.shields.io/github/actions/workflow/status/hadialqattan/pycln/cd.yml?label=CD&logo=github&style=flat-square\" alt=\"CD\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/actions?query=workflow%3AFUZZ\"><img src=\"https://img.shields.io/github/actions/workflow/status/hadialqattan/pycln/fuzz.yml?label=FUZZ&logo=github&style=flat-square\" alt=\"FUZZ\"></a>\n <a href=\"https://www.codacy.com/manual/hadialqattan/pycln/dashboard?utm_source=github.com&utm_medium=referral&utm_content=hadialqattan/pycln&utm_campaign=Badge_Grade\"><img src=\"https://img.shields.io/codacy/grade/e7c6c290c3c149e484634ac1905800d6/master?style=flat-square\" alt=\"Codacy Badge\"></a>\n <a href=\"https://codecov.io/gh/hadialqattan/pycln\"><img src=\"https://img.shields.io/codecov/c/gh/hadialqattan/pycln/master?token=VVYBDCZPHR&style=flat-square\" alt=\"Codecov\"></a>\n <a href=\"https://codeclimate.com/github/hadialqattan/pycln/maintainability\"><img src=\"https://img.shields.io/codeclimate/maintainability/hadialqattan/pycln?style=flat-square\" alt=\"Maintainability\"></a>\n</p>\n\n<p align=\"center\">\n <img src=\"https://img.shields.io/pypi/pyversions/pycln?style=flat-square\" alt=\"PYPI - Python Version\">\n <a href=\"https://pypi.org/project/pycln/\"><img src=\"https://img.shields.io/pypi/v/pycln?style=flat-square\" alt=\"PYPI - Pycln Version\"></a>\n <a href=\"https://pepy.tech/project/pycln/\"><img src=\"https://static.pepy.tech/personalized-badge/pycln?period=total&units=international_system&left_color=grey&right_color=brightgreen&left_text=total downloads\" alt=\"Total Downloads\"></a>\n <a href=\"https://pypi.org/project/pycln/\"><img src=\"https://img.shields.io/pypi/dm/pycln?color=dark-green&style=flat-square\" alt=\"Downloads\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/hadialqattan/pycln/fork\"><img src=\"https://img.shields.io/github/forks/hadialqattan/pycln?style=flat-square\" alt=\"Forks\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/stargazers\"><img src=\"https://img.shields.io/github/stars/hadialqattan/pycln?style=flat-square\" alt=\"Stars\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/issues\"><img src=\"https://img.shields.io/github/issues/hadialqattan/pycln?style=flat-square\" alt=\"Issues\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/pulls\"><img src=\"https://img.shields.io/github/issues-pr/hadialqattan/pycln?style=flat-square\" alt=\"Pull Requests\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/graphs/contributors\"><img src=\"https://img.shields.io/github/contributors/hadialqattan/pycln?style=flat-square\" alt=\"Contributors\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/commits/master\"><img src=\"https://img.shields.io/github/last-commit/hadialqattan/pycln.svg?style=flat-square\" alt=\"Last Commit\"></a>\n <a href=\"https://github.com/hadialqattan/pycln/blob/master/LICENSE\"><img src=\"https://img.shields.io/github/license/hadialqattan/pycln.svg?color=A31F34&style=flat-square\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://docutils.sourceforge.io/rst.html\"><img src=\"https://img.shields.io/badge/docstrings-reStructuredText-gree.svg?style=flat-square\" alt=\"Docstrings: reStructuredText\"></a>\n <a href=\"https://github.com/psf/black\"><img src=\"https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square\" alt=\"Code style: black\"></a>\n <a href=\"https://github.com/prettier/prettier\"><img src=\"https://img.shields.io/badge/code%20style-prettier-ff69b4.svg?style=flat-square\" alt=\"Code style: prettier\"></a>\n</p>\n\n---\n\n**[Read the documentation on Github pages!](https://hadialqattan.github.io/pycln)**\n\n---\n\n## Installation and usage\n\n### Installation\n\nPycln requires Python 3.6+ and can be easily installed using the most common Python\npackaging tools. We recommend installing the latest stable release from PyPI with pip:\n\n```bash\n$ pip install pycln\n```\n\n### Usage\n\nBy **default** Pycln will remove any unused import statement, So the simplest usage is\nto specify the path only:\n\n```bash\n$ pycln [PATH]\n```\n\nAlso, it's possible to run `pycln` as a package:\n\n```bash\n$ python3 -m pycln [PATH]\n```\n\nNOTE: you may need to use `-a/--all` option for more satisfying results. see\n[-a/--all flag](https://hadialqattan.github.io/pycln/#/?id=-a-all-flag).\n\nFurther information can be found in our docs:\n\n- [Usage and Configuration](https://hadialqattan.github.io/pycln/#/?id=usage)\n\n## Configuration\n\n**Pycln** is able to read project-specific default values for its command line options\nfrom a configuration file like `pyproject.toml` or `setup.cfg`. This is especially\nuseful for specifying custom CLI arguments/options like `path/paths`, `--include`,\n`--exclude`/`--extend-exclude`, or even `--all`.\n\nYou can find more details in our documentation:\n\n- [--config [PATH] CLI option](https://hadialqattan.github.io/pycln/#/?id=-config-path-option)\n\nAnd if you're looking for more general configuration documentation:\n\n- [Usage and Configuration](https://hadialqattan.github.io/pycln/#/?id=usage)\n\n## Used by\n\nThe following notable open-source projects trust and use _Pycln_:\n\n- [cibuildwheel](https://github.com/pypa/cibuildwheel)\n- [Open Event Server](https://github.com/fossasia/open-event-server)\n- [pybind11](https://github.com/pybind/pybind11)\n- [pywin32](https://github.com/mhammond/pywin32)\n- [Poetry](https://github.com/python-poetry/poetry)\n- [Pyodide](https://github.com/pyodide/pyodide)\n- [Rich](https://github.com/Textualize/rich)\n- [typeshed](https://github.com/python/typeshed)\n\nThe following organizations use _Pycln_:\n\n- [FOSSASIA](https://github.com/fossasia)\n- [Poetry](https://github.com/python-poetry)\n- [Python Packaging Authority](https://github.com/pypa)\n- [Scikit-HEP](https://github.com/scikit-hep)\n\nAre we missing anyone? Let us know.\n\n## License\n\nMIT\n\n## Contributing\n\nA big welcome for considering contributing to make the project better!\n\nYou can get started by reading this:\n\n- [General guidlines](https://hadialqattan.github.io/pycln/#/CONTRIBUTING?id=general-guidelines)\n\nYou can also dive directly into the technicalities:\n\n- [Contributing technicalities](https://hadialqattan.github.io/pycln/#/CONTRIBUTING?id=technicalities)\n\n## Change log\n\nThe log has become rather long. It moved to its own file.\n\nSee [CHANGELOG](https://hadialqattan.github.io/pycln/#/CHANGELOG).\n\n## Authors\n\nThe author list is quite long nowadays, so it lives in its own file.\n\nSee [AUTHORS](https://hadialqattan.github.io/pycln/#/AUTHORS)\n\n## Code of Conduct\n\nEveryone participating in the _Pycln_ project, and in particular in the issue tracker,\nand pull requests is expected to treat other people with respect.\n\n---\n\nGive a \u2b50\ufe0f if this project helped you!\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A formatter for finding and removing unused import statements.",
"version": "2.3.0",
"project_urls": {
"Homepage": "https://hadialqattan.github.io/pycln",
"Repository": "https://github.com/hadialqattan/pycln"
},
"split_keywords": [
"formatter",
"linter",
"quality-assurance",
"tools",
"cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5271f294e03a53489903fef23c2b20b71df2eb4b834cc7fb75be896d986f78d5",
"md5": "ef7d5bf2845dad0b12580a75cc97034c",
"sha256": "d6731e17a60728b827211de2ca4bfc9b40ea1df99a12f3e0fd06a98a0c9e6caa"
},
"downloads": -1,
"filename": "pycln-2.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ef7d5bf2845dad0b12580a75cc97034c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.2,<4",
"size": 39995,
"upload_time": "2023-10-14T18:32:13",
"upload_time_iso_8601": "2023-10-14T18:32:13.770783Z",
"url": "https://files.pythonhosted.org/packages/52/71/f294e03a53489903fef23c2b20b71df2eb4b834cc7fb75be896d986f78d5/pycln-2.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "45ff8311798fcff8856ad0f341b916c162707333f59bb49e1f0d6d60336a71f2",
"md5": "97a15d3a7cee1e9b5b05e284aa221863",
"sha256": "8759b36753234c8f95895a31dde329479ffed2218f49d1a1c77c7edccc02e09b"
},
"downloads": -1,
"filename": "pycln-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "97a15d3a7cee1e9b5b05e284aa221863",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.2,<4",
"size": 35529,
"upload_time": "2023-10-14T18:32:15",
"upload_time_iso_8601": "2023-10-14T18:32:15.870170Z",
"url": "https://files.pythonhosted.org/packages/45/ff/8311798fcff8856ad0f341b916c162707333f59bb49e1f0d6d60336a71f2/pycln-2.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-14 18:32:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hadialqattan",
"github_project": "pycln",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pycln"
}