python のライブラリで、 ruby でいう rake を実現するものはありますか。

具体的には、以下を実現したいです。

  • タスクを定義し、それを実行する
  • タスクには依存関係が定義できる
  • ファイルの存在・ないし更新日時を、タスクの依存関係に組み込むことができる
    (Makefile のように)