compas-dev / compas-dev/compas

pinned dependencies

Open
#1,475 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
386
Forks
122
Avg merge
11d 46m
Merged PRs (30d)
1

Description

I think not pinning dependencies (scipy==1.1 vs scipy>=1.1) is problematic.

```
networkx >= 3.0
numpy >= 1.15.4
scipy >= 1.1
```

for example `numpy >= 1.15.4` might imply installing `numpy 2.0` with breaking changes / or introducing compatibility issues downstream (I mean related compas_*** packages).
Since `compas` is a foundational library, dependencies have to be pinned rather than loosely suggested as in the current situation.

modern tools such as [pixi](https://pixi.sh/latest/) offer deterministic builds (via `Lock` files) which is incredible robust; by that I mean that the requirements.txt deviates too much from the gold standard.

the lack of well defined requirements is seen in some of the best packages in the `compas` eco system

Image

here `compas` is a dependency and I think there is a difference in pinning a foundational library vs those that depend on it.

by that I mean that it would be highly productive to refactor `requirements.txt` across the board.

@tomvanmele & @gonzalocasas curious to have your point of view

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.