[Bug]: The MPRester.get_entries method always returns duplicated results
Email (Optional)
No response
Version
v0.35.1
Which OS(es) are you using?
- [ ] MacOS
- [X] Windows
- [ ] Linux
What happened?
The MPRester.get_entries method always returns duplicated results. For example, the following script returns 3 entries for mp-149. It will be convenient if duplicated entries are removed in the results of get_entries. Thank you very much.
Code snippet
from mp_api.client import MPRester
mpr = MPRester("32-digit API key")
entry = mpr.get_entries("mp-149")
print(len(entry))
Log output
UserWarning: mpcontribs-client not installed. Install the package to query MPContribs data, or construct pourbaix diagrams: 'pip install mpcontribs-client'
3
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
@goodwilling thanks for bringing this up, I will take a closer at look at what might be causing this.
Thanks. After some tests, it is found that the duplicated results can be removed, if parallel_param = None is explicitly set in mp_api/client/core/client.py:
def _submit_requests(
# Generate new sets of criteria dicts to be run in parallel
# with new appropriate limit values. New limits obtained from
# trying to evenly divide num_chunks by the total number of new
# criteria dicts.
**_parallel_param = None_**
if parallel_param is not None:
# Determine slice size accounting for character maximum in HTTP URL
# First get URl length without parallel param
@goodwilling this is helpful. Was delayed updating a bunch of our packages to support pydantic 2.0, but will look at this today.