Python Forum
system programming in pythonic code - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: General (https://python-forum.io/forum-1.html)
+--- Forum: News and Discussions (https://python-forum.io/forum-31.html)
+--- Thread: system programming in pythonic code (/thread-10984.html)



system programming in pythonic code - Skaperen - Jun-16-2018

i want to (and have) code many system level things in python. i've done lots of that in C already. but i think python is a better choice because, among many reasons, it lets people modify the code better than C does. i think of it as "easy open source" or "clear open source". working with name spaces is a step above working with (and goofing up) addresses.

a question i have is: does this kind of programming make it more difficult to program in a pythonic way?

one project idea i have is a tool to let you easily combine the bandwidth of multiple internet providers, if you have more than one. if you get 6 Gbps each from two providers, this tool will let you get near 12 Gbps total bandwidth. and if one of those providers goes down, it automatically uses just the good one(s) that remain up (without forcing applications to reconnect). several home-based stock traders have asked me for this, before and i have now figured out a way to do it cleanly and smoothly for all network applications.


RE: system programming in pythonic code - wavic - Jun-20-2018

I won't bother with all that codding. Instead, I will use Python as an interface to the system tools avoiding all the debugging.


RE: system programming in pythonic code - DeaD_EyE - Jun-20-2018

Solutions which I've heard about:
  • Client connects with all active internet connections to one Server/Cloud with huge uplink. The server routes the whole traffic parallel through all internet connections. Python can help you to manage the system settings on the linux client. I don't know if windows is able to do this out of the box.
  • Client does not need a server. Instead the client is using for each IP connection the pool of internet connections with a load balancer. This does not give you the full bandwidth for one IP connection. Here can Python also help to set up everything.

Maybe you can solve this tasks also only with Python without the help of the OS. I guess this is a bit complicated and needs a deep understanding of routing, IP packets with an eye of the performance (maybe with asyncio).


RE: system programming in pythonic code - Skaperen - Jun-21-2018

i understand the networking and already have an idea i want to try. what i am wondering is if i should do this in python or that one-letter language. but this is basically a system thing. it will be heavy with system calls. there will be some logic to deal with the variations and changes that take place over time, such as one provider slowing down or another provider going completely down.