you could set a timer (wx.Timer) instance to produce a wx.EVT_TIMER every several few seconds/minutes and bind the event to a method in charge of updating the calendar with the current date (wx.DateTime_Now()) if required.
Here you have a minimal working demo code (try to change the date: it will go back to the current date after a second):
import  wx
import  wx.calendar
class MyCalendar(wx.Frame):
    def __init__(self, *args, **kargs):
        wx.Frame.__init__(self, *args, **kargs)
        self.cal = wx.calendar.CalendarCtrl(self, -1, wx.DateTime_Now())
        self.timer = wx.Timer(self)
        self.timer.Start(1000)
        self.Bind(wx.EVT_TIMER, self.update_date)
    def update_date(self, evt):
        date = wx.DateTime_Now()
        self.cal.SetDate(date)    
if __name__ == '__main__':  
    app = wx.PySimpleApp()
    frame = MyCalendar(None)
    frame.Show()
    app.MainLoop()