aws / aws/jsii

(aws-quicksight): quicksight generated Python is really huge could it be smaller?

Open
#4,066 5 comments 0 reactions 0 assignees View on GitHub
effort/large feature-request p1
Dominant language
TypeScript
Stars
2.9k
Forks
267
Avg merge
1d 25m
Merged PRs (30d)
14

Description

### Describe the feature

This isn't a bug, but the size of the quicksight Python code is very large and breaks in vscode's default python server

```
[Error - 10:24:44 PM] (36155) File length of "/home/vscode/.local/lib/python3.8/site-packages/aws_cdk/aws_quicksight/__init__.py" is 72024295 which exceeds the maximum supported file size of 52428800
```

I confirmed that yeah, that's a beefy boi

```
-rw-rw-r-- 1 vscode vscode 69M Apr 20 23:08 /home/vscode/.local/lib/python3.8/site-packages/aws_cdk/aws_quicksight/__init__.py
```

### Use Case

I don't think the python language server would be able to by default show typing hints etc for that module, which would be great.

### Proposed Solution

I understand the Python is generated with jsii from typescript sources - I don't know if the typescript source file is huge and could be shrunk down, or if the conversion is particularly inefficient.

### Other Information

_No response_

### Acknowledgements

- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### CDK version used

aws-cdk-lib 2.73.0

### Environment details (OS name and version, etc.)

Linux docker-desktop 5.15.49-linuxkit aws/aws-cdk#1 SMP Tue Sep 13 07:51:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Contributor guide

Open the contributing guide

Research direction

Start by tracing how jsii converts the TypeScript sources for aws_quicksight into the generated Python __init__.py, then compare the source and generated sizes. Done means the generated module stays below the 52,428,800-byte limit reported by the Python language server while retaining useful typing hints.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, typescript
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.