# Reference

Below is a reference for the major classes and functions within this module.

- The Message and Field section (which uses the `message` and `fields` modules) handles constructing messages.

- The Marshal module handles translating between internal protocol buffer instances and idiomatic equivalents.

- The Datetime Helpers has datetime related helpers to maintain nanosecond precision.

- Message and Field
  - `Message`
  - `Field`
  - `MapField`
  - `RepeatedField`
  - `Enum`
  - `ProtoEnumMeta`
- Marshal
  - `Marshal`
- Datetime Helpers
  - `DatetimeWithNanoseconds`