Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0

2018-10-05 Thread Kyle Hamlin
Thank for this Ash. Pipenv works very well in 99% of cases and is vastly
better than managing requirements files. Also, PYPA (Python Packaging
Authority) officially recommends Pipenv.

I gave poetry a try and it seems like it has a lot of potential. I did run
into two errors, a max recursion depth when installing Airflow with a lot
of extras, and when installing Airflow without any extras an issue
installing lxml.

On Fri, Oct 5, 2018 at 4:29 AM Ash Berlin-Taylor  wrote:

> Oh I meant FAB 1.11.1.
>
> And it looks like the Jinja issue is a bug in pip-tools, where it treats a
> dep of "jina" as actually being "jinja>=CURRENT"
> https://github.com/pypa/pipenv/issues/2596 <
> https://github.com/pypa/pipenv/issues/2596>
>
> In short: pip-env isn't ready for real-world use yet? (I'm guessing and
> extrapolating, but I haven't used it myself so don't trust my word on this)
>
> -ash
> > On 4 Oct 2018, at 16:38, Kyle Hamlin  wrote:
> >
> > If I remove the Flask-AppBuild pinning to 1.11.0 then it uncovers a
> Jinja2
> > conflict which is baffling because I don't see anywhere in the graph that
> > jinja2 >=2.10 is required.
> >
> > Could not find a version that matches
> > jinja2<2.9.0,>=2.10,>=2.4,>=2.5,>=2.7.3,>=2.8
> > Tried: 2.0, 2.1, 2.1.1, 2.2, 2.2.1, 2.3, 2.3.1, 2.4, 2.4.1, 2.5, 2.5.1,
> > 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.6, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.8, 2.8,
> 2.8.1,
> > 2.8.1, 2.9, 2.9, 2.9.1, 2.9.1, 2.9.2, 2.9.2, 2.9.3, 2.9.3, 2.9.4, 2.9.4,
> > 2.9.5, 2.9.5, 2.9.6, 2.9.6, 2.10, 2.10
> >
> > I highlighted why the dep fails there one dep that requires Jinjs2 <
> 2.9.0
> > but I still have not idea where the 2.10.0 comes from.
> >
> > apache-airflow==2.0.0.dev0+incubating
> >  - alembic [required: >=0.9,<1.0, installed: 0.9.10]
> >- Mako [required: Any, installed: 1.0.7]
> >  - MarkupSafe [required: >=0.9.2, installed: 1.0]
> >- python-dateutil [required: Any, installed: 2.7.3]
> >  - six [required: >=1.5, installed: 1.11.0]
> >- python-editor [required: >=0.3, installed: 1.0.3]
> >- SQLAlchemy [required: >=0.7.6, installed: 1.1.18]
> >  - bleach [required: ~=2.1.3, installed: 2.1.4]
> >- html5lib [required:
> >>
> =0.pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> > installed: 1.0.1]
> >  - six [required: >=1.9, installed: 1.11.0]
> >  - webencodings [required: Any, installed: 0.5.1]
> >- six [required: Any, installed: 1.11.0]
> >  - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> >  - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> >- python-dateutil [required: Any, installed: 2.7.3]
> >  - six [required: >=1.5, installed: 1.11.0]
> >  - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> >  - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> >- click [required: >=2.0, installed: 7.0]
> >- itsdangerous [required: >=0.21, installed: 0.24]
> >- Jinja2 [required: >=2.4, installed: 2.8.1]
> >  - MarkupSafe [required: Any, installed: 1.0]
> >- Werkzeug [required: >=0.7, installed: 0.14.1]
> >  - flask-admin [required: ==1.4.1, installed: 1.4.1]
> >- Flask [required: >=0.7, installed: 0.12.4]
> >  - click [required: >=2.0, installed: 7.0]
> >  - itsdangerous [required: >=0.21, installed: 0.24]
> >  - Jinja2 [required: >=2.4, installed: 2.8.1]
> >- MarkupSafe [required: Any, installed: 1.0]
> >  - Werkzeug [required: >=0.7, installed: 0.14.1]
> >- wtforms [required: Any, installed: 2.2.1]
> >  - flask-appbuilder [required: >=1.12,<2.0.0, installed: 1.12.0]
> >- click [required: ==6.7, installed: 7.0]
> >- colorama [required: ==0.3.9, installed: 0.3.9]
> >- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> >  - click [required: >=2.0, installed: 7.0]
> >  - itsdangerous [required: >=0.21, installed: 0.24]
> >  - Jinja2 [required: >=2.4, installed: 2.8.1]
> >- MarkupSafe [required: Any, installed: 1.0]
> >  - Werkzeug [required: >=0.7, installed: 0.14.1]
> >- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> >  - Babel [required: >=2.3, installed: 2.6.0]
> >- pytz [required: >=0a, installed: 2018.5]
> >  - Flask [required: Any, installed: 0.12.4]
> >- click [required: >=2.0, installed: 7.0]
> >- itsdangerous [required: >=0.21, installed: 0.24]
> >- Jinja2 [required: >=2.4, installed: 2.8.1]
> >  - MarkupSafe [required: Any, installed: 1.0]
> >- Werkzeug [required: >=0.7, installed: 0.14.1]
> >  - Jinja2 [required: >=2.5, installed: 2.8.1]
> >- MarkupSafe [required: Any, installed: 1.0]
> >- Flask-Login [required: >=0.3,<0.5, installed: 0.4.1]
> >  - Flask [required: Any, installed: 0.12.4]
> >- click [required: >=2.0, installed: 7.0]
> >- itsdangerous [required: >=0.21, installed: 0.24]
> >- Jinja2 [required: >=2.4, installed: 2.8.1]
> >  - MarkupSafe [required: Any, installed: 1.0]
> >- Werkzeug 

Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0

