FEpX is a modeling framework for computing the elastoplastic deformations of polycrystalline solids. Using the framework, one can simulate the mechanical behavior of aggregates of crystals, referred to as virtual polycrystals, over large strain deformation paths. This article presents the theory, the finite element formulation, and important features of the numerical implementation that collectively define the modeling framework. The article also provides several examples of simulating the elastoplastic behavior of polycrystalline solids to illustrate possible applications of the framework. There is an associated finite element code, also referred to as FEpX, that is based on the framework presented here and was used to perform the simulations presented in the examples. The article serves as a citable reference for the modeling framework for users of that code. Specific information about the formats of the input and output data, the code architecture, and the code archive are contained in other documents.