line - Line number within the source. The first line is
numbered 1. Set to None for binary files where the concept of a
line isn't applicable.

offset - If a line number is given, this is the position from
the start of the line. The first position is 1. If no line number
is given, this is the offset from the beginning of source. The
exact semantics of offset depends on the type of source. For
example, for Unicode text files, the offset might be the character
position instead of a byte position.

It is valid to omit any field. Omitting all fields denotes a dummy
or unknown position. Omitting source while providing line or
offset is probably not sensible but isn't disallowed. Even if
the source is an unnamed entity, some descriptive text should be
provided, e.g. "stdin" is better than saying None. Negative values
for line and offset also shouldn't be used, but we do not
bother disallowing it.