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.0.tar.gz (38.3 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.0-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12Windows x86-64

importee-0.1.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: importee-0.1.0.tar.gz
  • Upload date:
  • Size: 38.3 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.0.tar.gz
Algorithm Hash digest
SHA256 94c88cc55b3a40a710f84af20b8e7a6045831e170a4c4a2bbe719d9436349ce1
MD5 ed04511e5eb3384118748c5832d3673b
BLAKE2b-256 5cd1660f0015406c67d7e1ac16f5de9f3178e474bc50d4e4fd7763ba87680755

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.0.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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: importee-0.1.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4377fecf3bcbbde0c201c4a8e6c3066c0a80c201c369b6848f173cd4216cd285
MD5 0d35de52a6d776f631bfcd653784e11d
BLAKE2b-256 ddb78e67e5024f80f6ead19e5cae65ea88abe46f21211833b91071820abd8f14

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.0-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.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for importee-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c08ba66eb05b6bad33376a0b6992ee20f8c6b7c726d16e7d87eb14fd458dd28a
MD5 b52c8f7cfb98429449eaf243cb66a741
BLAKE2b-256 de11b06ca9fa7cd48c7c941075e9f1919d7ea0058d04d855ba3fc8f272e2c84f

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for importee-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a44181cd83f26fa9e54ad59012c5a8617159ab717421ba264a1c976186a46a4
MD5 3e949dd56c35f337a1b16fb13e0e53cf
BLAKE2b-256 51ceb42fbb6a2b773e8ebccb7006b583fceaca491d159aa08e20a19417e386e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for importee-0.1.0-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