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?
Solved! Go to Solution.
@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.
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?
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 @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.
Thanks for your question.