🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 10 (from laksa181)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
17 days ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.6 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://docs.astral.sh/ruff/rules/relative-imports/
Last Crawled2026-04-07 13:04:10 (17 days ago)
First Indexed2023-09-16 14:26:04 (2 years ago)
HTTP Status Code200
Content
Meta Titlerelative-imports (TID252) | Ruff
Meta DescriptionChecks for relative imports.
Meta Canonicalnull
Boilerpipe Text
Added in v0.0.169 · Related issues · View source Derived from the flake8-tidy-imports linter. Fix is sometimes available. What it does Checks for relative imports. Why is this bad? Absolute imports, or relative imports from siblings, are recommended by PEP 8 : Absolute imports are recommended, as they are usually more readable and tend to be better behaved... import mypkg.sibling from mypkg import sibling from mypkg.sibling import example However, explicit relative imports are an acceptable alternative to absolute imports, especially when dealing with complex package layouts where using absolute imports would be unnecessarily verbose: from . import sibling from .sibling import example Example from .. import foo Use instead: from mypkg import foo Options lint.flake8-tidy-imports.ban-relative-imports
Markdown
[Skip to content](https://docs.astral.sh/ruff/rules/relative-imports/#relative-imports-tid252) [![logo](https://docs.astral.sh/ruff/assets/bolt.svg)](https://docs.astral.sh/ruff/ "Ruff") Ruff relative-imports (TID252) Type to start searching [ruff 0.15.9 46.9k 2k](https://github.com/astral-sh/ruff "Go to repository") [![logo](https://docs.astral.sh/ruff/assets/bolt.svg)](https://docs.astral.sh/ruff/ "Ruff") Ruff [ruff 0.15.9 46.9k 2k](https://github.com/astral-sh/ruff "Go to repository") - [Overview](https://docs.astral.sh/ruff/) - [Tutorial](https://docs.astral.sh/ruff/tutorial/) - [Installing Ruff](https://docs.astral.sh/ruff/installation/) - [The Ruff Linter](https://docs.astral.sh/ruff/linter/) - [The Ruff Formatter](https://docs.astral.sh/ruff/formatter/) - Editors Editors - [Editor Integration](https://docs.astral.sh/ruff/editors/) - [Setup](https://docs.astral.sh/ruff/editors/setup/) - [Features](https://docs.astral.sh/ruff/editors/features/) - [Settings](https://docs.astral.sh/ruff/editors/settings/) - [Migrating from ruff-lsp](https://docs.astral.sh/ruff/editors/migration/) - [Configuring Ruff](https://docs.astral.sh/ruff/configuration/) - [Preview](https://docs.astral.sh/ruff/preview/) - [Rules](https://docs.astral.sh/ruff/rules/) - [Settings](https://docs.astral.sh/ruff/settings/) - [Versioning](https://docs.astral.sh/ruff/versioning/) - [Integrations](https://docs.astral.sh/ruff/integrations/) - [FAQ](https://docs.astral.sh/ruff/faq/) - [Contributing](https://docs.astral.sh/ruff/contributing/) # [relative-imports (TID252)](https://docs.astral.sh/ruff/rules/relative-imports/#relative-imports-tid252) Added in [v0.0.169](https://github.com/astral-sh/ruff/releases/tag/v0.0.169) · [Related issues](https://github.com/astral-sh/ruff/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20\(%27relative-imports%27%20OR%20TID252\)) · [View source](https://github.com/astral-sh/ruff/blob/main/crates%2Fruff_linter%2Fsrc%2Frules%2Fflake8_tidy_imports%2Frules%2Frelative_imports.rs#L48) Derived from the **[flake8-tidy-imports](https://docs.astral.sh/ruff/rules/#flake8-tidy-imports-tid)** linter. Fix is sometimes available. ## [What it does](https://docs.astral.sh/ruff/rules/relative-imports/#what-it-does) Checks for relative imports. ## [Why is this bad?](https://docs.astral.sh/ruff/rules/relative-imports/#why-is-this-bad) Absolute imports, or relative imports from siblings, are recommended by [PEP 8](https://peps.python.org/pep-0008/#imports): > Absolute imports are recommended, as they are usually more readable and tend to be better behaved... > ``` > > ``` > However, explicit relative imports are an acceptable alternative to absolute imports, especially when dealing with complex package layouts where using absolute imports would be unnecessarily verbose: > ``` > > ``` ## [Example](https://docs.astral.sh/ruff/rules/relative-imports/#example) ``` from .. import foo ``` Use instead: ``` from mypkg import foo ``` ## [Options](https://docs.astral.sh/ruff/rules/relative-imports/#options) - [`lint.flake8-tidy-imports.ban-relative-imports`](https://docs.astral.sh/ruff/settings/#lint_flake8-tidy-imports_ban-relative-imports) Back to top Made with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)
Readable Markdown
Added in [v0.0.169](https://github.com/astral-sh/ruff/releases/tag/v0.0.169) · [Related issues](https://github.com/astral-sh/ruff/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20\(%27relative-imports%27%20OR%20TID252\)) · [View source](https://github.com/astral-sh/ruff/blob/main/crates%2Fruff_linter%2Fsrc%2Frules%2Fflake8_tidy_imports%2Frules%2Frelative_imports.rs#L48) Derived from the **[flake8-tidy-imports](https://docs.astral.sh/ruff/rules/#flake8-tidy-imports-tid)** linter. Fix is sometimes available. ## [What it does](https://docs.astral.sh/ruff/rules/relative-imports/#what-it-does) Checks for relative imports. ## [Why is this bad?](https://docs.astral.sh/ruff/rules/relative-imports/#why-is-this-bad) Absolute imports, or relative imports from siblings, are recommended by [PEP 8](https://peps.python.org/pep-0008/#imports): > Absolute imports are recommended, as they are usually more readable and tend to be better behaved... > ``` > > ``` > However, explicit relative imports are an acceptable alternative to absolute imports, especially when dealing with complex package layouts where using absolute imports would be unnecessarily verbose: > ``` > > ``` ## [Example](https://docs.astral.sh/ruff/rules/relative-imports/#example) ``` from .. import foo ``` Use instead: ``` from mypkg import foo ``` ## [Options](https://docs.astral.sh/ruff/rules/relative-imports/#options) - [`lint.flake8-tidy-imports.ban-relative-imports`](https://docs.astral.sh/ruff/settings/#lint_flake8-tidy-imports_ban-relative-imports)
ML Classification
ML Categories
/Computers_and_Electronics
96.5%
/Computers_and_Electronics/Software
52.3%
/Computers_and_Electronics/Software/Software_Utilities
44.9%
Raw JSON
{
    "/Computers_and_Electronics": 965,
    "/Computers_and_Electronics/Software": 523,
    "/Computers_and_Electronics/Software/Software_Utilities": 449
}
ML Page Types
/Article
53.9%
/Article/Definitions
35.0%
Raw JSON
{
    "/Article": 539,
    "/Article/Definitions": 350
}
ML Intent Types
Informational
98.8%
Raw JSON
{
    "Informational": 988
}
Content Metadata
Languageen
Authornull
Publish Timenot set
Original Publish Time2023-09-16 14:26:04 (2 years ago)
RepublishedNo
Word Count (Total)177
Word Count (Content)115
Links
External Links9
Internal Links19
Technical SEO
Meta NofollowNo
Meta NoarchiveNo
JS RenderedYes
Redirect Targetnull
Performance
Download Time (ms)64
TTFB (ms)63
Download Size (bytes)7,381
Shard10 (laksa)
Root Hash2731251898944797010
Unparsed URLsh,astral!docs,/ruff/rules/relative-imports/ s443