cancel
Showing results for 
Search instead for 
Did you mean: 

What does python 2 disabling mean to me?

Bruce
Micro Servo

What does python 2 disabling mean to me?

I have seen the announcement from Datarobot that Python 2 will be disabled due to lack of ongoing support. Okay.

 

But, what I do not understand at this time is what that has to do with me as a user of Datarobot services. As far as I can tell this is really internal to Datarobot - an implementation detail.

 

Will the API change?

 

Will the web interface change?

 

The one thing that appears to be the case is that old projects will be disabled and you will have explicitly recreate them so that they will be recreated with Python 3. And that copying will effectively convert a Python 2 project to a Python 3 project. Which, as far as I can tell could have been done transparently.

 

What else do I need to do?

Labels (1)
9 Replies
Kreshnaa
Data Scientist
Data Scientist

Hi Bruce,

 

Thanks for your question.

As you have correctly said - there won't be any widespread changes for you as a DataRobot user in terms of user interface or platform interaction. That being said it is necessary to migrate all the critical old projects built on Python2 to Python3 - for reliability, safety and latest improvements. From a user perspective, it should be very simple as copying the project to run it again will port it to python 3. There are a few restrictions which will kick in for python 2 projects going forward. The attached documentation will give you all the necessary information on it. Let us know if you need further information.

 

https://docs.datarobot.com/en/docs/release/deprecations-and-migrations/python2.html

 

Thanks,

Kreshnaa

Linda
Community Manager
Community Manager

@Bruce I do know that @vVineet will be sharing helpful info is his post in a bit. I'll link it to your question here when he publishes his discussion. Also, thank you @Kreshnaa !

0 Kudos

Thanks @Linda for the link. I found a relevant paragraph which I repeat here:

 

"The DataRobot Python API client continues to support Python 2 and at this time we are not deprecating its use, so API client code will not need to be migrated yet. We will provide additional guidance in coming months as we look to deprecate the py2 client code."

 

This is much closer to the question that I was trying to answer.

 

At this time I am confused as to why DataRobot does not just convert the existing projects. This still feels to me like an internal change that should not impact users - like an update to the windows os. But, despite curiosity, I won't push. We create new projects quite often anyway, so it will not be a big deal to refresh the project.

0 Kudos
dustin.burke
DataRobot Employee
DataRobot Employee

Hi @Bruce - thanks for reaching out.  I'm one of the engineers working on the Python 3 Migration and wanted to give some more insights into your question.

 

The primary reason we are not able to perform an internal conversion of Python 2 models for Python 3 has to do with the interdependencies on core scientific libraries and the inability to ensure exact row-by-row prediction consistency between them.  As you can imagine, there are major changes not only within the python language, but also in how each scientific package operates under each version.

 

As a result, we decided that rather than make an internal change which may risk changing the prediction results without the customer's control that its best for customers to migrate and evaluate the model themselves to ensure the results are acceptable for their business needs when making the model replacement.  This is especially important from an MLOps governance perspective for our customers in regulated industries where model compliance is extremely important.

 

For the other areas of our platform without this risk, we seamlessly migrated over to Python 3 without anyone noticing any impacts.

 

Let me know if you need any more information or help with the migration.

 

Thanks!

Dustin

dustin.burke
DataRobot Employee
DataRobot Employee

@Bruce In response to your question from another thread 

 


Perhaps you can set me straight here. I am using the Python API for Datarobot. I am writing in Python-3. On the older project I got a warning that Datarobot was switching to Python-3 and that "this python-2 based project is depricated". Fine, as far as it goes. AFAIK this is really an internal Datarobot corp issue. I never made any decision about using Python-2 in the project, and I am personally using Python-3. But, I just now created a new project and gave me the exact same warning. So, how do I tell Datarobot to use Python-3. What exactly is it complaining about?

Your understanding is correct that the deprecation of python 2 has nothing to do with your use of the API client itself or any scripts you're running outside of DataRobot.

 

Could you provide more details about this issue you're seeing?  A link to the project would be useful so that I can investigate further and see what's going on.  Also, where are you seeing the warning?

 

Thanks!

0 Kudos
dalilaB
Data Scientist
Data Scientist

Here is a way:

When you do the connection (Through add to catalog), at the end you should get a SQL query option. See screenshot below Screenshot 2022-05-13 at 6.00.09 PM.png

0 Kudos

@dustin.burke  

The primary reason we are not able to perform an internal conversion ...

Sorry, I did not see this earlier - I very much appreciated your response here. Thanks. Bruce.

@dustin.burke The issue was just that I got a popup that said the project was deprecated. Unfortunately, I deleted and recreated the project several times, using the API and did not check the Web interface again recently. When the latest version finishes training, I will look on the Web interface and see if it is still doing it. If so, I will drop you a link. Thanks.