mtzgroup / chemcloud-client

Python client for TeraChem Cloud
MIT License
11 stars 3 forks source link

Bump dependency versions #66

Closed jevandezande closed 2 months ago

jevandezande commented 2 months ago

The pytest-httpx version was conflicting with httpx when attempting to build with Python 3.11, so the limit was relaxed. Python was also bumped to help satisfy Poetry dependency solving (end of security fixes for Python 3.8 is 2024-10, while end of full support for Python 3.10 is 2023-04-05)

Also bumped the ruff version and made it take care of the formatting and sorting, so that isort and black can be dropped. It appears that import sorting with qcio and tests as known-first-party packages was not happening, thus the import order changes.

This solves #65. However, it may be useful to bump or relax some of the dependency specifications further.

coltonbh commented 2 months ago

Thanks for this! Was out of the office this week and just getting back tonight. Will take a look Monday :)

jevandezande commented 2 months ago

I can make the requested changes tomorrow. I think that the change in sort order with qcio is actually due to the fact that isort wasn't getting the known first party flag for qcio, and now ruff is recognizing the flag. Should I just drop that flag then if we want to sort qcio as a third party import?

coltonbh commented 2 months ago

Great thanks!

Usually isort does the following:

# Standard Library Imports
import os
import sys

# Third-Party Imports
import numpy as np
from qcio import Structure

# First-Party Imports
from my_project import my_module

qcio is a third party package, external to chemcloud, so we'll want it with the other third party imports :)

Yes--I now see that you specifically included qcio as known-first-party which is why the sort order got changed on a few modules. Let's drop that so qcio is properly treated as third party.

If you can rebase and squash your changes down to a single commit that would be great!

coltonbh commented 2 months ago

It would also be nice if you enabled workflows for this fork so we can confirm the updates to CI/CD are working nicely :)

Enable Workflows in the Fork:

jevandezande commented 2 months ago

Mypy was acting weird in python3.9 on chemcloud/config.py, claiming that there was an attempt to union types with a |, despite no such line existing. I fixed the error by adding a from __future__ import annotations, and all the tests passed. I'm not particularly happy with this fix, since I'm unsure of the origin of the problem, but the code passes all of the tests and should be good to merge.

coltonbh commented 2 months ago

@jevandezande these changes have been released in v0.12.0. Now published to PyPi. Thanks for the update! :pray: