Skip to main content

Python import checker with Rust backend

Project description

Importee

Python import checker with Rust backend. Checks import ordering rules in Python projects.

Features

  • Rust-powered import analysis
  • Configurable via pyproject.toml
  • Linear ordering rules for enforcing module dependencies
  • CLI interface

Installation

From PyPI

pip install importee

From Snap Store

snap install importee

From Source

git clone https://github.com/yourusername/importee.git
cd importee
pip install maturin
maturin develop

Quick Start

Check your project's imports:

importee check

Configuration is done via pyproject.toml:

[tool.importee]
source_module = ["myproject"]

[tool.importee.rules.linear]
order = ["models", "utils", "api", "cli"]

Configuration

Importee reads configuration from your pyproject.toml file. Here's what you can configure:

Basic Configuration

[tool.importee]
# Modules to check
source_module = ["myapp"]

Linear Ordering Rules

Enforce a specific order for imports within your project:

[tool.importee.rules.linear]
# Modules must be imported in this order
order = ["config", "database", "models", "services", "api"]

This ensures that modules listed earlier in the order cannot import from modules listed later.

Development

Prerequisites

  • Python 3.9+
  • Rust 1.70+
  • Maturin

Building

# Development build
make dev

# Clean rebuild
make rebuild

Running Tests

pytest tests/

License

[Add your license here]

Deployment

See DEPLOYMENT.md for information on releasing and deploying this project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

importee-0.1.3.tar.gz (38.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

importee-0.1.3-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12Windows x86-64

importee-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

importee-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file importee-0.1.3.tar.gz.

File metadata

  • Download URL: importee-0.1.3.tar.gz
  • Upload date:
  • Size: 38.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for importee-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0dd2f63d44884130b19acb5bfccdaca2f637b4fcc785e49d002f08ce2eb7ae24
MD5 a00b55b5356918a52938213171dc8466
BLAKE2b-256 3fe7b3baf2f2db729ed3f09f4007c83bde36f0aed111f40feb82f0b153f2d1ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.3.tar.gz:

Publisher: publish.yml on NathanDuboisset/importee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file importee-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: importee-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for importee-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 db7360dd0126bdb4369496072f93fc22a08763d75feb96cda24aa45c9e5040f7
MD5 5759dc4a6fa1d9d41529741b64f8a7d7
BLAKE2b-256 8b399280f534bbbc3feff903236d4208006e792b900b9c768428b0af42d60189

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on NathanDuboisset/importee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file importee-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for importee-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6ab78c914fef6300e892424a4bebeab183f7fc2226449cbfa0e30d66dbd84796
MD5 b15fb059543c83eec4d0d219a97815f6
BLAKE2b-256 a98a69d94535f477d46574c1c4fa3d8d052dd7231d79f4b3c5395cf90ab07ddb

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on NathanDuboisset/importee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file importee-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for importee-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1241930ef3e2fa39515ea69a1f174f35fa09956e870e2e8dfd24bcbf72f37443
MD5 4c730b70d402d9a77e7059d9783454c7
BLAKE2b-256 7c0afab6004179dc3626a75cd137ad6e53fa100013993a8e57a114261de688a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on NathanDuboisset/importee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page