Hi everyone,
I ran systematic tests on pyDataverse 0.4.0beta1 (commit 1fb1ac6) using Python 3.14.7 on Windows against demo.dataverse.org. Here is a summary of what I tested and the observations and errors I ran into:
Environment:
Successful Operations:
Observations, Warnings & Errors Noticed:
Pydantic V2 Deprecation Warning:
Issue: Calling .json() on response objects triggered a deprecation warning:
PydanticDeprecatedSince20: The json method is deprecated; use model_dump_json instead.
Note: Might need updating internally to align with Pydantic v2 standards.
Draft Dataset Export (HTTP 400):
Issue: Calling get_dataset_export() on an unreleased/draft dataset without passing a version parameter resulted in:
HTTP 400 - Unable to look up dataset based on version. Try :latest-published or :draft.
Note: Works fine when version=':draft' is passed explicitly.
Strict Pydantic Validation on Metadata Edit:
Dataset Publication Rule (HTTP 409):
Issue: Attempting to publish a draft dataset via publish_dataset() returned:
HTTP 409 - Dataset must have a valid license or Custom Terms Of Use configured before it can be published.
Note: Standard server-side validation rule, but noted for workflow testing.
Janvi Kapoor said:
Note: Might need updating internally to align with Pydantic v2 standards.
For this one, observation 1, what do you suggest?
Also, thanks for taking a look!
Hi @Philip Durbin π
For Observation 1, since pyDataverse is using Pydantic v2, the older .json() method on models is deprecated in favor of .model_dump_json().
My suggestion would be to check the internal source code where .json() is being called on model instances and replace it with .model_dump_json() to fully align with Pydantic v2 standards and clear out those deprecation warnings.
Should I continue testing other methods like this, or should I change direction? Since the documentation is quite large, could you please point me to a specific module or file and let me know what exact operations you want me to focus on next?
Wow, that was fast. Sorry, I have meetings all morning. More soon! Thanks again!
Hi everyone,
While running edge-case and stress tests on pyDataverse 0.4.0beta1, I ran into one specific behavior in the collection crawler that might need a pre-flight validation check:
Crawler Hang / Timeout on Invalid Filter Parameter:
crawl_collection(":root", filter_by="invalid_filter_type"), the utility hangs indefinitely or causes an async network timeout instead of raising an immediate client-side validation error (like a ValueError).Other standard validation checks (like Pydantic literal validation for QueryOptions and HTTP status mappings for invalid IDs/tokens) are behaving as expected.
@Philip Durbin π Let me know if this helps or if there are other specific workflows you'd like me to test next!
Hi, sorry, I'm all over the place today. Interviewing candidates for our open QA position (#community > IQSS is hiring a Senior QA and Production Support Manager). Trying to get the 6.12 release out (#community > Release 6.12 Timeline).
All this feedback on pyDataverse is valuable but I'd like @Jan Range and Max (the maintainers) to take a look as well.
If it's ok with you, we can slow down on the pyDataverse feedback until we hear from them and switch over to frontend development (#ui-dev is a good place for that). Thanks for the frontend PR! :tada:
Hi @Philip Durbin π Please don't apologize at allβtotally understand you're busy with interviews and the 6.12 release.
No need to reply to me here! I'll keep dropping my pyDataverse test notes whenever I have them so Jan Range and Max can check them out whenever they're free.
And sounds good, I'll switch my focus back to frontend development in the meantime. Good luck with the interviews and release! :rocket:
Thanks! Yes, we'll circle back to this feedback!
Last updated: Nov 02 2026 at 07:01 UTC