[ 
https://issues.apache.org/jira/browse/ARIA-96?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Avia Efrat updated ARIA-96:
---------------------------
    Description: 
When ARIA is used by another project, it might lead to dependency versions 
conflicts.
Dependency versions should be made less strict (i.e. ranges).
Alternatively we could consider vendoring some of the more common dependencies 
inside ARIA.
--------------------------------------------------------------------------------------------------------------------------
Our conclusions:

1. Currently, don't vendor any library.

2. Use pip-tools (specifically, pip-compile) to manage our dependencies / 
requirement files.

3. requirements.in:
The requirements.in will be read into `install_requires`, and includes loose 
dependencies (as possible, and only direct dependencies), as is common when 
installing using a setup.py file.
Since we haven't tested ARIA with many versions of our dependencies, our 
dependencies are not very loose, but we are hoping to improve this as our 
project matures.
Currently, when we provide an upper bound, it is either because of python 2.6 
compatibility, or according to a semantic versioning (i.e. future versions that 
could break the current API). Lower boundaries are usually the lowest version 
that we tested with ARIA, or because version before are lacking functionality 
we are using.

4. requirements.txt:
The requirements.txt is generated from requirements.in via pip-compile, and 
includes fixed-version dependencies, including all transitive dependencies, in 
order to provide an stable environment that ARIA is ensured to work on.

5. python 2.6 compatible dependencies:
As pip-compile currently does not provide support for conditional dependencies 
(https://github.com/jazzband/pip-tools/issues/435), we are adding these 
dependencies explicitly in the setup.py via `extras_require`, and manually in 
the generated requirements.txt. We are also mentioning this issue in a comment 
in requirements.in.

  was:
When ARIA is used by another project, it might lead to dependency versions 
conflicts.
Dependency versions should be made less strict (i.e. ranges).
Alternatively we could consider vendoring some of the more common dependencies 
inside ARIA.


> Dependency versions strictness / conflicts
> ------------------------------------------
>
>                 Key: ARIA-96
>                 URL: https://issues.apache.org/jira/browse/ARIA-96
>             Project: AriaTosca
>          Issue Type: Task
>            Reporter: Ran Ziv
>            Assignee: Avia Efrat
>
> When ARIA is used by another project, it might lead to dependency versions 
> conflicts.
> Dependency versions should be made less strict (i.e. ranges).
> Alternatively we could consider vendoring some of the more common 
> dependencies inside ARIA.
> --------------------------------------------------------------------------------------------------------------------------
> Our conclusions:
> 1. Currently, don't vendor any library.
> 2. Use pip-tools (specifically, pip-compile) to manage our dependencies / 
> requirement files.
> 3. requirements.in:
> The requirements.in will be read into `install_requires`, and includes loose 
> dependencies (as possible, and only direct dependencies), as is common when 
> installing using a setup.py file.
> Since we haven't tested ARIA with many versions of our dependencies, our 
> dependencies are not very loose, but we are hoping to improve this as our 
> project matures.
> Currently, when we provide an upper bound, it is either because of python 2.6 
> compatibility, or according to a semantic versioning (i.e. future versions 
> that could break the current API). Lower boundaries are usually the lowest 
> version that we tested with ARIA, or because version before are lacking 
> functionality we are using.
> 4. requirements.txt:
> The requirements.txt is generated from requirements.in via pip-compile, and 
> includes fixed-version dependencies, including all transitive dependencies, 
> in order to provide an stable environment that ARIA is ensured to work on.
> 5. python 2.6 compatible dependencies:
> As pip-compile currently does not provide support for conditional 
> dependencies (https://github.com/jazzband/pip-tools/issues/435), we are 
> adding these dependencies explicitly in the setup.py via `extras_require`, 
> and manually in the generated requirements.txt. We are also mentioning this 
> issue in a comment in requirements.in.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to