OpenAPITools / OpenAPITools/openapi-generator

[BUG] [Python] SyntaxError: invalid syntax in global lazy import

Open
#12,590 2 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Client: Python Issue: Bug
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Bug Report Checklist
  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • Have you tested with the latest master to confirm the issue still exists?
  • Have you searched for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
python version: 3.10.5
byte-compiling build/bdist.linux-x86_64/egg/symbility_api/model/claim_minimum_charge.py to claim_minimum_charge.cpython-310.pyc
  File "build/bdist.linux-x86_64/egg/symbility_api/model/claim_minimum_charge.py", line 37
    globals()['from symbility_api.model.claim_minimum_charge import ClaimMinimumCharge'] = from symbility_api.model.claim_minimum_charge import ClaimMinimumCharge
                                                                                           ^^^^
SyntaxError: invalid syntax

byte-compiling build/bdist.linux-x86_64/egg/symbility_api/model/company.py to company.cpython-310.pyc
byte-compiling build/bdist.linux-x86_64/egg/symbility_api/model/claim_overhead_and_profit_info.py to claim_overhead_and_profit_info.cpython-310.pyc
  File "build/bdist.linux-x86_64/egg/symbility_api/model/claim_overhead_and_profit_info.py", line 35
    globals()['from symbility_api.model.claim_overhead_and_profit_info import ClaimOverheadAndProfitInfo'] = from symbility_api.model.claim_overhead_and_profit_info import ClaimOverheadAndProfitInfo
                                                                                                             ^^^^
SyntaxError: invalid syntax

claim_minimum_charge.py

def lazy_import():
    from symbility_api.model.from_symbility_api_model_claim_minimum_charge_import_claim_minimum_charge import FromSymbilityApiModelClaimMinimumChargeImportClaimMinimumCharge
    from symbility_api.model.from_symbility_api_model_claim_minimum_charge_type_import_claim_minimum_charge_type import FromSymbilityApiModelClaimMinimumChargeTypeImportClaimMinimumChargeType
    from symbility_api.model.globals_claim_minimum_charge_claim_minimum_charge import GlobalsClaimMinimumChargeClaimMinimumCharge
    from symbility_api.model.globals_claim_minimum_charge_type_claim_minimum_charge_type import GlobalsClaimMinimumChargeTypeClaimMinimumChargeType
    globals()['from symbility_api.model.claim_minimum_charge import ClaimMinimumCharge'] = from symbility_api.model.claim_minimum_charge import ClaimMinimumCharge
    globals()['from symbility_api.model.claim_minimum_charge_type import ClaimMinimumChargeType'] = from symbility_api.model.claim_minimum_charge_type import ClaimMinimumChargeType
    globals()['globals()['ClaimMinimumCharge'] = ClaimMinimumCharge'] = globals()['ClaimMinimumCharge'] = ClaimMinimumCharge
    globals()['globals()['ClaimMinimumChargeType'] = ClaimMinimumChargeType'] = globals()['ClaimMinimumChargeType'] = ClaimMinimumChargeType
openapi-generator version

v6.0.0

OpenAPI declaration file content or url

swagger.json

Generation Details
brew install openapi-generator
#!/bin/bash

# brew install openapi-generator
openapi-generator generate -i api-def/swagger.json \
    -g python \
    --artifact-id symbility_api \
    --package-name symbility_api \
    -o api/
Steps to reproduce
Related issues/PRs
Suggest a fix

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the provided swagger.json, the Python generator command, and Python 3.10.5. Inspect the generated claim_minimum_charge.py and claim_overhead_and_profit_info.py files, then verify that the generated package compiles without SyntaxError in the lazy_import functions.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.