Skip to content

Add Import Linter - #1428

Closed
seddonym wants to merge 1 commit into
vinta:masterfrom
seddonym:import-linter
Closed

Add Import Linter#1428
seddonym wants to merge 1 commit into
vinta:masterfrom
seddonym:import-linter

Conversation

@seddonym

@seddonym seddonym commented Nov 6, 2019

Copy link
Copy Markdown

What is this Python project?

Import Linter is a command line tool to check that you are following a self-imposed architecture within your Python project. It does this by analysing the imports between all the modules in one or more Python packages, and compares this against a set of rules that you provide in a configuration file.

The configuration file contains one or more 'contracts'. Each contract has a specific type, which determines the sort of rules it will apply. For example, the forbidden contract type allows you to check that certain modules or packages are not imported by parts of your project.

Import Linter is particularly useful if you are working on a complex codebase within a team, when you want to enforce a particular architectural style. In this case you can add Import Linter to your deployment pipeline, so that any code that does not follow the architecture will fail tests.

If there isn't a built in contract type that fits your desired architecture, you can define a custom one.

What's the difference between this Python project and similar ones?

I'm not aware of anything similar.

--

Anyone who agrees with this pull request could vote for it by adding a 👍 to it, and usually, the maintainer will merge it when votes reach 20.

@stale stale Bot added the stale label Dec 6, 2019
@stale stale Bot closed this Dec 6, 2019
This was referenced Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant