Closed Antauri closed 2 years ago
I think you have to update the version constraints in setup.py: these (as far as I know) will be the relevant ones when installing it as a dependency.
My understanding of dependencies in requirements.txt
and setup.py
is the following:
setup.py
dependencies is used when the software is installed as a dependency via pip (e.g. someone runs pip install dbt-athena
). To prevent version clashes with other packages co-installed with dbt-athena
, in setup.py
dependencies, only known not-working versions should be excluded (e.g. it only works after a feature got introduced -> use >=<version_which_got_feature
). The user is responsible for setting up a consistent working set of packages.requirements.txt
is usually used to specify the dependency of an app which gets deployed (similar to a lock file in other languages). It's only used when using this file as input to pip via pip install -f <filename>
. Installing it, it should result in a consistent and working set of packages. Packages should therefore be pinned to not get a surprising upgrade when installed later. (I also use requirement.txt(.in)
sometimes in a laxer way, but I always deploy from a pinned set of packages, e.g. I generate it via pip freeze
which has all packages pinned to a specific version).Going by that and seeing that requirements.txt
is used in the Makefile
(so more in a deployment mode), I would currently only touch setup.py
for now and then wait for @Tomme to say if the requirements.txt should also be adjusted.
@Tomme can you take a look - I suspect this is going to be blocking for most people using this library along with libraries like awswrangler
. discussion here
Maybe allowing it to work with awswrangler.