provinzio / CoinTaxman

Calculate your taxes from cryptocurrency gains
GNU Affero General Public License v3.0
140 stars 31 forks source link

Manage dependencies with pip-tools #140

Closed jhoogstraat closed 2 years ago

jhoogstraat commented 2 years ago

This is a follow-up pr for #122.

Maybe add 1-2 lines to explain how to use pip-tools in the readme?

I tried to fix linting issues as good as I can. Please review.

jhoogstraat commented 2 years ago

I think it is enough, if requirements-dev.in references requirements.in (which adds all deps in requirements.txt to requirements-dev.txt). I can create a requirements-base.in, but in my opinion that only adds complexity and does make it ambiguous where to put new dependencies.

provinzio commented 2 years ago

I think it is enough, if requirements-dev.in references requirements.in (which adds all deps in requirements.txt to requirements-dev.txt). I can create a requirements-base.in, but in my opinion that only adds complexity and does make it ambiguous where to put new dependencies.

Referencing sounds like a good idea.

jhoogstraat commented 2 years ago

The dev deps are now constrained torequirements.txt and do not include normal deps anymore. This is because there were unresolvable dependencies (pointing to different versions) in each file.

I don't really like having requirements-dev.in depend on requirements.txt, but yeah..

provinzio commented 2 years ago

The dev deps are now constrained torequirements.txt and do not include normal deps anymore. This is because there were unresolvable dependencies (pointing to different versions) in each file.

I don't really like having requirements-dev.in depend on requirements.txt, but yeah..

But it should be contrainted by the base requirements, shouldn't it? The dev reqs are always installed with the base reqs. It doesn't make sense to install dev reqs by themselves.

jhoogstraat commented 2 years ago

The dev deps are now constrained torequirements.txt and do not include normal deps anymore. This is because there were unresolvable dependencies (pointing to different versions) in each file. I don't really like having requirements-dev.in depend on requirements.txt, but yeah..

But it should be contrainted by the base requirements, shouldn't it? The dev reqs are always installed with the base reqs. It doesn't make sense to install dev reqs by themselves.

Sorry for the misunderstanding. The dev reqs are constrained by the base reqs. It's just that they are not duplicated in the -dev.txt file. The make command and the ci action are doing the same, installing the base reqs and then the dev reqs.

provinzio commented 2 years ago

The dev deps are now constrained torequirements.txt and do not include normal deps anymore. This is because there were unresolvable dependencies (pointing to different versions) in each file. I don't really like having requirements-dev.in depend on requirements.txt, but yeah..

But it should be contrainted by the base requirements, shouldn't it? The dev reqs are always installed with the base reqs. It doesn't make sense to install dev reqs by themselves.

Sorry for the misunderstanding. The dev reqs are constrained by the base reqs. It's just that they are not duplicated in the -dev.txt file. The make command and the ci action are doing the same, installing the base reqs and then the dev reqs.

In that case, we can adjust the make routine for installing the dev requirements.

But I am indifferent whether we constrain the requirements or include them... we can keep it like now; fine for me.

provinzio commented 2 years ago

Maybe add 1-2 lines to explain how to use pip-tools in the readme?

Do you have a good idea, what we could say in the readme? Looking forward to your commit.

provinzio commented 2 years ago

Hey @jhoogstraat, thank you for your awesome contribution. This really cleans up our dependencies.