basic-python — Code View¶
← Back to Container | ← Back to System
Component Information¶
| Field | Value |
|---|---|
| Component | basic-python |
| Container | Application |
| Type | module |
| Description | Basic Python Extractor for Archlette Extracts architecture information from Python source code |
| --- |
Code Structure¶
Class Diagram¶

Code Elements¶
28 code element(s)
#### Functions ##### `createEmptyIR()` Create empty IR when no files found | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.inferstring
---
##### `basicPython()`
Basic Python extractor
Analyzes Python source code and extracts architectural components
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Async** | Yes || **Returns** | `Promiseany- `ctx`: import("C:/Users/chris/git/archlette/src/core/types").PipelineContext
---
##### `findSourceFiles()`
Find source files matching include/exclude patterns
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Async** | Yes || **Returns** | `Promiseimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractorInputs
---
##### `findPyProjectFiles()`
Find pyproject.toml files within the search paths
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Async** | Yes || **Returns** | `Promiseimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractorInputs
---
##### `readPyProjectInfo()`
Read and parse pyproject.toml file
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Async** | Yes || **Returns** | `Promisestring
---
##### `parsePyProjectToml()`
Parse pyproject.toml using smol-toml library
Handles full TOML spec including multiline strings, arrays, and nested tables
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `PyProjectToml` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder.ts:142` |
**Parameters:**
- `content`: string
---
##### `findNearestPyProject()`
Find the nearest parent pyproject.toml for a given file
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder").PyProjectInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder.ts:156` |
**Parameters:**
- `filePath`: string- `pyprojects`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder").PyProjectInfo[]
---
##### `parseFiles()`
Parse Python files using Python AST parser script
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Async** | Yes || **Returns** | `Promisestring[]- `pythonPath`: string
---
##### `runPythonParser()`
Run Python parser script and return JSON output
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `Promisestring- `filePaths`: string[]- `pythonPath`: string
---
##### `mapToFileExtraction()`
Map Python parser output to FileExtraction format
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").FileExtraction` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:187` |
**Parameters:**
- `file`: { filePath: string; component?: { name: string; description?: string; }; actors: { name: string; type: "Person" | "System"; direction?: "in" | "out" | "both"; description?: string; }[]; relationships: { target: string; description?: string; }[]; classes: { name: string; baseClasses: string[]; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; methods: { name: string; isStatic: boolean; isAsync: boolean; isClassMethod: boolean; isAbstract: boolean; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; parsedDoc?: { summary?: string; description?: string; args?: { name: string; type?: string; description?: string; }[]; returns?: { type?: string; description?: string; }; raises?: { type: string; description?: string; }[]; examples?: string; }; parameters: { name: string; annotation?: string; default?: string; }[]; returnAnnotation?: string; }[]; properties: { name: string; type?: "property" | "class_variable"; annotation?: string; default?: string; line: number; docstring?: string; isReadonly?: boolean; hasGetter?: boolean; hasSetter?: boolean; hasDeleter?: boolean; }[]; }[]; functions: { name: string; isAsync: boolean; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; parsedDoc?: { summary?: string; description?: string; args?: { name: string; type?: string; description?: string; }[]; returns?: { type?: string; description?: string; }; raises?: { type: string; description?: string; }[]; examples?: string; }; parameters: { name: string; annotation?: string; default?: string; }[]; returnAnnotation?: string; }[]; types: { name: string; category: "TypeAlias" | "TypedDict" | "Protocol" | "Enum" | "NewType"; line: number; definition?: string; docstring?: string; }[]; imports: { source: string; names: string[]; isRelative: boolean; level?: number; category: "stdlib" | "third_party" | "local"; }[]; parseError?: string; }
---
##### `mapClass()`
Map Python class to ExtractedClass
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedClass` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:254` |
**Parameters:**
- `cls`: { name: string; baseClasses: string[]; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; methods: { name: string; isStatic: boolean; isAsync: boolean; isClassMethod: boolean; isAbstract: boolean; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; parsedDoc?: { summary?: string; description?: string; args?: { name: string; type?: string; description?: string; }[]; returns?: { type?: string; description?: string; }; raises?: { type: string; description?: string; }[]; examples?: string; }; parameters: { name: string; annotation?: string; default?: string; }[]; returnAnnotation?: string; }[]; properties: { name: string; type?: "property" | "class_variable"; annotation?: string; default?: string; line: number; docstring?: string; isReadonly?: boolean; hasGetter?: boolean; hasSetter?: boolean; hasDeleter?: boolean; }[]; }- `filePath`: string
---
##### `mapMethod()`
Map Python method to ExtractedMethod
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedMethod` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:279` |
**Parameters:**
- `method`: { name: string; isStatic: boolean; isAsync: boolean; isClassMethod: boolean; isAbstract: boolean; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; parsedDoc?: { summary?: string; description?: string; args?: { name: string; type?: string; description?: string; }[]; returns?: { type?: string; description?: string; }; raises?: { type: string; description?: string; }[]; examples?: string; }; parameters: { name: string; annotation?: string; default?: string; }[]; returnAnnotation?: string; }- `filePath`: string
---
##### `mapProperty()`
Map Python property to ExtractedProperty
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedProperty` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:314` |
**Parameters:**
- `prop`: { name: string; type?: "property" | "class_variable"; annotation?: string; default?: string; line: number; docstring?: string; isReadonly?: boolean; hasGetter?: boolean; hasSetter?: boolean; hasDeleter?: boolean; }- `filePath`: string
---
##### `mapFunction()`
Map Python function to ExtractedFunction
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedFunction` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:344` |
**Parameters:**
- `func`: { name: string; isAsync: boolean; decorators: string[]; decoratorDetails: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DecoratorInfo[]; line: number; docstring?: string; parsedDoc?: { summary?: string; description?: string; args?: { name: string; type?: string; description?: string; }[]; returns?: { type?: string; description?: string; }; raises?: { type: string; description?: string; }[]; examples?: string; }; parameters: { name: string; annotation?: string; default?: string; }[]; returnAnnotation?: string; }- `filePath`: string
---
##### `mapType()`
Map Python type definition to ExtractedType
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedType` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:373` |
**Parameters:**
- `type`: { name: string; category: "TypeAlias" | "TypedDict" | "Protocol" | "Enum" | "NewType"; line: number; definition?: string; docstring?: string; }- `filePath`: string
---
##### `mapParameter()`
Map Python parameter to ParameterInfo
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ParameterInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:395` |
**Parameters:**
- `param`: { name: string; annotation?: string; default?: string; }- `parsedParam`: { name: string; type?: string; description?: string; }
---
##### `parseDocstring()`
Parse Python docstring into DocInfo
Enhanced in Phase 2 to use parsed Google/NumPy/Sphinx docstrings
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").DocInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:412` |
**Parameters:**
- `docstring`: string- `parsedDoc`: { summary?: string; description?: string; args?: { name: string; type?: string; description?: string; }[]; returns?: { type?: string; description?: string; }; raises?: { type: string; description?: string; }[]; examples?: string; }
---
##### `extractDeprecation()`
Extract deprecation info from docstring
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `{ reason?: string; alternative?: string; }` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:448` |
**Parameters:**
- `docstring`: string
---
##### `extractReturnDescription()`
Extract return description from docstring
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `string` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:464` |
**Parameters:**
- `docstring`: string
---
##### `getVisibility()`
Determine visibility from Python name convention
- __name: private
- _name: protected
- name: public
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `"public" \| "private" \| "protected"` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:477` |
**Parameters:**
- `name`: string
---
##### `mapToIR()`
Map file extractions to ArchletteIR
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `public` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").FileExtraction[]- `pyprojects`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder").PyProjectInfo[]- `systemInfo`: SystemInfo
---
##### `mapActorToIR()`
Map ActorInfo to Actor
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ActorInfo- `actorTargets`: Map
---
##### `mapRelationshipsToIR()`
Map relationships to Relationship[]
Creates bidirectional actor relationships
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").RelationshipInfo[]- `componentMap`: Map> - `actorMap`: Map- `actorTargets`: Map
---
##### `mapImportToComponentRelationships()`
Map Python imports to component relationships (component-level dependencies)
Resolves local imports to component IDs when possible
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedImport- `filePath`: string- `componentId`: string- `fileToComponentMap`: Map- `modulePathIndex`: Map
---
##### `mapClassToCodeItem()`
Map ExtractedClass to CodeItem
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedClass- `componentId`: string
---
##### `mapMethodToCodeItem()`
Map ExtractedMethod to CodeItem
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedMethod- `className`: string- `componentId`: string
---
##### `mapFunctionToCodeItem()`
Map ExtractedFunction to CodeItem
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedFunction- `componentId`: string
---
##### `mapTypeToCodeItem()`
Map ExtractedType to CodeItem
| Field | Value |
| --- | --- |
| **Type** | `function` |
| **Visibility** | `private` |
| **Returns** | `z.inferimport("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedType- `componentId`: string
---