importee


Nameimportee JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryPython import checker with Rust backend
upload_time2025-11-02 08:58:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords linter imports python rust code-quality
VCS
bugtrack_url
requirements click tomli
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```bash
pip install importee
```

### From Snap Store

```bash
snap install importee
```

### From Source

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

## Quick Start

Check your project's imports:

```bash
importee check
```

Configuration is done via `pyproject.toml`:

```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

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

### Linear Ordering Rules

Enforce a specific order for imports within your project:

```toml
[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

```bash
# Development build
make dev

# Clean rebuild
make rebuild
```

### Running Tests

```bash
pytest tests/
```

## License

[Add your license here]

## Deployment

See [DEPLOYMENT.md](DEPLOYMENT.md) for information on releasing and deploying this project.



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "importee",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "linter, imports, python, rust, code-quality",
    "author": null,
    "author_email": "Duboisset Nathan <nathan.duboisset@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/3f/e7/b3baf2f2db729ed3f09f4007c83bde36f0aed111f40feb82f0b153f2d1ce/importee-0.1.3.tar.gz",
    "platform": null,
    "description": "# Importee\n\nPython import checker with Rust backend. Checks import ordering rules in Python projects.\n\n## Features\n\n- Rust-powered import analysis\n- Configurable via `pyproject.toml`\n- Linear ordering rules for enforcing module dependencies\n- CLI interface\n\n## Installation\n\n### From PyPI\n\n```bash\npip install importee\n```\n\n### From Snap Store\n\n```bash\nsnap install importee\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/yourusername/importee.git\ncd importee\npip install maturin\nmaturin develop\n```\n\n## Quick Start\n\nCheck your project's imports:\n\n```bash\nimportee check\n```\n\nConfiguration is done via `pyproject.toml`:\n\n```toml\n[tool.importee]\nsource_module = [\"myproject\"]\n\n[tool.importee.rules.linear]\norder = [\"models\", \"utils\", \"api\", \"cli\"]\n```\n\n## Configuration\n\nImportee reads configuration from your `pyproject.toml` file. Here's what you can configure:\n\n### Basic Configuration\n\n```toml\n[tool.importee]\n# Modules to check\nsource_module = [\"myapp\"]\n```\n\n### Linear Ordering Rules\n\nEnforce a specific order for imports within your project:\n\n```toml\n[tool.importee.rules.linear]\n# Modules must be imported in this order\norder = [\"config\", \"database\", \"models\", \"services\", \"api\"]\n```\n\nThis ensures that modules listed earlier in the order cannot import from modules listed later.\n\n## Development\n\n### Prerequisites\n\n- Python 3.9+\n- Rust 1.70+\n- Maturin\n\n### Building\n\n```bash\n# Development build\nmake dev\n\n# Clean rebuild\nmake rebuild\n```\n\n### Running Tests\n\n```bash\npytest tests/\n```\n\n## License\n\n[Add your license here]\n\n## Deployment\n\nSee [DEPLOYMENT.md](DEPLOYMENT.md) for information on releasing and deploying this project.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python import checker with Rust backend",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://github.com/NathanDuboisset/importee",
        "Issues": "https://github.com/NathanDuboisset/importee/issues",
        "Repository": "https://github.com/NathanDuboisset/importee"
    },
    "split_keywords": [
        "linter",
        " imports",
        " python",
        " rust",
        " code-quality"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7c0afab6004179dc3626a75cd137ad6e53fa100013993a8e57a114261de688a5",
                "md5": "4c730b70d402d9a77e7059d9783454c7",
                "sha256": "1241930ef3e2fa39515ea69a1f174f35fa09956e870e2e8dfd24bcbf72f37443"
            },
            "downloads": -1,
            "filename": "importee-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4c730b70d402d9a77e7059d9783454c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2040640,
            "upload_time": "2025-11-02T08:58:19",
            "upload_time_iso_8601": "2025-11-02T08:58:19.812007Z",
            "url": "https://files.pythonhosted.org/packages/7c/0a/fab6004179dc3626a75cd137ad6e53fa100013993a8e57a114261de688a5/importee-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a98a69d94535f477d46574c1c4fa3d8d052dd7231d79f4b3c5395cf90ab07ddb",
                "md5": "b15fb059543c83eec4d0d219a97815f6",
                "sha256": "6ab78c914fef6300e892424a4bebeab183f7fc2226449cbfa0e30d66dbd84796"
            },
            "downloads": -1,
            "filename": "importee-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b15fb059543c83eec4d0d219a97815f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2315549,
            "upload_time": "2025-11-02T08:58:21",
            "upload_time_iso_8601": "2025-11-02T08:58:21.484562Z",
            "url": "https://files.pythonhosted.org/packages/a9/8a/69d94535f477d46574c1c4fa3d8d052dd7231d79f4b3c5395cf90ab07ddb/importee-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8b399280f534bbbc3feff903236d4208006e792b900b9c768428b0af42d60189",
                "md5": "5759dc4a6fa1d9d41529741b64f8a7d7",
                "sha256": "db7360dd0126bdb4369496072f93fc22a08763d75feb96cda24aa45c9e5040f7"
            },
            "downloads": -1,
            "filename": "importee-0.1.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5759dc4a6fa1d9d41529741b64f8a7d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2008515,
            "upload_time": "2025-11-02T08:58:23",
            "upload_time_iso_8601": "2025-11-02T08:58:23.527447Z",
            "url": "https://files.pythonhosted.org/packages/8b/39/9280f534bbbc3feff903236d4208006e792b900b9c768428b0af42d60189/importee-0.1.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3fe7b3baf2f2db729ed3f09f4007c83bde36f0aed111f40feb82f0b153f2d1ce",
                "md5": "a00b55b5356918a52938213171dc8466",
                "sha256": "0dd2f63d44884130b19acb5bfccdaca2f637b4fcc785e49d002f08ce2eb7ae24"
            },
            "downloads": -1,
            "filename": "importee-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "a00b55b5356918a52938213171dc8466",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 38189,
            "upload_time": "2025-11-02T08:58:25",
            "upload_time_iso_8601": "2025-11-02T08:58:25.253854Z",
            "url": "https://files.pythonhosted.org/packages/3f/e7/b3baf2f2db729ed3f09f4007c83bde36f0aed111f40feb82f0b153f2d1ce/importee-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 08:58:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NathanDuboisset",
    "github_project": "importee",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.1"
                ],
                [
                    "<",
                    "9"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    ">=",
                    "2.0.3"
                ]
            ]
        }
    ],
    "lcname": "importee"
}
        
Elapsed time: 2.80296s