From Jupyter Notebook to Real-World: 10 steps to Turning Your dissertation Projects into Practical Python Applications

From Jupyter Notebook to Real-World: 10 steps to Turning Your dissertation Projects into Practical Python Applications


1. Executable File

Although a Jupyter notebook is great for step-by-step code execution, the real world doesn't work like this. So, first convert the notebook into a single Python script.

If you find yourself writing and using the same code (e.g. cleaning a text file) again and again for different use cases, move this into a separate Python file and call the function from your main file.

To enhance efficiency, learn how to run subprocesses from the main process.


2. Documenting

Documentation ability in your code shows your collaborative mindset. It will make your life easier (when you later debug, or write a report) and also help other developers who will continue with your code in the future.

Add some comments about what each function does, give meaningful variable names, and explain the process if possible.


3. Virtual Environment

Run your program inside a virtual environment. This way, you can track which libraries you installed, with which versions. It also ensures they don’t conflict with other libraries on your system.


4. Requirements.txt

Now write a requirements.txt file where you will list all the dependencies (e.g. Python libraries) along with versions that are crucial to run the program. Other programmers can install all of them at once with a single command.


5. Env File

Rather than showing your API keys and sensitive info in the code, read them from a .env file. This is how professional programmers do it.


6. Config File

When you convert your Python code into a single script, it's not practical to ask for user input at different steps. So, design a config file where the user can set some parameters to run the code in a single go. By changing these parameters, they can rerun it again to see different outcomes (if needed).


7. Log File

Don’t print everything out. Rather, store the output as a log file that can be viewed and analyzed later. It’s very similar to using print statements, except the log will be saved as a .txt file (in most cases).


8. Save the Model

When you construct a model, sometime save it on your local computer. (As sometimes students build a model on jupyter notebook (e.g. decision tree construct the model each time they run the notebook) You’ll start to see what type of filesystems are used to store models (e.g. Pickle, JSON, etc.). You will feel that you actually developed something.


9. Upload on GitHub

Upload your code on GitHub. And do it from the very beginning of your project. Rather than uploading a file with UI buttons, try to use the command line. You will learn amazing things like committing, staging, pulling, cloning, pushing, branching, etc. These are crucial skills when working with Git-like technologies.


10. Better README

While uploaidng your code make sure you write a better README.md. Think of it as a poster and, at the same time, a user manual for your project. Write it with adequate instructions in a visually appealing and easy-to-read manner.


Extras

11. Cloud Computing

Rather than loading all the files from your local computer, upload some of them on AWS S3. Connect AWS S3 with Python SDK (e.g. boto3) by providing credentials. Process the data and re-upload the output into a different folder (bucket) on S3. As a student, you will get lots of free tier options on AWS, enough for learning the technology.


11. Data Collection and UI

Sometimes try to get real time data using free apis (plenty of them out there). You also can develop a small web page using python flask to demontrate the project working with better usability.


Conclusion

As a student, it's easy to stop at a working Jupyter notebook. But if you take just a few more steps, you can turn it into something far more useful and professional, something that looks and feels like real-world software. By packaging your work, writing clean and documented code, using cloud tools, version control, and proper file management, you're preparing yourself for actual industry workflows. This not only makes your projects more impactful but also sets you apart as someone who goes beyond just writing code, you're building complete, usable solutions.

Tanvir Akhter Shakib

Salesforce Developer | Aspiring Data Analyst | Passionate About Turning Data Into Actionable Insights

4mo

I wish I knew these during my undergraduate

To view or add a comment, sign in

Others also viewed

Explore topics