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

Ran Ziv updated ARIA-96:
------------------------
    Issue Type: Story  (was: Task)

> Dependency versions strictness / conflicts
> ------------------------------------------
>
>                 Key: ARIA-96
>                 URL: https://issues.apache.org/jira/browse/ARIA-96
>             Project: AriaTosca
>          Issue Type: Story
>            Reporter: Ran Ziv
>            Assignee: Avia Efrat
>             Fix For: 0.1.0
>
>
> 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