samuelduchesne/archetypal

Missing Dependencies (geomeppy, pydantic)

Opened this issue · 1 comments

szvsw commented

Pydantic is easier to solve.

It is not in requirements.txt; autodoc-pydantic is in requirements-dev.txt though. pydantic cheats its way into the ci/cd pipeline here:

python -m pip install -r requirements.txt -r requirements-dev.txt

This allows builds to pass even though they should fail for missing a dependency in non-dev mode.

geomeppy is currently only installed via the fork referenced in setup.py here:

archetypal/setup.py

Lines 67 to 69 in 0a951f7

dependency_links=[
"https://github.com/samuelduchesne/geomeppy.git@v0.13#egg=geomeppy"
],

and in ci/cd:

python -m pip install git+https://github.com/samuelduchesne/geomeppy.git@v0.13#egg=geomeppy

Pip installing archetypal locally may need a flag to correctly pick up external dependency links in setup.py, which should be mentioned in the toplevel readme, but ideally it can be solved in an automated fashion via slightly altering the setup.py or correctly preserving it in requirements.txt, which it was recently removed from. I can take a look tomorrow at what can be done to make it work automatically without needing any special user defined flags when installing.

@zlehong follow this thread for updates.

Good catch @szvsw! I had to do a dependency-link for this forked geomeppy because pypi does not allow packages with “@“ references, such as geomeppy @ git+ git+https://github.com/samuelduchesne/geomeppy.git@v0.13#egg=geomeppy. The real only solution is to push that pull request with geomeppy’s authors.