2018-10-04 Thread Kyle Hamlin
If I remove the Flask-AppBuild pinning to 1.11.0 then it uncovers a Jinja2
conflict which is baffling because I don't see anywhere in the graph that
jinja2 >=2.10 is required.

Could not find a version that matches
jinja2<2.9.0,>=2.10,>=2.4,>=2.5,>=2.7.3,>=2.8
Tried: 2.0, 2.1, 2.1.1, 2.2, 2.2.1, 2.3, 2.3.1, 2.4, 2.4.1, 2.5, 2.5.1,
2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.6, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.8, 2.8, 2.8.1,
2.8.1, 2.9, 2.9, 2.9.1, 2.9.1, 2.9.2, 2.9.2, 2.9.3, 2.9.3, 2.9.4, 2.9.4,
2.9.5, 2.9.5, 2.9.6, 2.9.6, 2.10, 2.10

I highlighted why the dep fails there one dep that requires Jinjs2 < 2.9.0
but I still have not idea where the 2.10.0 comes from.

apache-airflow==2.0.0.dev0+incubating
  - alembic [required: >=0.9,<1.0, installed: 0.9.10]
- Mako [required: Any, installed: 1.0.7]
  - MarkupSafe [required: >=0.9.2, installed: 1.0]
- python-dateutil [required: Any, installed: 2.7.3]
  - six [required: >=1.5, installed: 1.11.0]
- python-editor [required: >=0.3, installed: 1.0.3]
- SQLAlchemy [required: >=0.7.6, installed: 1.1.18]
  - bleach [required: ~=2.1.3, installed: 2.1.4]
- html5lib [required:
>=0.pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
installed: 1.0.1]
  - six [required: >=1.9, installed: 1.11.0]
  - webencodings [required: Any, installed: 0.5.1]
- six [required: Any, installed: 1.11.0]
  - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
  - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
- python-dateutil [required: Any, installed: 2.7.3]
  - six [required: >=1.5, installed: 1.11.0]
  - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
  - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
  - MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
  - flask-admin [required: ==1.4.1, installed: 1.4.1]
- Flask [required: >=0.7, installed: 0.12.4]
  - click [required: >=2.0, installed: 7.0]
  - itsdangerous [required: >=0.21, installed: 0.24]
  - Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
  - Werkzeug [required: >=0.7, installed: 0.14.1]
- wtforms [required: Any, installed: 2.2.1]
  - flask-appbuilder [required: >=1.12,<2.0.0, installed: 1.12.0]
- click [required: ==6.7, installed: 7.0]
- colorama [required: ==0.3.9, installed: 0.3.9]
- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
  - click [required: >=2.0, installed: 7.0]
  - itsdangerous [required: >=0.21, installed: 0.24]
  - Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
  - Werkzeug [required: >=0.7, installed: 0.14.1]
- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
  - Babel [required: >=2.3, installed: 2.6.0]
- pytz [required: >=0a, installed: 2018.5]
  - Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
  - MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
  - Jinja2 [required: >=2.5, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Flask-Login [required: >=0.3,<0.5, installed: 0.4.1]
  - Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
  - MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
  - Flask [required: >=0.10.1, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
  - MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
  - python3-openid [required: >=2.0, installed: 3.1.0]
- defusedxml [required: Any, installed: 0.5.0]
- Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
  - Flask [required: >=0.10, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
  - MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
  - SQLAlchemy [required: >=0.7, installed: 1.1.18]
- Flask-WTF [required: ==0.14.2, installed: 0.14.2]
  - Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
   

Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0

2018-10-04 Thread Kyle Hamlin
Thank you for the response Ash.

Even with your suggestion, there appear to be version conflicts all over
the place. Can you get this Pipfile to install because I cannot?

*Pipfile:*

[[source]]
url = "https://pypi.python.org/simple; [[source]]
verify_ssl = true
name = "pypi"

[packages]
apache-airflow = {editable = true, ref =
"fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
https://github.com/apache/incubator-airflow.git;, extras = ["s3", "slack",
"kubernetes", "celery", "postgres", "mongo", "crypto"]}
Flask-AppBuilder="==1.11.0"

[requires]
python_version = "3.6"






On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor  wrote:

> We've committed a fix for this to master and will include it in a 1.10.1
> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
>
>
> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
>
> > On 4 Oct 2018, at 00:41, Kyle Hamlin  wrote:
> >
> > Hi,
> >
> > Today I was trying to upgrade Airflow to 1.10.0 and it appears that there
> > are some version conflicts with click and flask-login. I uncovered these
> > because I use Pipenv to manage our project's dependencies. You can see
> here
> > that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
> >
> >
> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
> >
> > I'm able to force pipenv to install click==6.7 because that is not pinned
> > in Airflow's setup.py, but I can do nothing about flask-login because
> > Airflow pins the flask-login version:
> > https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
> >
> > This prevents me from being able to upgrade to 1.10.0.
> >
> > *Pipenv's Graphed project dependencies (conflicts highlighted):*
> >
> > apache-airflow==1.10.0
> >  - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
> >- Mako [required: Any, installed: 1.0.7]
> >  - MarkupSafe [required: >=0.9.2, installed: 1.0]
> >- python-editor [required: >=0.3, installed: 1.0.3]
> >- SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
> >  - bleach [required: ==2.1.2, installed: 2.1.2]
> >- html5lib [required:
> >>
> =0.pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> > installed: 1.0.1]
> >  - six [required: >=1.9, installed: 1.11.0]
> >  - webencodings [required: Any, installed: 0.5.1]
> >- six [required: Any, installed: 1.11.0]
> >  - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> >  - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> >- python-dateutil [required: Any, installed: 2.7.3]
> >  - six [required: >=1.5, installed: 1.11.0]
> >  - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> >  - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> >- click [required: >=2.0, installed: 7.0]
> >- itsdangerous [required: >=0.21, installed: 0.24]
> >- Jinja2 [required: >=2.4, installed: 2.8.1]
> >  - MarkupSafe [required: Any, installed: 1.0]
> >- Werkzeug [required: >=0.7, installed: 0.14.1]
> >  - flask-admin [required: ==1.4.1, installed: 1.4.1]
> >- Flask [required: >=0.7, installed: 0.12.4]
> >  - click [required: >=2.0, installed: 7.0]
> >  - itsdangerous [required: >=0.21, installed: 0.24]
> >  - Jinja2 [required: >=2.4, installed: 2.8.1]
> >- MarkupSafe [required: Any, installed: 1.0]
> >  - Werkzeug [required: >=0.7, installed: 0.14.1]
> >- wtforms [required: Any, installed: 2.2.1]
> >  - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
> >- click [required: ==6.7, installed: 7.0]
> >- colorama [required: ==0.3.9, installed: 0.3.9]
> >- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> >  - click [required: >=2.0, installed: 7.0]
> >  - itsdangerous [required: >=0.21, installed: 0.24]
> >  - Jinja2 [required: >=2.4, installed: 2.8.1]
> >- MarkupSafe [required: Any, installed: 1.0]
> >  - Werkzeug [required: >=0.7, installed: 0.14.1]
> >- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> >  - Babel [required: >=2.3, installed: 2.6.0]
> >- pytz [required: >=0a, installed: 2018.5]
> >  - Flask [required: Any, installed: 0.12.4]
> >- click [required: >=2.0, installed: 7.0]
> >- itsdangerous [required: >=0.21, installed: 0.24]
> >- Jinja2 [required: >=2.4, installed: 2.8.1]
> >  - MarkupSafe [required: Any, installed: 1.0]
> >- Werkzeug [required: >=0.7, installed: 0.14.1]
> >  - Jinja2 [required: >=2.5, installed: 2.8.1]
> >- MarkupSafe [required: Any, installed: 1.0]
> >- Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
> >  - Flask [required: Any, installed: 0.12.4]
> >- click [required: >=2.0, installed: 7.0]
> >- itsdangerous [required: >=0.21, installed: 0.24]
> >- Jinja2 [required: >=2.4, installed: 2.8.1]
> >  - MarkupSafe [required: Any, installed: 1.0]
> >- Werkzeug [required: >=0.7, installed: 

Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0

2018-10-04 Thread Kyle Hamlin
whoops remove the [[source]] at the end of the url = "
https://pypi.python.org/simple; that is a typo.

On Thu, Oct 4, 2018 at 11:26 AM Kyle Hamlin  wrote:

> Thank you for the response Ash.
>
> Even with your suggestion, there appear to be version conflicts all over
> the place. Can you get this Pipfile to install because I cannot?
>
> *Pipfile:*
>
> [[source]]
> url = "https://pypi.python.org/simple; [[source]]
> verify_ssl = true
> name = "pypi"
>
> [packages]
> apache-airflow = {editable = true, ref =
> "fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
> https://github.com/apache/incubator-airflow.git;, extras = ["s3",
> "slack", "kubernetes", "celery", "postgres", "mongo", "crypto"]}
> Flask-AppBuilder="==1.11.0"
>
> [requires]
> python_version = "3.6"
>
>
>
>
>
>
> On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor  wrote:
>
>> We've committed a fix for this to master and will include it in a 1.10.1
>> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
>>
>>
>> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
>>
>> > On 4 Oct 2018, at 00:41, Kyle Hamlin  wrote:
>> >
>> > Hi,
>> >
>> > Today I was trying to upgrade Airflow to 1.10.0 and it appears that
>> there
>> > are some version conflicts with click and flask-login. I uncovered these
>> > because I use Pipenv to manage our project's dependencies. You can see
>> here
>> > that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
>> >
>> >
>> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
>> >
>> > I'm able to force pipenv to install click==6.7 because that is not
>> pinned
>> > in Airflow's setup.py, but I can do nothing about flask-login because
>> > Airflow pins the flask-login version:
>> > https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
>> >
>> > This prevents me from being able to upgrade to 1.10.0.
>> >
>> > *Pipenv's Graphed project dependencies (conflicts highlighted):*
>> >
>> > apache-airflow==1.10.0
>> >  - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
>> >- Mako [required: Any, installed: 1.0.7]
>> >  - MarkupSafe [required: >=0.9.2, installed: 1.0]
>> >- python-editor [required: >=0.3, installed: 1.0.3]
>> >- SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
>> >  - bleach [required: ==2.1.2, installed: 2.1.2]
>> >- html5lib [required:
>> >>
>> =0.pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
>> > installed: 1.0.1]
>> >  - six [required: >=1.9, installed: 1.11.0]
>> >  - webencodings [required: Any, installed: 0.5.1]
>> >- six [required: Any, installed: 1.11.0]
>> >  - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
>> >  - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
>> >- python-dateutil [required: Any, installed: 2.7.3]
>> >  - six [required: >=1.5, installed: 1.11.0]
>> >  - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
>> >  - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
>> >- click [required: >=2.0, installed: 7.0]
>> >- itsdangerous [required: >=0.21, installed: 0.24]
>> >- Jinja2 [required: >=2.4, installed: 2.8.1]
>> >  - MarkupSafe [required: Any, installed: 1.0]
>> >- Werkzeug [required: >=0.7, installed: 0.14.1]
>> >  - flask-admin [required: ==1.4.1, installed: 1.4.1]
>> >- Flask [required: >=0.7, installed: 0.12.4]
>> >  - click [required: >=2.0, installed: 7.0]
>> >  - itsdangerous [required: >=0.21, installed: 0.24]
>> >  - Jinja2 [required: >=2.4, installed: 2.8.1]
>> >- MarkupSafe [required: Any, installed: 1.0]
>> >  - Werkzeug [required: >=0.7, installed: 0.14.1]
>> >- wtforms [required: Any, installed: 2.2.1]
>> >  - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
>> >- click [required: ==6.7, installed: 7.0]
>> >- colorama [required: ==0.3.9, installed: 0.3.9]
>> >- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
>> >  - click [required: >=2.0, installed: 7.0]
>> >  - itsdangerous [required: >=0.21, installed: 0.24]
>> >  - Jinja2 [required: >=2.4, installed: 2.8.1]
>> >- MarkupSafe [required: Any, installed: 1.0]
>> >  - Werkzeug [required: >=0.7, installed: 0.14.1]
>> >- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
>> >  - Babel [required: >=2.3, installed: 2.6.0]
>> >- pytz [required: >=0a, installed: 2018.5]
>> >  - Flask [required: Any, installed: 0.12.4]
>> >- click [required: >=2.0, installed: 7.0]
>> >- itsdangerous [required: >=0.21, installed: 0.24]
>> >- Jinja2 [required: >=2.4, installed: 2.8.1]
>> >  - MarkupSafe [required: Any, installed: 1.0]
>> >- Werkzeug [required: >=0.7, installed: 0.14.1]
>> >  - Jinja2 [required: >=2.5, installed: 2.8.1]
>> >- MarkupSafe [required: Any, installed: 1.0]
>> >- Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
>> >  - Flask [required: Any, installed: 

Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0

2018-10-04 Thread Ash Berlin-Taylor
We've committed a fix for this to master and will include it in a 1.10.1 
https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a


For installing in the mea time pin `Flask-AppBuilder=1.11.0'

> On 4 Oct 2018, at 00:41, Kyle Hamlin  wrote:
> 
> Hi,
> 
> Today I was trying to upgrade Airflow to 1.10.0 and it appears that there
> are some version conflicts with click and flask-login. I uncovered these
> because I use Pipenv to manage our project's dependencies. You can see here
> that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
> 
> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
> 
> I'm able to force pipenv to install click==6.7 because that is not pinned
> in Airflow's setup.py, but I can do nothing about flask-login because
> Airflow pins the flask-login version:
> https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
> 
> This prevents me from being able to upgrade to 1.10.0.
> 
> *Pipenv's Graphed project dependencies (conflicts highlighted):*
> 
> apache-airflow==1.10.0
>  - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
>- Mako [required: Any, installed: 1.0.7]
>  - MarkupSafe [required: >=0.9.2, installed: 1.0]
>- python-editor [required: >=0.3, installed: 1.0.3]
>- SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
>  - bleach [required: ==2.1.2, installed: 2.1.2]
>- html5lib [required:
>> =0.pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> installed: 1.0.1]
>  - six [required: >=1.9, installed: 1.11.0]
>  - webencodings [required: Any, installed: 0.5.1]
>- six [required: Any, installed: 1.11.0]
>  - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
>  - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
>- python-dateutil [required: Any, installed: 2.7.3]
>  - six [required: >=1.5, installed: 1.11.0]
>  - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
>  - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
>- click [required: >=2.0, installed: 7.0]
>- itsdangerous [required: >=0.21, installed: 0.24]
>- Jinja2 [required: >=2.4, installed: 2.8.1]
>  - MarkupSafe [required: Any, installed: 1.0]
>- Werkzeug [required: >=0.7, installed: 0.14.1]
>  - flask-admin [required: ==1.4.1, installed: 1.4.1]
>- Flask [required: >=0.7, installed: 0.12.4]
>  - click [required: >=2.0, installed: 7.0]
>  - itsdangerous [required: >=0.21, installed: 0.24]
>  - Jinja2 [required: >=2.4, installed: 2.8.1]
>- MarkupSafe [required: Any, installed: 1.0]
>  - Werkzeug [required: >=0.7, installed: 0.14.1]
>- wtforms [required: Any, installed: 2.2.1]
>  - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
>- click [required: ==6.7, installed: 7.0]
>- colorama [required: ==0.3.9, installed: 0.3.9]
>- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
>  - click [required: >=2.0, installed: 7.0]
>  - itsdangerous [required: >=0.21, installed: 0.24]
>  - Jinja2 [required: >=2.4, installed: 2.8.1]
>- MarkupSafe [required: Any, installed: 1.0]
>  - Werkzeug [required: >=0.7, installed: 0.14.1]
>- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
>  - Babel [required: >=2.3, installed: 2.6.0]
>- pytz [required: >=0a, installed: 2018.5]
>  - Flask [required: Any, installed: 0.12.4]
>- click [required: >=2.0, installed: 7.0]
>- itsdangerous [required: >=0.21, installed: 0.24]
>- Jinja2 [required: >=2.4, installed: 2.8.1]
>  - MarkupSafe [required: Any, installed: 1.0]
>- Werkzeug [required: >=0.7, installed: 0.14.1]
>  - Jinja2 [required: >=2.5, installed: 2.8.1]
>- MarkupSafe [required: Any, installed: 1.0]
>- Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
>  - Flask [required: Any, installed: 0.12.4]
>- click [required: >=2.0, installed: 7.0]
>- itsdangerous [required: >=0.21, installed: 0.24]
>- Jinja2 [required: >=2.4, installed: 2.8.1]
>  - MarkupSafe [required: Any, installed: 1.0]
>- Werkzeug [required: >=0.7, installed: 0.14.1]
>- Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
>  - Flask [required: >=0.10.1, installed: 0.12.4]
>- click [required: >=2.0, installed: 7.0]
>- itsdangerous [required: >=0.21, installed: 0.24]
>- Jinja2 [required: >=2.4, installed: 2.8.1]
>  - MarkupSafe [required: Any, installed: 1.0]
>- Werkzeug [required: >=0.7, installed: 0.14.1]
>  - python3-openid [required: >=2.0, installed: 3.1.0]
>- defusedxml [required: Any, installed: 0.5.0]
>- Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
>  - Flask [required: >=0.10, installed: 0.12.4]
>- click [required: >=2.0, installed: 7.0]
>- itsdangerous [required: >=0.21, installed: 0.24]
>- Jinja2 [required: >=2.4, installed: 2.8.1]
>  -