Title: Deprecate pickle support for itertools · Issue #101588 · python/cpython · GitHub
Open Graph Title: Deprecate pickle support for itertools · Issue #101588 · python/cpython
X Title: Deprecate pickle support for itertools · Issue #101588 · python/cpython
Description: Pickle support was long ago added to some itertools. It was done mostly to support an atypical use case for a single company. It was implemented in a very inefficient manner, essentially replaying iteration from the beginning to the mid-...
Open Graph Description: Pickle support was long ago added to some itertools. It was done mostly to support an atypical use case for a single company. It was implemented in a very inefficient manner, essentially replaying ...
X Description: Pickle support was long ago added to some itertools. It was done mostly to support an atypical use case for a single company. It was implemented in a very inefficient manner, essentially replaying ...
Opengraph URL: https://github.com/python/cpython/issues/101588
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Deprecate pickle support for itertools","articleBody":"Pickle support was long ago added to some itertools. It was done mostly to support an atypical use case for a single company. It was implemented in a very inefficient manner, essentially replaying iteration from the beginning to the mid-stream state where it was frozen. The implementation was of low quality and had many bugs. Also, it was not a documented or advertised feature. Newer itertools don't support pickling and no one has noticed or cared. The popular third-party package `more-itertools` is implemented with generators which do not have pickle support — again, none of their users seems to have noticed or cared.\r\n\r\nIMO, this is just cruft that has made maintenance more difficult and we should get rid of it. As an undocumented feature, we could just remove it directly. But to be on the safe side, we can go through a deprecation cycle.\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-104965\n* gh-104997\n* gh-118816\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/rhettinger","@type":"Person","name":"rhettinger"},"datePublished":"2023-02-05T19:32:20.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":13},"url":"https://github.com/101588/cpython/issues/101588"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:2ba095e2-f615-d2d6-e25f-13055ffa87b0 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A154:DC558:A249E4:D76EC8:6969921C |
| html-safe-nonce | 1351942ec2f37fa3012917b9ed0973376f98dc8d5252042ce1ab31adfd156b44 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMTU0OkRDNTU4OkEyNDlFNDpENzZFQzg6Njk2OTkyMUMiLCJ2aXNpdG9yX2lkIjoiNDQ0MjA0NDAyNDcwODc2NDE4OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | ad8357c4b6aab37fb0d2dd2d49f872a54c358442b97ff80449954325cb3bc6f8 |
| hovercard-subject-tag | issue:1571582024 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/101588/issue_layout |
| twitter:image | https://opengraph.githubassets.com/eea4c6f164a7c02d130726e62e9456cd67c705f6a93ade4c4e867b640089ade0/python/cpython/issues/101588 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/eea4c6f164a7c02d130726e62e9456cd67c705f6a93ade4c4e867b640089ade0/python/cpython/issues/101588 |
| og:image:alt | Pickle support was long ago added to some itertools. It was done mostly to support an atypical use case for a single company. It was implemented in a very inefficient manner, essentially replaying ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | rhettinger |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3542e147982176a7ebaa23dfb559c8af16f721c03ec560c68c56b64a0f35e751 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | af80af7cc9e3de9c336f18b208a600950a3c187c |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width