We describe AMUSE, the Astrophysical Multipurpose Software Environment, a programming framework designed to manage multi-scale, multi-physics simulations in a hierarchical, extensible, and internally consistent way. Constructed as a collection of individual modules, AMUSE allows computational tools for different physical domains to be easily combined into a single task. It facilitates the coupling of modules written in different languages by providing inter-language tools and a standard programming interface that represents a balance between generality and computational efficiency. The framework currently incorporates the domains of stellar dynamics, stellar evolution, gas dynamics, and radiative transfer. We present some applications of the framework and outline plans for future development of the package.