fix(python): incorrect escaped characters cause warnings #4538
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #4532. Succinctly, the issue is that the README is copied over into the
__init__.py
file as a python comment. And then python warns that things like\|
and\'
, which while not often, do organically and correctly show up in markdown syntax, are invalid escapes. Some people who have set their python config to error on warnings end up erroring on this. The solution is to mark the README string as a raw stringr'''
so python does not try to register the escapes.I'm not sure how to test this in code in this PR. I have done the following to make sure that this works:
I copied the repro repo from #4532 here and got it to show the warning locally. then, I updated the actual file manually from
'''
tor'''
and gotpytest -W error
to give me a thumbs up. So that shows that changing'''
tor'''
does not expect the escaped characters to be valid.I tested my local jsii-pacmak by using it to package a module in
aws-cdk
, and unzipped the python package and confirmed that ther'''
raw string indicator shows up for the README string in__init__.py
, and nothing else.These two combined confirms for me that this solution will work. Again I'm not sure of the best way to test that in jsii-pacmak.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.