Skip to content

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

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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python.ts:150` | **Parameters:** - `systemName`: string --- ##### `basicPython()` Basic Python extractor Analyzes Python source code and extracts architectural components | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Async** | Yes || **Returns** | `Promise>` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python.ts:26` | **Parameters:** - `node`: any- `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** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder.ts:26` | **Parameters:** - `inputs`: import("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** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder.ts:42` | **Parameters:** - `inputs`: import("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** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-finder.ts:91` | **Parameters:** - `filePath`: string --- ##### `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** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:29` | **Parameters:** - `filePaths`: string[]- `pythonPath`: string --- ##### `runPythonParser()` Run Python parser script and return JSON output | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/file-parser.ts:95` | **Parameters:** - `scriptPath`: string- `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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:45` | **Parameters:** - `extractions`: import("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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:332` | **Parameters:** - `actor`: import("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.infer[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:346` | **Parameters:** - `relationships`: import("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.infer[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:394` | **Parameters:** - `imp`: import("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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:498` | **Parameters:** - `cls`: import("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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:523` | **Parameters:** - `method`: import("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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:558` | **Parameters:** - `func`: import("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.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/to-ir-mapper.ts:589` | **Parameters:** - `type`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-python/types").ExtractedType- `componentId`: string ---