Skip to content

Add --strict-bytes flag - #18263

Merged
JukkaL merged 2 commits into
python:masterfrom
hamdanal:strict-bytes
Dec 10, 2024
Merged

Add --strict-bytes flag#18263
JukkaL merged 2 commits into
python:masterfrom
hamdanal:strict-bytes

Conversation

@hamdanal

Copy link
Copy Markdown
Collaborator

Closes#18256

@hamdanal
hamdanal requested a review from JukkaLDecember 7, 2024 13:46
@github-actions

This comment has been minimized.

@sterliakov

Copy link
Copy Markdown
Collaborator

Could you (perhaps temporarily) enable this flag during primer runs? To quickly change that, there's --additional-flags param given to mypy_primer in .github/workflows/mypy_primer.yml. It'd be interesting to see the impact of this option on the open-source corpus.

@hamdanal

Copy link
Copy Markdown
CollaboratorAuthor

Could you (perhaps temporarily) enable this flag during primer runs? To quickly change that, there's --additional-flags param given to mypy_primer in .github/workflows/mypy_primer.yml. It'd be interesting to see the impact of this option on the open-source corpus.

See the primer hits here #12661

@JukkaLJukkaL left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Looks good, just one comment about documentation.

Comment threaddocs/source/command_line.rst
@github-actions

Copy link
Copy Markdown
Contributor

According to mypy_primer, this change doesn't affect type check results on a corpus of open source code. ✅

