Python Forum

Full Version: Python for Enterprise Data Science
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello All,
Question from Enterprise IT perspective. If python is to be packaged as an enterprise software and be made available for Data analysts and Data scientists in our Enterprise, how would Enterprise deploy python?
How do we manage software versioning? Vulnerability assessment?
Data scientists PC are locked with in the Enterprise network to install software and hence this needs to be packaged , deployed and maintained.We also do not want to have multiple version of installs.
How do we standardize Python for Enterprise deployment?
Thank you.
I am a little confused about these questions.

Do you mean packaging a python app/api/script?

or

Do you mean packaging the python implementation?
Python scripts/api
Hey Paripy,

I cannot say definitely what best practices are, but I will share how we are doing this for my team at the medical company I work at which has quite a few GMP and regulatory issues that make this difficult for us. First, for deployment, we avoid trying to install anything on users computers. My data science team does have priveledges to install, and we all have Anaconda on our computers. However, there can be a fair amount of issues with 'it works on my machine' as well as permissions within our corporate IT structure. To combat this I use JupyterHub server that IT maintains. The server runs a virtual environment that we have backed up, and my team simply visits an internal website to do development on this machine. All notebooks are stored on the server as well as versioned using our GitHub repository. Basically, a scientist goes to the website and then works on the JupyterHub server, and when they save a version is saved in the git repo. We also keep any python scripts and shared libraries that we develop in this repo under a specific folder structure. There is a public area where users can share the jupyter notebooks with 'non-data' member which is how we report or we PDF the notebook with the code collapsed and email it as necessary.

As to your other question, deployment. We don't expect any of our 'customers', i.e. internal manufacturing or business development, to have any knowledge concerning the code, and we don't want them maintaining python on their machine. To deploy tools, scripts, or dashboards we us Django. The team wraps their python scripts in a Django website, which gets reviewed by the 'customer', once approved and validated we deploy using an internal web-server also provided by our IT department. Our enterprise users simply visit the internal website and use the tool, all python is maintained on the server side and the user never touches code. I've only recently begun leading this team, but this appears to be the setup that so far is working well for us, though we are looking to grow in our capabilities, I hope sharing our setup will give you some idea how you might deploy in your enterpise, and I hope maybe some other more experienced members of this forum might share how they work on these problems.

-DN