Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ruamel.yaml instead of pyyaml to avoid the "NO"rway problem #1041

Closed
rtaycher opened this issue May 13, 2024 · 1 comment · Fixed by #1042 or #1032
Closed

Use ruamel.yaml instead of pyyaml to avoid the "NO"rway problem #1041

rtaycher opened this issue May 13, 2024 · 1 comment · Fixed by #1042 or #1032

Comments

@rtaycher
Copy link
Contributor

Describe the bug
openapi-python-client uses pyyaml which is sadly stuck on yamp 1.1 (yaml 1.2 came out in 2009, since then there's only been minor revisions). One of the main benefits of yaml 1.2 is that it treats strings like no/No/NO/OFF/Off/off as strings and not as booleans.

I ran into this issue and had the person maintaining the API ask what version of yaml I was using since it doesn't appear in

Ruamel also support comments if we ever say want to paste those in the documentation strings or something.

@dbanty
Copy link
Collaborator

dbanty commented May 14, 2024

I think I tried ruamel at one point and had some issues. Can’t remember what they were…

Definitely open to a PR!

github-merge-queue bot pushed a commit that referenced this issue May 18, 2024
fixes #1041 
ruamel.yaml understands yaml1.2 which yaml doesn't support.
yaml 1.2 lacks norway issue

---------

Co-authored-by: Dylan Anthony <dbanty@users.noreply.github.com>
dbanty added a commit that referenced this issue May 18, 2024
This PR was created by Knope. Merging it will create a new release

### Breaking Changes

#### `const` values in responses are now validated at runtime

Prior to this version, `const` values returned from servers were assumed
to always be correct. Now, if a server returns
an unexpected value, the client will raise a `ValueError`. This should
enable better usage with `oneOf`.

PR #1024. Thanks @peter-greenatlas!

#### Switch YAML parsing to 1.2

This change switches the YAML parsing library to `ruamel.yaml` which
follows the YAML 1.2 specification.
[There are breaking
changes](https://yaml.readthedocs.io/en/latest/pyyaml/#defaulting-to-yaml-12-support)
from YAML 1.1 to 1.2,
though they will not affect most use cases.

PR #1042 fixes #1041. Thanks @rtaycher!

### Features

- allow Ruff 0.4 (#1031)

### Fixes

#### Fix nullable and required properties in multipart bodies

Fixes #926.

> [!WARNING]
> This change is likely to break custom templates. Multipart body
handling has been completely split from JSON bodies.

Co-authored-by: GitHub <github-actions@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants