-
Notifications
You must be signed in to change notification settings - Fork 540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SUPP: Add support to Python 3.8 #2066
SUPP: Add support to Python 3.8 #2066
Conversation
c9669d7
to
b7d7d57
Compare
ci/requirements-3.8-dev.yml
Outdated
- lz4 | ||
- multipledispatch>=0.6.0 | ||
- mypy | ||
- numpy>=1.11 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should bump numpy / pandas to the min for 3.8, I think 1.15 and 0.25.3; they don't really matter as that's what conda will install anyhow, but better to reflect in this file. also pyarrow >=0.15
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks @jreback for the review. I will work on these changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pinned pyarrow>=0.13 because pymapd has some restrictions pyarrow >=0.12,<0.14
@xmnlab can you merge master and we see if we can get this in |
b7d7d57
to
5f7e4fa
Compare
I need to move back to the previous pre-commit isort hook .. because it was conflicting with black. |
fb6088f
to
de40f53
Compare
it seems pyspark 2.* doesn't work properly with python3.8 ... it should work when pyspark 3 is released (apache/spark#26194 (comment))
|
7d2c0ae
to
eb9b1dc
Compare
for some reason a doctest in
|
@xmnlab pls open an issue for the skip |
thanks @jreback! issue created: https://github.com/ibis-project/ibis/issues/2085 |
it is done for review! thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok passing is good, some style items. ping when green.
ibis/bigquery/udf/api.py
Outdated
@@ -12,6 +13,13 @@ | |||
|
|||
__all__ = ('udf',) | |||
|
|||
# NOTE: used for skip doctest for Python 3.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we have an issue for this?
define these constants in ibis/compat.py instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good, thanks!
ibis/bigquery/udf/api.py
Outdated
@@ -64,6 +72,8 @@ def udf(input_type, output_type, strict=True, libraries=None): | |||
|
|||
Examples | |||
-------- | |||
>>> if PY38: | |||
... import pytest; pytest.skip("") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put the issue number here, use pytest.xfail instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good. thanks!
ibis/bigquery/udf/tests/test_core.py
Outdated
@@ -6,7 +6,7 @@ | |||
|
|||
from ibis.bigquery.udf.core import PythonToJavaScriptTranslator, SymbolTable | |||
|
|||
pytestmark = pytest.mark.bigquery | |||
pytestmark = [pytest.mark.bigquery, pytest.mark.udf] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you put a TODO and issue ref's for why skipping these tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good. I will work on that.
ibis/bigquery/udf/tests/test_find.py
Outdated
@@ -5,7 +5,7 @@ | |||
from ibis.bigquery.udf.find import find_names | |||
from ibis.util import is_iterable | |||
|
|||
pytestmark = pytest.mark.bigquery | |||
pytestmark = [pytest.mark.bigquery, pytest.mark.udf] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
@@ -11,7 +11,7 @@ | |||
|
|||
pytest.importorskip('google.cloud.bigquery') | |||
|
|||
pytestmark = pytest.mark.bigquery | |||
pytestmark = [pytest.mark.bigquery, pytest.mark.udf] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
@@ -1,5 +1,5 @@ | |||
[tool.black] | |||
line-length = 79 | |||
skip-string-normalization = true | |||
target-version = ["py35", "py36", "py37"] | |||
target-version = ["py36", "py37", "py38"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need a change in setup.py?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
setup.py already has python_requires='>=3.6'
. do you have another property in mind that should be changed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
classifiers=[
'Development Status :: 4 - Beta',
'Operating System :: OS Independent',
'Intended Audience :: Science/Research',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Topic :: Scientific/Engineering',
we usually list explicity versions here. but can be a followup (as i guess wasn't before)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jreback thanks for the review! I am working on that.
ibis/bigquery/udf/api.py
Outdated
@@ -12,6 +13,13 @@ | |||
|
|||
__all__ = ('udf',) | |||
|
|||
# NOTE: used for skip doctest for Python 3.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good, thanks!
ibis/bigquery/udf/api.py
Outdated
@@ -64,6 +72,8 @@ def udf(input_type, output_type, strict=True, libraries=None): | |||
|
|||
Examples | |||
-------- | |||
>>> if PY38: | |||
... import pytest; pytest.skip("") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good. thanks!
@@ -1,5 +1,5 @@ | |||
[tool.black] | |||
line-length = 79 | |||
skip-string-normalization = true | |||
target-version = ["py35", "py36", "py37"] | |||
target-version = ["py36", "py37", "py38"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
setup.py already has python_requires='>=3.6'
. do you have another property in mind that should be changed?
ibis/bigquery/udf/tests/test_core.py
Outdated
@@ -6,7 +6,7 @@ | |||
|
|||
from ibis.bigquery.udf.core import PythonToJavaScriptTranslator, SymbolTable | |||
|
|||
pytestmark = pytest.mark.bigquery | |||
pytestmark = [pytest.mark.bigquery, pytest.mark.udf] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good. I will work on that.
eb9b1dc
to
93ab244
Compare
@jreback I added the changes you requested. it seems CI is very slow today. |
it seems pytest.xfail() will break the doctest: pytest-dev/pytest#310 |
green :) |
from ibis.util import is_iterable | ||
|
||
pytestmark = pytest.mark.bigquery | ||
if PY38: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so as a followup, I'd like to change this to use the class based features rather than skips, e.g. e.g. in ibis/tests/backends, UDF can be modeled like for example RoundConvention (we explicitly add these tests to the backends that work with it).
please create an issue for this. thanks.
cc @icexelloss
thanks @xmnlab |
Resolves #2036
this PR:
* package conflicts: