fetchai/cosmpy

Add a single point of dependency definition

Closed this issue · 2 comments

5A11 commented

Currently CosmPy uses requirements.texts, setup.py, Pipfile and pyproject.toml

  1. We need to specify dependencies ideally only in one place. Even if there are needs for having more than one of the above files (e.g. to allow multiple tools to be used such as piping and poetry together) then definitions should still be done only in one place and we should automatically create the other ones (or have tests that ensure they are consistent).
  2. We should look into a solution which allows categorising dependencies so that it would be possible to only install dependencies required for a specific workflow. For instance, tox can use such a feature to only install the dependencies required for each particular action. This could also be used in development. We could define categories such as test, docs, dev, all, ... and select a category upon installation and only get the deps needed for that particular work (testing, documentation, etc...)
  3. Related to the above is proper investigation of poetry as a single tool for dependency manager, project installer, venv provider, which also supports dependency categorisation.
5A11 commented

Some experimental PRs:
Using separate requirements.txt files; #252
Using poetry: #255.

5A11 commented

This is now added in #255