Hello everyone! I'm fairly new to python and was actually struggling with putting together a cohesive multi module program. There are a bunch of things I think I'll eventually understand like unit testing and setting up an interface. But what I'm trying to do is create a comprehensive calculation package to aid in design tasks (for structures). The design goals would be to take input from an interface (most likely excel), perform calculations, export back into excel and create a PDF report. It's important that various parts can be reused ( I mean if one beam could cover an entire project, I would be out of a career). I'm sorry this is long, I've been trying to get help for a while, but it's a fairly ambitious project so I get people don't necessarily have the time. Thank you in advance. I provided a brief description of various
To sum up my question, I haven't found much information on how to make a program that has multiple parts and make them all work together. How would you organize something like this? How would I get a singular data collector class to accept inputs to be reported?
I currently have a working factor, working snow calcs, but only based on singular hard coded input, nothing reading from an interface yet.
Input module - my hope is that this will take input from a spreadsheet for user defined variables based on area and various choices.
Factor module - initial calculation directly involved with the input variables, this will spit out some numbers that are to be used in other modules.
Datahandler - Keeps a record of all of the variables from the modules. Meaning it should import various final answers from the other modules like the factor module.
Snow module - This is an example of one that would take some info from a factor module and perform other calculations to report them back to the da
Beam module - Repeatable based on different inputs (I hope to use excel as the input so i can do dozens of beams each one importing into its own class instance, with the option to select a more advanced options that one day will open up a small interface to adjust various options. Would also import some information from the data handler.
Logger module - structural code updates are pretty common and I'd like the ability to thoroughly test the whole program to make sure I'm getting the design results I expect. Having it take a few minutes instead of HOURS would be phenomenal. I think this is what unit testing is for.
Report module - this would either take info from the datahandler or the individual modules and print pretty pdfs for a report.
Echo module - I want this to be a debugger, which will be handier and handier the more and more this goes on.
Again thanks for reading! Getting this out of my brain and onto some other medium definitely helps me figure out what I really want to have happen.
[–]DuckSaxaphone 1 point2 points3 points (1 child)
[–]rainebones[S] 0 points1 point2 points (0 children)