Yade is a versatile and open-source framework aimed at discrete numerical modeling, particularly utilizing the Discrete Element Method. The core computational components are developed in C++, leveraging a flexible object model that facilitates the standalone implementation of new algorithms and interfaces. Meanwhile, Python serves as the language for quick and efficient construction of scenes, control of simulations, postprocessing tasks, and debugging processes. This framework is particularly suited for researchers and engineers who require the ability to create, execute, analyze, adjust, and expand particle-based simulations through scripts, interactive commands, graphical interfaces, and reusable simulation elements. Users can construct simulations using specialized generators or directly through Python scripts, offering considerable freedom in developing custom models, importing geometries, reusing code, and managing the entire simulation loop. Each simulation is represented as a scene that encompasses bodies, interactions, and the forces resulting from them, with the bodies characterized by their geometry, material properties, and state variables. Additionally, Yade's architecture promotes collaboration and sharing of advancements within the research community, enabling continuous improvement of simulation techniques.