swagger-api / swagger-api/swagger-codegen

swagger-codegen python depends on PyYAML>5.1,<6.0 but PyYAML 5.4 is broken

Open
#12,362 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Mustache
Stars
17.8k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

Description

Performing a clean install using poetry , using python 3.10 (issue also occurs on Python 3.11)

poetry add swagger-codegen

causes the a transitive dependency attempted install of PyYAML 5.4.1

PyYAML 5.4 does not install now - https://github.com/yaml/pyyaml/issues/724 due to issues.

The activity from hundreds of other repositories is to update to PyYAML 6.

Swagger-codegen version

swagger-codegen 0.3.1

Suggest a fix/enhancement

Upgrade pyyaml dependency to 6.1

Workaround: install pyyaml 5.1 first,

poetry add pyyaml==5.1
poetry add swagger-codegen
attrs                 19.3.0   Classes Without Boilerplate
boltons               20.2.1   When they're not builtins, they're boltons.
certifi               2024.2.2 Python package for providing Mozilla's CA Bundle.
charset-normalizer    3.3.2    The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.
click                 7.1.2    Composable command line interface toolkit
colorama              0.4.6    Cross-platform colored terminal text.
commonmark            0.9.1    Python parser for the CommonMark Markdown spec
exceptiongroup        1.2.0    Backport of PEP 654 (exception groups)
hypothesis            5.49.0   A library for property-based testing
hypothesis-jsonschema 0.20.1   Generate test data from JSON schemata with Hypothesis
idna                  3.6      Internationalized Domain Names in Applications (IDNA)
inflection            0.5.1    A port of Ruby on Rails inflector to Python
iniconfig             2.0.0    brain-dead simple config-ini parsing
jinja2                2.11.3   A very fast and expressive template engine.
jsonschema            3.2.0    An implementation of JSON Schema validation for Python
markupsafe            2.1.5    Safely add untrusted strings to HTML/XML markup.
multidict             5.2.0    multidict implementation
packaging             24.0     Core utilities for Python packages
pluggy                1.4.0    plugin and hook calling mechanisms for python
pydantic              1.9.2    Data validation and settings management using python type hints
pygments              2.17.2   Pygments is a syntax highlighting package written in Python.
pyrsistent            0.20.0   Persistent/Functional/Immutable data structures
pytest                8.1.1    pytest: simple powerful testing with Python
pytest-subtests       0.2.1    unittest subTest() support and subtests fixture
pyyaml                5.1      YAML parser and emitter for Python
requests              2.31.0   Python HTTP for Humans.
rich                  9.13.0   Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal
schemathesis          1.1.0    Hypothesis strategies for Open API / Swagger schemas
setuptools            69.2.0   Easily download, build, install, upgrade, and uninstall Python packages
six                   1.16.0   Python 2 and 3 compatibility utilities
sortedcontainers      2.4.0    Sorted Containers -- Sorted List, Sorted Dict, Sorted Set
swagger-codegen       0.1.31   Generate API clients by parsing Swagger definitions
toml                  0.10.2   Python Library for Tom's Obvious, Minimal Language
tomli                 2.0.1    A lil' TOML parser
typer                 0.3.2    Typer, build great CLIs. Easy to code. Based on Python type hints.
typing-extensions     3.10.0.2 Backported and Experimental Type Hints for Python 3.5+
urllib3               2.2.1    HTTP library with thread-safe connection pooling, file post, and more.
werkzeug              3.0.1    The comprehensive WSGI web application library.

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

Inspect the package dependency metadata for the PyYAML constraint and reproduce the clean Poetry install on Python 3.10 or 3.11. Update the constraint to PyYAML 6.1, then verify that swagger-codegen installs without the PyYAML 5.4 build failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.