diff --git a/markdown_refdocs/parsers.py b/markdown_refdocs/parsers.py
index 586a383..d4d46e4 100644
--- a/markdown_refdocs/parsers.py
+++ b/markdown_refdocs/parsers.py
@@ -19,6 +19,11 @@ def parse_google_docstring(
 ) -> ParsedDocstring:
     """
     parses a google-style docsting into a dictionary of the various sections
+
+    Args:
+        docstring: the docstring to parse
+        hide_undoc: if True, undocumented arguments will be marked as hidden
+        function_name: name of the function the docstring is for (only used in debugging)
     """
     state = None
     tags = [
@@ -31,6 +36,7 @@ def parse_google_docstring(
         'examples',
         'attributes',
         'warning',
+        'todo',
     ]
     content: Dict[str, Any] = {tag: [] for tag in tags}
 
diff --git a/markdown_refdocs/types.py b/markdown_refdocs/types.py
index cb70fe0..e177b0c 100644
--- a/markdown_refdocs/types.py
+++ b/markdown_refdocs/types.py
@@ -44,6 +44,7 @@ class ParsedDocstring(TypedDict):
     returns: ParsedReturn
     parameters: List[ParsedParameter]
     attributes: List[ParsedParameter]
+    todo: List[str]
 
 
 class ParsedVariable(Parsed):
@@ -65,4 +66,15 @@ class ParsedModule(Parsed):
     variables: List[ParsedVariable]
 
 
-ADMONITIONS = ['warning', 'note', 'info', 'bug', 'tip', 'question', 'failure', 'danger', 'quote']
+ADMONITIONS = [
+    'warning',
+    'note',
+    'info',
+    'bug',
+    'tip',
+    'question',
+    'failure',
+    'danger',
+    'quote',
+    'todo',
+]

add admonitions for `Todo`s
it would be nice if Todo sections in docstrings where put into an [admonition](https://squidfunk.github.io/mkdocs-material/reference/admonitions/) of some kind rather than ending up in the main description

for example, the following docstring:
```
"""
    validator for pk_select endpoint
    Todo:
        * validate pk_col exists on table
        * validate group_by is a column/list of columns on table
        * validate filter_col exists on table
        * validate dist_table joins to table?
    """
```
end up like so:
![image](https://user-images.githubusercontent.com/15241606/90985203-4578f500-e52f-11ea-824a-41a834dca24c.png)

diff --git a/tests/test_markdown.py b/tests/test_markdown.py
index 0c059b7..f7e9522 100644
--- a/tests/test_markdown.py
+++ b/tests/test_markdown.py
@@ -1,4 +1,9 @@
-from markdown_refdocs.markdown import constant_to_markdown, create_type_link, function_to_markdown
+from markdown_refdocs.markdown import (
+    constant_to_markdown,
+    create_type_link,
+    function_to_markdown,
+    admonitions_to_markdown,
+)
 
 
 class TestConstantToMarkdown:
@@ -87,3 +92,24 @@ class TestCreateTypeLink:
         types = {'type': link}
         md = create_type_link('Tuple[type, type]', types)
         assert md == f'Tuple\\[[type]({link}), [type]({link})\\]'
+
+
+class TestAdmonitions:
+    def test_todo(self):
+        parsed = {
+            'todo': [
+                '* validate pk_col exists on table',
+                '* validate group_by is a column/list of columns on table',
+                '* validate filter_col exists on table',
+                '* validate dist_table joins to table?',
+            ]
+        }
+
+        expected = """!!! todo
+\t* validate pk_col exists on table
+\t* validate group_by is a column/list of columns on table
+\t* validate filter_col exists on table
+\t* validate dist_table joins to table?
+"""
+        actual = admonitions_to_markdown(parsed)
+        assert actual == expected
diff --git a/tests/test_parsers.py b/tests/test_parsers.py
index 63f16f2..86d0823 100644
--- a/tests/test_parsers.py
+++ b/tests/test_parsers.py
@@ -62,3 +62,24 @@ If the input string is only numbers, return a tuple of (None, {numbers}).
 Otherwise return a tuple of Nones."""
         assert result['description'] == expected
         assert len(result['examples']) == 4
+
+    def test_todo(self):
+        docstring = """
+validator for pk_select endpoint
+Todo:
+    * validate pk_col exists on table
+    * validate group_by is a column/list of columns on table
+    * validate filter_col exists on table
+    * validate dist_table joins to table?
+"""
+        result = parse_google_docstring(docstring)
+
+        expected = [
+            '* validate pk_col exists on table',
+            '* validate group_by is a column/list of columns on table',
+            '* validate filter_col exists on table',
+            '* validate dist_table joins to table?',
+        ]
+
+        for index, line in enumerate(result['todo']):
+            assert line == expected[index]

pip install -e .[dev]
parse_log_pytest
requirements.txt
apt-get update apt-get install -y gcc
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==25.3.0
babel==2.17.0
backports.tarfile==1.2.0
backrefs==5.8
black==25.1.0
certifi==2025.1.31
cffi==1.17.1
charset-normalizer==3.4.1
click==8.1.8
colorama==0.4.6
coverage==7.8.0
cryptography==44.0.2
docutils==0.21.2
exceptiongroup==1.2.2
flake8==7.2.0
flake8-annotations==3.1.1
ghp-import==2.1.0
id==1.5.0
idna==3.10
importlib_metadata==8.6.1
iniconfig==2.1.0
jaraco.classes==3.4.0
jaraco.context==6.0.1
jaraco.functools==4.1.0
jeepney==0.9.0
Jinja2==3.1.6
keyring==25.6.0
Markdown==3.7
markdown-it-py==3.0.0
-e git+https://github.com/creisle/markdown_refdocs.git@0284e8471c2be4e9083be00ad94f6e495fb2e801#egg=markdown_refdocs
MarkupSafe==3.0.2
mccabe==0.7.0
mdurl==0.1.2
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-get-deps==0.2.0
mkdocs-material==9.6.10
mkdocs-material-extensions==1.3.1
more-itertools==10.6.0
mypy==1.15.0
mypy-extensions==1.0.0
nh3==0.2.21
packaging==24.2
paginate==0.5.7
pathspec==0.12.1
platformdirs==4.3.7
pluggy==1.5.0
pycodestyle==2.13.0
pycparser==2.22
pyflakes==3.3.2
Pygments==2.19.1
pymdown-extensions==10.14.3
pytest==8.3.5
pytest-cov==6.0.0
pytest-runner==6.0.1
python-dateutil==2.9.0.post0
PyYAML==6.0.2
pyyaml_env_tag==0.1
readme_renderer==44.0
requests==2.32.3
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.0.0
SecretStorage==3.3.3
six==1.17.0
tomli==2.2.1
twine==6.1.0
typing_extensions==4.13.0
urllib3==2.3.0
watchdog==6.0.0
zipp==3.21.0

name: markdown_refdocs
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==25.3.0
      - babel==2.17.0
      - backports-tarfile==1.2.0
      - backrefs==5.8
      - black==25.1.0
      - certifi==2025.1.31
      - cffi==1.17.1
      - charset-normalizer==3.4.1
      - click==8.1.8
      - colorama==0.4.6
      - coverage==7.8.0
      - cryptography==44.0.2
      - docutils==0.21.2
      - exceptiongroup==1.2.2
      - flake8==7.2.0
      - flake8-annotations==3.1.1
      - ghp-import==2.1.0
      - id==1.5.0
      - idna==3.10
      - importlib-metadata==8.6.1
      - iniconfig==2.1.0
      - jaraco-classes==3.4.0
      - jaraco-context==6.0.1
      - jaraco-functools==4.1.0
      - jeepney==0.9.0
      - jinja2==3.1.6
      - keyring==25.6.0
      - markdown==3.7
      - markdown-it-py==3.0.0
      - markupsafe==3.0.2
      - mccabe==0.7.0
      - mdurl==0.1.2
      - mergedeep==1.3.4
      - mkdocs==1.6.1
      - mkdocs-get-deps==0.2.0
      - mkdocs-material==9.6.10
      - mkdocs-material-extensions==1.3.1
      - more-itertools==10.6.0
      - mypy==1.15.0
      - mypy-extensions==1.0.0
      - nh3==0.2.21
      - packaging==24.2
      - paginate==0.5.7
      - pathspec==0.12.1
      - platformdirs==4.3.7
      - pluggy==1.5.0
      - pycodestyle==2.13.0
      - pycparser==2.22
      - pyflakes==3.3.2
      - pygments==2.19.1
      - pymdown-extensions==10.14.3
      - pytest==8.3.5
      - pytest-cov==6.0.0
      - pytest-runner==6.0.1
      - python-dateutil==2.9.0.post0
      - pyyaml==6.0.2
      - pyyaml-env-tag==0.1
      - readme-renderer==44.0
      - requests==2.32.3
      - requests-toolbelt==1.0.0
      - rfc3986==2.0.0
      - rich==14.0.0
      - secretstorage==3.3.3
      - six==1.17.0
      - tomli==2.2.1
      - twine==6.1.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - watchdog==6.0.0
      - zipp==3.21.0
prefix: /opt/conda/envs/markdown_refdocs

tests/test_markdown.py::TestAdmonitions::test_todo tests/test_parsers.py::TestParseGoogleDocstring::test_todo
tests/test_markdown.py::TestConstantToMarkdown::test_no_source_code tests/test_markdown.py::TestConstantToMarkdown::test_has_source_code tests/test_markdown.py::TestFunctionToMarkdown::test_has_docstring_no_params tests/test_markdown.py::TestFunctionToMarkdown::test_long_docstring tests/test_markdown.py::TestCreateTypeLink::test_simple_link tests/test_markdown.py::TestCreateTypeLink::test_link_inside_list tests/test_markdown.py::TestCreateTypeLink::test_linking_as_dict_target tests/test_markdown.py::TestCreateTypeLink::test_tuple_of_links tests/test_parsers.py::TestParseGoogleDocstring::test_nested_types tests/test_parsers.py::TestParseGoogleDocstring::test_add_extra_returns_to_description tests/test_parsers.py::TestParseGoogleDocstring::test_long_docstring_with_newlines
markdown_refdocs/types.py markdown_refdocs/parsers.py
markdown_refdocs/types.py markdown_refdocs/parsers.py