# A data model for describing demographic histories. The Demes specification defines a data model for describing one or more demes (also known as populations), how they change over time, and their relationships to one another. A human-readable Demes model is written as a YAML file, which facilitates model sharing, reuse, and interoperability. # Documentation Users interested in learning how to read and/or write a Demes YAML file are referred to the tutorial in the [Demes documentation](https://popsim-consortium.github.io/demes-spec-docs/). A more precise definition of the Demes specification can also be found in the documentation, in the form of an annotated schema. # Software Software for working with Demes YAML files is located in external repostories. In particular, the [`demes` Python package](https://github.com/popsim-consortium/demes-python). Links to additional Demes-related software can be found in the documentation.