この問題のアルゴリズムについては、こちらの質問で既に説明しました。
その投稿が述べたように、最大の課題は再発するイベントを処理することです。そして、最初の答えでホイールを再発明しないので、私は知ってうれしいです:
Pythonでこれを処理するための、すぐに使用できるモジュールまたはフレームワークはありますか?
私は最近、Django用のGoogleカレンダーのようなアプリを作っています。再発事象はまだ含まれていませんが、これはあまり難しくありません。私は、 dateutil を調べることをお勧めします。
フロントエンドでは、 jQuery week-calendar を使用して、ものをドロップ/サイズ変更するまた、 Vobject を使用してiCalフィードを作成したので、ユーザーはカレンダーを希望のカレンダークライアントに組み込むことができます。