NASA-PDS / peppi

Planetary Data Explorere: Python (PEPPi) library (pds.peppi) to access Planetary Data from the Planetary Data System (formerly known as updart)
https://nasa-pds.github.io/peppi
Apache License 2.0
0 stars 0 forks source link

Support fields filtering and pandas dataframe output for Messenger notebook demo #65

Open tloubrieu-jpl opened 2 days ago

tloubrieu-jpl commented 2 days ago

🗒️ Summary

Adds a filter on the fields returned and a way to return the metadata fields in a pandas dataframe.

⚙️ Test Data and/or Report

pytest

♻️ Related Issues

Fixes #57 Fixes #64

nutjob4life commented 2 days ago

@tloubrieu-jpl am I doing this wrong? I can't seem to install this:

$ pwd
/Users/kelly/Documents/Clients/JPL/PDS/Development/nasa-pds/peppi
$ git pull
Already up to date.
$ git branch
  51_iterator_yield
  main
* messenger_case
$ python3.9 -m venv .venv
$ . .venv/bin/activate
(.venv) $ pip install --quiet --upgrade pip
(.venv) $ pip install --quiet --editable '.[dev]'
ERROR: Ignored the following yanked versions: 1.5.3.230320, 2.2.2.240805
ERROR: Ignored the following versions that require a different python version: 2.2.2.240909 Requires-Python >=3.10; 2.2.3.241009 Requires-Python >=3.10; 8.0.0 Requires-Python >=3.10; 8.0.0rc1 Requires-Python >=3.10; 8.0.1 Requires-Python >=3.10; 8.0.2 Requires-Python >=3.10; 8.1.0 Requires-Python >=3.10; 8.1.1 Requires-Python >=3.10; 8.1.2 Requires-Python >=3.10; 8.1.3 Requires-Python >=3.10
ERROR: Could not find a version that satisfies the requirement pandas-stubs~=2.2.3; extra == "dev" (from pds-peppi[dev]) (from versions: 1.0.4.2, 1.0.4.3, 1.0.4.4, 1.0.4.5, 1.0.4.6, 1.0.4.7, 1.1.0.1, 1.1.0.2, 1.1.0.3, 1.1.0.4, 1.1.0.5, 1.1.0.6, 1.1.0.7, 1.1.0.8, 1.1.0.9, 1.1.0.10, 1.1.0.11, 1.1.0.12, 1.1.0.13, 1.1.0.14, 1.2.0.1, 1.2.0.2, 1.2.0.3, 1.2.0.4, 1.2.0.5, 1.2.0.6, 1.2.0.7, 1.2.0.8, 1.2.0.9, 1.2.0.10, 1.2.0.11, 1.2.0.12, 1.2.0.13, 1.2.0.14, 1.2.0.15, 1.2.0.16, 1.2.0.17, 1.2.0.18, 1.2.0.19, 1.2.0.20, 1.2.0.21, 1.2.0.22, 1.2.0.23, 1.2.0.24, 1.2.0.25, 1.2.0.26, 1.2.0.27, 1.2.0.28, 1.2.0.29, 1.2.0.30, 1.2.0.31, 1.2.0.32, 1.2.0.33, 1.2.0.34, 1.2.0.35, 1.2.0.36, 1.2.0.37, 1.2.0.38, 1.2.0.39, 1.2.0.40, 1.2.0.41, 1.2.0.42, 1.2.0.43, 1.2.0.44, 1.2.0.45, 1.2.0.46, 1.2.0.47, 1.2.0.48, 1.2.0.49, 1.2.0.50, 1.2.0.51, 1.2.0.52, 1.2.0.53, 1.2.0.54, 1.2.0.55, 1.2.0.56, 1.2.0.57, 1.2.0.58, 1.2.0.59, 1.2.0.60, 1.2.0.61, 1.2.0.62, 1.4.2.220622, 1.4.2.220626, 1.4.3.220702, 1.4.3.220703, 1.4.3.220704, 1.4.3.220710, 1.4.3.220718, 1.4.3.220724, 1.4.3.220801, 1.4.3.220807, 1.4.3.220815, 1.4.3.220822, 1.4.3.220829, 1.4.4.220906, 1.4.4.220912, 1.4.4.220919, 1.5.0.220926, 1.5.0.221003, 1.5.0.221010, 1.5.0.221012, 1.5.1.221024, 1.5.2.221124, 1.5.2.221213, 1.5.2.230105, 1.5.3.230203, 1.5.3.230214, 1.5.3.230227, 1.5.3.230304, 1.5.3.230321, 2.0.0.230412, 2.0.1.230501, 2.0.2.230605, 2.0.3.230814, 2.1.1.230928, 2.1.4.231218, 2.1.4.231227, 2.2.0.240218, 2.2.1.240316, 2.2.2.240514, 2.2.2.240603, 2.2.2.240807)
ERROR: No matching distribution found for pandas-stubs~=2.2.3; extra == "dev"
tloubrieu-jpl commented 1 day ago

Hi @nutjob4life , I fixed the build issue.

nutjob4life commented 1 day ago

Hi @nutjob4life , I fixed the build issue.

Thanks @tloubrieu-jpl! However, I'm still getting the same error:

ERROR: Ignored the following yanked versions: 1.5.3.230320, 2.2.2.240805
ERROR: Ignored the following versions that require a different python version: 2.2.2.240909 Requires-Python >=3.10; 2.2.3.241009 Requires-Python >=3.10; 8.0.0 Requires-Python >=3.10; 8.0.0rc1 Requires-Python >=3.10; 8.0.1 Requires-Python >=3.10; 8.0.2 Requires-Python >=3.10; 8.1.0 Requires-Python >=3.10; 8.1.1 Requires-Python >=3.10; 8.1.2 Requires-Python >=3.10; 8.1.3 Requires-Python >=3.10

That error tells me this software isn't compatible with Python 3.9.

And, sure enough, when I try Python 3.11, it works fine.

When last I checked, I thought Python 3.9 was the "standard" version we were going to be using for all Python work in PDS-EN. (It's what the Roundup Action uses.)

If this package requires a different Python version, is that okay?

collinss-jpl commented 1 day ago

@tloubrieu-jpl One more thing has occurred to me while working on converting the find-data-standalone notebook from the search-api-notebook repo to use peppi: We still need to add support for providing "keywords" to the product_list in the same manner as this example from said notebook:

api_response = products.product_list(keywords=['ovirs'])

I think this would work very similarly to the fields filter you've added, so it might be worth adding support for keywords in this branch as well?