$npx skillfedfor your agent

import-linter

Lint your Python architecture

Worth itPyPI UtilitiesReleased Jul 202613.5M downloads / moBSD 2-Clause LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — import_linter-2.13-py3-none-any.whl
v2.13 · released 2026-07-03 · Python >=3.10 · 5 runtime deps: click, grimp, rich, tomli, typing-extensions

Yes. Import Linter is production-stable, actively maintained, has no known vulnerabilities, and solves a real problem—keeping Python module dependencies clean and intentional. The low install friction and permissive license make it a straightforward addition to any project that values architectural clarity. Install it if you want to enforce import rules or explore package structure.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Low friction installation with a pure-Python wheel and minimal dependencies.
  • Active maintenance with a recent release (42 days ago) and steady community interest (1135 stars).

License · maintenance · safety

BSD 2-Clause License (permissive) — BSD 2-Clause License is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license text.

last release 2026-07-03 (42 days) · last repo commit 2026-08-11 · 1,135 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 13,487,925 downloads/mo, #1,279 on PyPI

Verify before relying

pip install import-linter

import_linter lint
  • Whether the browser UI requires additional system dependencies or a running server process beyond the CLI.
  • Performance characteristics when analyzing large Python codebases or deeply nested package structures.
Same gist for agents: .md · .json

What it is and what it does

Import Linter is a linting tool that lets you define and enforce rules about which Python modules can import from which other modules. Instead of discovering architectural violations at runtime or code review, you declare your intended module boundaries upfront—for example, 'domain logic must not import from UI'—and the linter checks your codebase against those rules. It's useful for maintaining clean separation of concerns in larger projects.

Beyond the command-line linter, it includes a browser-based interface for exploring your package's import graph interactively. The tool depends on click for CLI handling, grimp for import graph analysis, rich for terminal output formatting, tomli for configuration parsing, and typing-extensions for type hints. It requires Python 3.10 or later and runs on Windows, POSIX, and Unix systems.

Use it for

  • Enforce layered architecture rules (e.g., controllers cannot import from models directly) in a web framework project.
  • Prevent circular dependencies by declaring which modules are allowed to depend on which others.
  • Visualize and explore the import graph of an unfamiliar Python package to understand its structure.
  • Integrate import linting into CI/CD pipelines to catch architectural violations before merge.
  • Document intended module boundaries as executable constraints rather than prose guidelines.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Import Linter is production-stable, actively maintained, has no known vulnerabilities, and solves a real problem—keeping Python module dependencies clean and intentional. The low install friction and permissive license make it a straightforward addition to any project that values architectural clarity. Install it if you want to enforce import rules or explore package structure.

Install

import-linter on PyPI

Before you install

Low friction installation with a pure-Python wheel and minimal dependencies. Active maintenance with a recent release (42 days ago) and steady community interest (1135 stars).

Requires Python 3.10 or later.

License in practice

BSD 2-Clause License is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license text.

Quickstart

pip install import-linter

import_linter lint

Verify before relying

  • Whether the browser UI requires additional system dependencies or a running server process beyond the CLI.
  • Performance characteristics when analyzing large Python codebases or deeply nested package structures.

Package facts

LicenseBSD 2-Clause License permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
5 packages
clickgrimprichtomlityping-extensions
MaintenanceActively maintained 42 days since the last release
Last repo commit
First released
Downloads13,487,925 / month, #1,279 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Utilities

Evidence: import_linter-2.13-py3-none-any.whl

Tags

Capabilities
python import constraintsarchitecture lintingmodule dependency rulespython code structure validationimport graph visualizationenforce import policiespython architecture explorer
Topics
architecture-validationimport-graphcode-quality

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “python import constraints”

  • import-linterImport Linter enforces architectural constraints on Python module…
  • lazy-loaderLazy-loader defers the import of subpackages and external libraries…
  • pyddqPyDDQ is a Python API for running data quality constraint checks on…

Give your agent the search over MCP, or paste the wish link into any chat.

More Utilities packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
charset-normalizer Worth it
PyPI · Utilities · released Aug 2026

Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.

permissive licensepure Python · 3.7+
1.7Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
Pygments Worth it
PyPI · Utilities · released Mar 2026

Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.

Install it if you need to display or transform source code.

BSD-2-Clausepure Python · 3.9+
1.3Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo

See also PyTestArch · tach · pytest-archon · lintrunner · pysen · gitlint-core · grimp · lintrunner-adapters · pylint-quotes · strict-kwargs