@JukkaL
JukkaL merged commit 6427ef1 into python:masterDec 10, 2024
asvetlov pushed a commit to aio-libs/aiohttp that referenced this pull request Dec 11, 2024
## What do these changes do?
Mypy will add a `--strict-bytes` flag.
python/mypy#18263
With that `bytearray` and `memoryview` are no longer subclasses of
`bytes` and must be listed explicitly instead if they are supported.
## Are there changes in behavior for the user?
--
## Related issue number
--
## Checklist
- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
* The format is <Name> <Surname>.
* Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
* name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
* if you don't have an issue number, change it to the pull request
number after creating the PR
* `.bugfix`: A bug fix for something the maintainers deemed an
improper undesired behavior that got corrected to match
pre-agreed expectations.
* `.feature`: A new behavior, public APIs. That sort of stuff.
* `.deprecation`: A declaration of future API removals and breaking
changes in behavior.
* `.breaking`: When something public is removed in a breaking way.
Could be deprecated in an earlier release.
* `.doc`: Notable updates to the documentation structure or build
process.
* `.packaging`: Notes for downstreams about unobvious side effects
and tooling. Changes in the test invocation considerations and
runtime assumptions.
* `.contrib`: Stuff that affects the contributor experience. e.g.
Running tests, building the docs, setting up the development
environment.
* `.misc`: Changes that are hard to assign to any of the above
categories.
* Make sure to use full sentences with correct case and punctuation,
for example:
```rst
Fixed issue with non-ascii contents in doctest text files
-- by :user:`contributor-gh-handle`.
```
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
patchbackBot pushed a commit to aio-libs/aiohttp that referenced this pull request Dec 11, 2024
## What do these changes do?
Mypy will add a `--strict-bytes` flag.
python/mypy#18263
With that `bytearray` and `memoryview` are no longer subclasses of
`bytes` and must be listed explicitly instead if they are supported.
## Are there changes in behavior for the user?
--
## Related issue number
--
## Checklist
- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
* The format is &lt;Name&gt; &lt;Surname&gt;.
* Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
* name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
* if you don't have an issue number, change it to the pull request
number after creating the PR
* `.bugfix`: A bug fix for something the maintainers deemed an
improper undesired behavior that got corrected to match
pre-agreed expectations.
* `.feature`: A new behavior, public APIs. That sort of stuff.
* `.deprecation`: A declaration of future API removals and breaking
changes in behavior.
* `.breaking`: When something public is removed in a breaking way.
Could be deprecated in an earlier release.
* `.doc`: Notable updates to the documentation structure or build
process.
* `.packaging`: Notes for downstreams about unobvious side effects
and tooling. Changes in the test invocation considerations and
runtime assumptions.
* `.contrib`: Stuff that affects the contributor experience. e.g.
Running tests, building the docs, setting up the development
environment.
* `.misc`: Changes that are hard to assign to any of the above
categories.
* Make sure to use full sentences with correct case and punctuation,
for example:
```rst
Fixed issue with non-ascii contents in doctest text files
-- by :user:`contributor-gh-handle`.
```
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
(cherry picked from commit 3f07b1a)
patchbackBot pushed a commit to aio-libs/aiohttp that referenced this pull request Dec 11, 2024
## What do these changes do?
Mypy will add a `--strict-bytes` flag.
python/mypy#18263
With that `bytearray` and `memoryview` are no longer subclasses of
`bytes` and must be listed explicitly instead if they are supported.
## Are there changes in behavior for the user?
--
## Related issue number
--
## Checklist
- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
* The format is &lt;Name&gt; &lt;Surname&gt;.
* Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
* name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
* if you don't have an issue number, change it to the pull request
number after creating the PR
* `.bugfix`: A bug fix for something the maintainers deemed an
improper undesired behavior that got corrected to match
pre-agreed expectations.
* `.feature`: A new behavior, public APIs. That sort of stuff.
* `.deprecation`: A declaration of future API removals and breaking
changes in behavior.
* `.breaking`: When something public is removed in a breaking way.
Could be deprecated in an earlier release.
* `.doc`: Notable updates to the documentation structure or build
process.
* `.packaging`: Notes for downstreams about unobvious side effects
and tooling. Changes in the test invocation considerations and
runtime assumptions.
* `.contrib`: Stuff that affects the contributor experience. e.g.
Running tests, building the docs, setting up the development
environment.
* `.misc`: Changes that are hard to assign to any of the above
categories.
* Make sure to use full sentences with correct case and punctuation,
for example:
```rst
Fixed issue with non-ascii contents in doctest text files
-- by :user:`contributor-gh-handle`.
```
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
(cherry picked from commit 3f07b1a)
asvetlov pushed a commit to aio-libs/aiohttp that referenced this pull request Dec 11, 2024
…ation for strict-bytes (#10157)
**This is a backport of PR #10154 as merged into master
(3f07b1a).**
## What do these changes do?
Mypy will add a `--strict-bytes` flag.
python/mypy#18263
With that `bytearray` and `memoryview` are no longer subclasses of
`bytes` and must be listed explicitly instead if they are supported.
## Are there changes in behavior for the user?
--
## Related issue number
--
## Checklist
- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
* The format is &lt;Name&gt; &lt;Surname&gt;.
* Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
* name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
* if you don't have an issue number, change it to the pull request
number after creating the PR
* `.bugfix`: A bug fix for something the maintainers deemed an
improper undesired behavior that got corrected to match
pre-agreed expectations.
* `.feature`: A new behavior, public APIs. That sort of stuff.
* `.deprecation`: A declaration of future API removals and breaking
changes in behavior.
* `.breaking`: When something public is removed in a breaking way.
Could be deprecated in an earlier release.
* `.doc`: Notable updates to the documentation structure or build
process.
* `.packaging`: Notes for downstreams about unobvious side effects
and tooling. Changes in the test invocation considerations and
runtime assumptions.
* `.contrib`: Stuff that affects the contributor experience. e.g.
Running tests, building the docs, setting up the development
environment.
* `.misc`: Changes that are hard to assign to any of the above
categories.
* Make sure to use full sentences with correct case and punctuation,
for example:
```rst
Fixed issue with non-ascii contents in doctest text files
-- by :user:`contributor-gh-handle`.
```
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
asvetlov pushed a commit to aio-libs/aiohttp that referenced this pull request Dec 11, 2024
…ation for strict-bytes (#10158)
**This is a backport of PR #10154 as merged into master
(3f07b1a).**
## What do these changes do?
Mypy will add a `--strict-bytes` flag.
python/mypy#18263
With that `bytearray` and `memoryview` are no longer subclasses of
`bytes` and must be listed explicitly instead if they are supported.
## Are there changes in behavior for the user?
--
## Related issue number
--
## Checklist
- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
* The format is &lt;Name&gt; &lt;Surname&gt;.
* Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
* name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
* if you don't have an issue number, change it to the pull request
number after creating the PR
* `.bugfix`: A bug fix for something the maintainers deemed an
improper undesired behavior that got corrected to match
pre-agreed expectations.
* `.feature`: A new behavior, public APIs. That sort of stuff.
* `.deprecation`: A declaration of future API removals and breaking
changes in behavior.
* `.breaking`: When something public is removed in a breaking way.
Could be deprecated in an earlier release.
* `.doc`: Notable updates to the documentation structure or build
process.
* `.packaging`: Notes for downstreams about unobvious side effects
and tooling. Changes in the test invocation considerations and
runtime assumptions.
* `.contrib`: Stuff that affects the contributor experience. e.g.
Running tests, building the docs, setting up the development
environment.
* `.misc`: Changes that are hard to assign to any of the above
categories.
* Make sure to use full sentences with correct case and punctuation,
for example:
```rst
Fixed issue with non-ascii contents in doctest text files
-- by :user:`contributor-gh-handle`.
```
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
@hamdanal
hamdanal deleted the strict-bytes branch December 11, 2024 19:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add --strict-bytes flag to disable promotions to bytes

3 participants

@hamdanal@sterliakov@JukkaL