maxmahlke / classy

classification tool for minor bodies using reflectance spectra and visual albedos
https://classy.readthedocs.io
MIT License
16 stars 1 forks source link

Following README example leads to a crash #11

Closed Siltala closed 4 months ago

Siltala commented 4 months ago

Hi Max,

I was hoping to try out classy for taking a closer look at the specific asteroid - it used to work fine but it's been a while! Now, following the examples given in the README file leads to a crash:

$ classy classify --wave_min 0.45 --wave_max 1.8 --family Themis --albedo ,0.06
Traceback (most recent call last):
  File "/home/lauri/.local/bin/classy", line 8, in <module>
    sys.exit(cli_classy())
             ^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/classy/cli.py", line 63, in classify
    spectra = classy.Spectra(id, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/classy/core.py", line 519, in __init__
    spectra = index.query(id, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/classy/index/__init__.py", line 135, in query
    idx = idx.reset_index(names="filename")
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lauri/.local/lib/python3.12/site-packages/pandas/core/frame.py", line 6472, in reset_index
    new_obj.insert(
  File "/home/lauri/.local/lib/python3.12/site-packages/pandas/core/frame.py", line 5158, in insert
    raise ValueError(f"cannot insert {column}, already exists")
ValueError: cannot insert filename, already exists

Same thing happens on both my Arch Linux and Ubuntu systems. A simpler command like classy classify 2017BW works, so the setup can't be entirely broken :)

maxmahlke commented 4 months ago

Hi Lauri, very unfortunate timing, I pushed the version with the bug you get there the same day as you created this issue. So I'm going to blame you for this ;-) All fixed now in version 0.8.5.