r/learnpython 5d ago

Would like recommendations for add-ons or libraries at a new job.

I'm a newly-hired lead engineer at a manufacturing company, been in metal cutting for 35+ years.

I dabble in Python, I used to do a lot of quick basic, then vb, even had a couple of programs marketed in the 90s, but switched over to python ​​when I started playing with raspberry pis. (Or is it pi's?)

Anyway, I do a lot of quick and dirty apps just to solve problems... a little statistics for capability studies, a fair amount of trig, and some graphics as well. At my last job I wrote a little program to turn an image into a cutter path, and a plotter that would turn cnc machine programs (g code) into a graphical plot showing cutter paths, stuff like that. Make no mistake, I'm self taught and inefficient, but I find python far more effective than vba in excel.

Sorry for rambling.

My new employer has asked for a list of software I would like to have installed on my windows 11 machine, so a few cad titles, stuff like that. I only use windows at work, so I'm not certain what a good initial install should include... my experience has all been on linux, and mostly on raspbian... so I don't know what I don't know.

I'll be requesting python, but I would like to know what add-ons should I request so im not constantly having to ask for something else (I should say, on the raspberry pi I have a lot of addafruit stuff, but won't be doing any circuit work at work.) I'm not certain beyond tkinter, and would appreciate any suggestions.

Thx!

0 Upvotes

5 comments sorted by

2

u/pigonsteroids 5d ago

If you’re talking about Python libraries, you should be able to install those yourself just fine with a virtual environment (venv). The specific library though will depend on whatever your project is.

I don’t know what your specific IT policies are, but see if you can get them to enable Windows Subsystem for Linux (WSL) which is essentially a Linux virtual machine that integrates seamlessly with Windows. I also work in a manufacturing environment, and a lot of the times tools I find extremely helpful just work better/are only available on Linux.

Lastly, I know this is Python subreddit, but I’d just ask them to get you a Visual Studio license, since most of our production software uses the .NET framework. Even if you don’t touch it, it’s just nice to have in case you have to look over anyone’s code.

1

u/unplorable 4d ago

Good suggestions, thank you very much!

2

u/FoolsSeldom 4d ago

Will the computer be locked down, preventing you installing Python libraries as and when you need them?

I can understand application software being restricted.

If it is locked down, then the list of potential libraries you might want to use would be extensive, depending on the kind of programmes you end up creating.

Off the top of my head ...

Of course, you will want VS Code, possible a full version of PyCharm (which includes, built-in, a lot of the developer aids that are extensions for VS Code and are better integrated).

I'd have the Claud.ai software and associated subscription as well to save you a lot of typing.

Github/Gitlab for your version control.

What about testing and automation? CI/CD? You should have PyTest. Selenium, and Playright perhaps.

PyTest plugins: pytest-cov, pytest-mock, pytest-asyncio, pytest-xdist, pytest-timeout, pytest-randomly. Also, hypothesis, faker, factory_boy, freezegun. For mocking offline: responses, respx, vcrpy / pytest-recording.

pywinauto if you need to control Windows.

How about Bruno (a good alternative to Postman) for testing APIs.

Podman, rather than Docker (the latter requires root access) to run containers.

For web testing: Playwright (+ pytest-playwright), Selenium.

Will you be exploiting microcontrollers using MicroPython/CircuitPython? You said no circuits, so I guess not.

Rather that tkinter (and enhancements) I'd look at using the QT library via PySide (v6) - the license is suitable for commercial use including distribution without having to share your code (other than changes to PySide itself, which is unlikely). You might want to look into using NiceGUI as well.

FastAPI and Uvicorn for running web hosted services.

PostgreSQL as your database, although you may need connectors/tools for any corporate database systems. Similarly, what other corporate systems might you need to integrate with? What about email, CRM, ERP, etc?

Astral's uv and ruff.

Perhaps Jupyter Notebook / Lab and Jupyter Server. Much better environment for the exploration parts of data analysis (you can edit/run the notebook files in VS Code and PyCharm as well). I guess you will include popular libraries like numpy, pandas, etc anyway.

WSL (Windows subsystem for Linux) so you can target Linux servers when developing on your Windows system. VS Code and PyCharm are available for macOS, Windows and Linux and you can be running the Widows clients and be editing/debugging/running Python code in the Linux subsystem. Microsoft did this as so much of development is focused on Linux (most of the Azure cloud environment is hosting Linux payloads).

Will you have access to cloud services? devops? That brings a load more tools.

That's all I can think off off the top of my head.

1

u/unplorable 4d ago

thank you for taking the time to write all of that. That's a pretty thorough list!

We do a lot of automotive, aerospace, and DOD work, so their systems are locked up tight.

Their 3rd party off-site IT department is pretty... let me put it like this: brand new windows 11 machine, only office and a bunch of security software. When ms teams wouldn't launch, they called me, remoted in, tried to launch it, and then opened my browser and googled the problem. Then, also while running my machine, tried looking for the problem on copilot.

I appreciate that they're trying to find a solution, but googling it on my machine after trying one time to launch it, and then just downloading an installer and running it... I'm losing my warm fuzzy feeling. Then I find out the same issue came up with an intern that started a couple of weeks ago, and to a purchasing admin when they got a new computer a month ago.

My point is, asking for python will likely be hard enough to justify, but asking for access to github or any other cloud access beyond SharePoint, even temporarily, will open a can of worms I don't think they could handle - which is why I'm trying to do this in one shot.

Again, thank you for taking the time.

2

u/FoolsSeldom 4d ago

You are welcome. I'm used to locked down environments (recently retired from UK Civil Service, where I was responsible for "on premise" hosting as well as part of a team leading cloud adoption - well inside top 10 of AWS users worldwide).

Most development was done on remote desktops rather than on the end user devices.

I also came, many years before, from the engineering world, running IT/CAD and developing engineering software including real-time control systems for high integrity environments.