thanks for all the discussions! here are the next steps I can see:

1. create a `python/requirements.txt` for the core direct dependencies, specify 
version constraints as appropriate to be used in the CI. also create e.g. 
`python/requirements-tflite.txt` files (one per extra feature of TVM) in the 
same spirit.
2. modify `python/setup.py` to use those `requirements.txt` to derive 
`install_requires`.
3. create `python/requirements-dev.txt`, which will not be read by `setup.py` 
but which should be used to install dev dependencies (i.e. lint, pytest, 
sphinx).
4. modify the CI docker build scripts as follows:
   1. update to pip 20.3 to use the new dependency resolver
   2. delete all `pip install foo` commands and replace them with a single `pip 
install` command (see next bullet point)
   3. create `python/ci-constraints.txt` which captures even more restrictive 
constraints for use with the CI that we would not ordinarily populate.
    4. modify the CI install scripts in `docker/install/*.sh`, deleting all 
`pip install` commands and replacing with `pip install -e ./python -c 
python/ci-constraints-concatenated.txt` (and potentially `./python[tflite]` 
when extras are needed). `ci-constraints-concatenated.txt` is synthetically 
built by a shell script function concatenating these files (we may need to 
de-dupe python packages, so this may become a python script):
        - `python/requirements.txt`
        - `python/requirements-$extra.txt`
        - `python/ci-constraints.txt`
  
in a follow-on RFC, we'll consider the challenge of ensuring that this 
constraints file is uniform across all CI containers (I.e. also the question of 
whether this is necessary). we'll also consider challenges in keeping the 
requirements up-to-date, which may be easier with a tool such as poetry or may 
not. I think given the new pip dependency resolver, motivation for the use of 
poetry or some additional tool should come after considering that.





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/rfc-consolidating-tvm-python-dependencies/8329/19)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/7101446e06761a9ac9ff57ba2dd4d0b8fcd319bdfc9b4c62ce4357bbd3d584be).

Reply via email to