# hints

All type hints from the maci library and third-party libraries are accessible through the "hint" module to annotate unique or custom data types. Placing them in one location aims to provide a simple way of finding the desired unique types you need to annotate.

### path name convention

The hint path name convention contains 3-parts and ensures simplicity in locating the data type.\
\
Here is the convention and how to break it down:

*Example data type name:*  maci.hint.DataType

* `maci` is the top-level module name.
* `hint` is a submodule of `maci`, which contains definitions of various data type classes.
* `DataType` is the class name of the specific data type.

### type hint usage

*Example of using the* [*MaciDataObj*](/docs/maci/object.md) *type to annotate a variable and function*

```python
# variable
maci_obj: maci.hint.MaciDataObj = maci.build()

# function
def fn(data: maci.hint.MaciDataObj) -> maci.hint.MaciDataObj:
    ...
```

Note: There are other types available in the "hint" module for thin wrapper api functions used like xml, ini, etc,.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.macilib.org/docs/maci/hints.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
