Skip to content
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

module 'gmaps' has no attribute 'symbol' #363

Open
WillMcCall opened this issue May 18, 2023 · 1 comment
Open

module 'gmaps' has no attribute 'symbol' #363

WillMcCall opened this issue May 18, 2023 · 1 comment

Comments

@WillMcCall
Copy link

I was able to run this same code using a heatmap layer instead of using a symbol but for some reason when I try to run it using a symbol it returns "module 'gmaps' has no attribute 'symbol'". I'm running this on a Jupyter Notebook and I have the latest version of gmaps which I installed using conda. I'm not sure what I've done wrong exactly (sorry if this is silly, I'm trying to learn coding for my new job).

 import gmaps
  
  gmaps.configure(api_key="***")
  
  locations = [(42.5, 88.3), (40.3, 90.2)]
  
  fig = gmaps.figure()
  marker_layer = gmaps.symbol(
      locations, fill_color="purple", stroke_color="purple",scale=5
  )
  fig.add_layer(marker_layer)
  fig
@CrepeGoat
Copy link

Hey @WillMcCall! I'm not a maintainer or anything, but I happened on this and think I can maybe help.

your immediate problem

Firstly, it looks like your example code is similar to the examples in this part of the tutorial. There it looks like the function name you want is symbol_layer, instead of symbol.

other problems

However, when I tried to run your code with ^my fix, I got another error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-09538d5bc6cd> in <cell line: 8>()
      6 
      7 fig = gmaps.figure()
----> 8 marker_layer = gmaps.symbol_layer(
      9     locations, fill_color="purple", stroke_color="purple",scale=5
     10 )

2 frames

[...]

/usr/local/lib/python3.10/dist-packages/gmaps/options.py in is_atomic(elem)
     38     return (
     39         isinstance(elem, string_types) or
---> 40         not isinstance(elem, collections.Iterable)
     41     )
     42 

AttributeError: module 'collections' has no attribute 'Iterable'

This looks like gmaps is misusing Python's builtin collections module. Specifically, Iterable used to be in collections but was moved to collections.abc way back in Python version ~3.3?, which has been in EOF for over a decade.

Looking further into it, the setup.py file here seems to suggest that this package supports Python version up to 3.6.

On top of that, this repo seems to not have seen any changes since 2019.

tl;dr: this gmaps package may be abandoned and out-of-date. If you want to use it, you unfortunately may have to do some maintenance yourself.

my recommendations

In general, I'd recommend asking these kinds of usage questions on Stack Overflow, instead of as an issue in the repo. You have a better chance of getting a decent answer (there are always SO users, but maintainers may disappear), and worst-case they'll tell you to message the package maintainers anyway.

Good luck with your efforts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants