casics / spiral

A Python 3 module that provides functions for splitting identifiers found in source code files.
GNU General Public License v3.0
48 stars 9 forks source link

Deprecation of collections.iterable #4

Open alextdnreb opened 2 years ago

alextdnreb commented 2 years ago

Hello,

I'm having a problem trying to use the ronin splitter on python version 3.10.4.

The error message is: AttributeError: module 'collections' has no attribute 'Iterable'

I think this is caused by the fact that collections.iterable is deprecated since python version 3.3 and removed in 3.10, as explained in this StackOverflow answer.

However, it is still used in the file spiral/utils.py:

if isinstance(el, collections.Iterable) and not isinstance(el, (str, bytes)):

A possible way to fix this problem and keep downwards compatibility is explained here. This solution worked for me. Now, the ronin splitter is working like a charm :)

If you want, I can provide a Pull Request with this solution for you!

cnewman commented 1 year ago

The maintainer has been responsive to pull requests in the past. I'd just make one.

I'm getting close to this becoming a thing I'll have to deal with, so if you don't, I'll make one before long.