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

TypeError: '>=' not supported between instances of 'str' and 'datetime.datetime' #1218

Closed
Carreau opened this issue Mar 4, 2024 · 3 comments · Fixed by #1219
Closed

TypeError: '>=' not supported between instances of 'str' and 'datetime.datetime' #1218

Carreau opened this issue Mar 4, 2024 · 3 comments · Fixed by #1219

Comments

@Carreau
Copy link
Member

Carreau commented Mar 4, 2024

There is a new downstream failure

TypeError: '>=' not supported between instances of 'str' and 'datetime.datetime'

For example:

https://github.com/ipython/ipython/actions/runs/8138250074/job/22238601371?pr=14360

Originally posted by @Carreau in #1210 (comment)

@ianthomas23
Copy link
Collaborator

Copied from the linked, previously-merged, PR:

These are the same symptoms that I observed at #1210 (comment). ipyparallel unfortunately monkey-patches jupyter_clients conversion of strings to datetimes so it is a no-op, and some versions of pytest-asyncio don't fully isolate the tests so sometimes some of these start and end dates come through as strings.

In this PR updating pytest-asyncio to 0.23.5 worked, but this is evidently not sufficient as the IPython failure already uses pytest-asyncio-0.23.5.

I think the sensible approach here is to assume that in this test sometimes, outside of our direct control, the dates are strings and convert them to datetimes. Otherwise this test is not testing what it is supposed to, it is testing the types of some fields returned in messages. I'll submit a PR here ASAP.

@Carreau
Copy link
Member Author

Carreau commented Mar 4, 2024

Thanks, sorry I missed the earlier comment in the PR.

If I might suggest, you may want to check if it's a string or a date and still emit a warning if it's a string so that upstream can slowly patch. It would be good to have reply messages always well typed.

@ianthomas23
Copy link
Collaborator

I looked at issuing a warning in the test if an expected datetime is actually a string, but this will cause the tests to fail anyway unless we allow this warning in downstream CI.

There is work underway at https://github.com/jupyter/schema/ to precisely specify the content and types of messages (and lots of other things) which will eventually be used in CI and will identify these sorts of inconsistencies.

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

Successfully merging a pull request may close this issue.

2 participants