The circular dependency between self.buttons and self.radiobuttons has been impossible for me to solve
class Program(tk.Tk):

    def __init__(self, title, size):
        super().__init__()
        self.title(title)
        self.geometry(f"{size[0]}x{size[1]}")
        
        self.frame = tk.Frame(self, background = "#D3D3D3")
        self.frame.pack(expand = 1, fill = tk.BOTH)

        self.entries = Entries(self) 
        self.output = Output(self)
        self.buttons = Buttons(self, self.entries, self.output, self.radiobuttons) # here
        self.radiobuttons = (self, self.buttons) # here


        self.filemenu = FileMenu(self)


        self.mainloop()

I am trying to use functools among other things to fix my problem but I can't seem to fix it. I could always just move the entirety of one class into the other but it would make using classes redundant

How do I eliminate this circular dependency
You can create another class method of Buttons to pass self.radiobuttons to it after self.radiobuttons is created.
Below is an example:
class Buttons(ttk.Frame):
    def __init__(self, master, entries, output):
        super().__init__(master)
        self.entries = entries
        self.output = output

    # another class method to pass radiobuttons
    def set_radiobuttons(self, radiobuttons):
        self.radiobuttons = radiobuttons
        # do whatever you want on radiobuttons

class Radiobuttons(ttk.Frame):
    def __init__(self, master, buttons):
        super().__init__(master)
        self.buttons = buttons

class Program(tk.Tk):

    def __init__(self, title, size):
        super().__init__()
        self.title(title)
        self.geometry(f"{size[0]}x{size[1]}")

        self.frame = tk.Frame(self, background = "#D3D3D3")
        self.frame.pack(expand = 1, fill = tk.BOTH)

        self.entries = Entries(self)
        self.output = Output(self)
        self.buttons = Buttons(self, self.entries, self.output)
        self.radiobuttons = Radiobuttons(self, self.buttons)
        self.buttons.set_radiobuttons(self.radiobuttons) # pass self.radiobuttons to class Buttons

        self.filemenu = FileMenu(self)

if __name__ == "__main__":
    app = Program("Hello World", (600,400))
    app.mainloop() # call mainloop() here instead of inside __init__()

