-
Notifications
You must be signed in to change notification settings - Fork 23
Frozendict is broken on Python 3.8, warns on 3.7 #25
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
Comments
There's a PR for this (#23) but I'm worried that the owner has more-or-less abandoned this project. |
Hi! First, thx for the great python module :) Is it possible to get PR (#23) and subsequent update on pip? Would really help, especially for those that treat warning as errors in testing pipelines. If the author is no longer interested in maintaining the project, I'm happy to help out, dm me! Cheers, m |
Seems like that: the author has abandoned this project :( |
If anyone is interested, I released a fork on PyPI which supports Python 3.8 : https://pypi.org/project/immutabledict |
@slezica Hi Santiago! Thank you very much for this project! As you see, the code won't work on Python 3.9 (they actually delayed it from 3.8). This project is widely used (163k downloads last month according to https://pypistats.org/packages/frozendict!) and it would be a shame for it to have to be removed or replaced in projects. I understand if you've moved on and have other interests. Please would you consider giving merge and PyPI rights to another maintainer? I'd suggest @corenting if they're willing, who took initiative to make a fork, and perhaps @ppolewicz, @lurch and @eugene-eeo who were pinged for review in #15, and @mskoenz volunteered above. It's always sensible to have more than one maintainer, to reduce the bus factor and burden. I would be happy to help with some of the maintenance tasks too to help get a new release out. Additionally to consider, a transfer to https://jazzband.co, which provides additional maintainer backup. What do you think? Again, thank you for this project! |
Yeah like @mskoenz I can help maintain the project and put the changes from my fork back into the repository if necessary. |
I've also emailed Santiago the above in case he doesn't get notifications here. |
EDIT new repo is here: OLD ANSWER: If you are interested, I reimplemented frozendict starting from forking the @slezica 's code. I asked Lezica to became co-admin of Pypi project and he consented, but since we are both very busy we have to do it yet... :-P Major differences:
PS: I'm working also to a CPython version of |
That sounds great! Any idea when you'll get PyPI admin? In #29 (comment) you say you've not had any response in a while, perhaps send another ping? It doesn't take long to add someone to PyPI: log in and go to https://pypi.org/manage/project/frozendict/collaboration/ As you're also very busy, and as best practice in general for an important library, I'd recommend having more maintainers on your fork as well, otherwise we may end up in this situation again. Thanks! |
Well, the problem is @slezica wrote me some days ago, and I missed the mail :-P So I responded to him yesterday. |
@Marco-Sulla Is your new |
I think it's fine to drop Python EOL, as that's normal dev practice, but would suggest first making a final release of current Then bump the major version and release from the fork. Will you get merge rights here, or will development happen in your fork? |
@hugovk In my fork. Personally I think the last version, the 1.4.0, is stable. It passed many tests I wrote personally and the benchs are good. Maybe I have to rewrite the benchs with It's slow only in parts that seem impossible to speed up: it's a problem with Python itself, that probably I have to report to the maintainers of @lurch Yes, it's not a drop-in replacement. As you can see in the code, it's completely changed, since I do not use Anyway the API is the same, with only some addings and a little change: Note that those operators are provisional. They can change and also their behaviour can change. It depends from PEP 584. I tried to use the Lezica's code with I know, no one should extend a class that do more for doing less, since the API of the parent class can change and you'll have magically a method that will change your "not-so-immutable" :-D Furthermore I must admit Anyway it's more difficult, and even Java and C++ can't prevent the use of Reflections or About Python 2, I think it's a pity that is not compatible with Python 3. But I think the Py devs have done the right decision: UTF-8 by default makes thinks a lot more easy. I could easily extend the support to 2.6+ but, honestly, I do not want to do it. As you said, Python 2 is at the End Of Life, and continuing to support it will be counterproductive. |
@Marco-Sulla Cool, as long as your new version (which sounds pretty good) is explicitly not a drop-in replacement for @slezica 's |
You may be interested to know that this was proposed and rejected before: https://www.python.org/dev/peps/pep-0416/ |
Six months on and still no release on PyPI. @Marco-Sulla Any news on the PyPI access? If not, i think it might be best to do a PEP 541 transfer:
Thanks! |
@hugovk I suppose you're right. |
Well, I opened pypi/support#530 but everything is stuck. It's a pity, since I also experimented with CPython and I implemented a |
In the meanwhile Pypi mods decide, I created a C Extension for Python 3.9 and Linux. It's faster than |
We had accrued a big bunch of deprecation warnings (which usually showed up when running the tests) which would cause breakage in future Python versions. This upgrades packages as necessary and fixes most warnings. The remaining ones are being tracked here: - raiden-network/raiden-api-client#1 - matrix-org/synapse#9641 - matrix-org/synapse#9642 - slezica/python-frozendict#25 This also temporarily removes the docs requirements from the dev set since there's a conflict between `releases` and `py-solc-x` pinned versions of `semantic-version`. See: bitprophet/releases#94
We had accrued a big bunch of deprecation warnings (which usually showed up when running the tests) which would cause breakage in future Python versions. This upgrades packages as necessary and fixes most warnings. The remaining ones are being tracked here: - raiden-network/raiden-api-client#1 - matrix-org/synapse#9641 - matrix-org/synapse#9642 - slezica/python-frozendict#25 This also temporarily removes the docs requirements from the dev set since there's a conflict between `releases` and `py-solc-x` pinned versions of `semantic-version`. See: bitprophet/releases#94
We had accrued a big bunch of deprecation warnings (which usually showed up when running the tests) which would cause breakage in future Python versions. This upgrades packages as necessary and fixes most warnings. The remaining ones are being tracked here: - raiden-network/raiden-api-client#1 - matrix-org/synapse#9641 - matrix-org/synapse#9642 - slezica/python-frozendict#25 This also temporarily removes the docs requirements from the dev set since there's a conflict between `releases` and `py-solc-x` pinned versions of `semantic-version`. See: bitprophet/releases#94
The use of frozendict might be confusing and the package does not work on recent Python versions [1]. [1] slezica/python-frozendict#25
We had accrued a big bunch of deprecation warnings (which usually showed up when running the tests) which would cause breakage in future Python versions. This upgrades packages as necessary and fixes most warnings. The remaining ones are being tracked here: - raiden-network/raiden-api-client#1 - matrix-org/synapse#9641 - matrix-org/synapse#9642 - slezica/python-frozendict#25 This also temporarily removes the docs requirements from the dev set since there's a conflict between `releases` and `py-solc-x` pinned versions of `semantic-version`. See: bitprophet/releases#94
Looks like the PyPI transfer has happened! |
Well, finally :) |
Version 2.0.2 released. Unluckily, Pypi supports only manylinux builds, so there's only the pure py version for now. |
Now that @Marco-Sulla has taken over the PyPI project (congrats!), perhaps @slezica could update his |
Closing because this repo is abandoned in favor of https://github.com/Marco-Sulla/python-frozendict |
@Zac-HD Could you please add the link to your first post? |
Uh oh!
There was an error while loading. Please reload this page.
Closing because this repo is abandoned in favor of https://github.com/Marco-Sulla/python-frozendict
Hi! FYI, the following line is emitting deprecation warnings, and will break on Python 3.8:
python-frozendict/frozendict/__init__.py
Line 16 in c5d16ba
That's because all of the abstract base classes have been moved from
collections
in Python 2, tocollections.abc
in Python 3. The warning was added in python/cpython#5460. Could you try to import fromcollections.abc
and fall back to the existing style?The text was updated successfully, but these errors were encountered: