Skip to content

docs: add one-line docstrings to root-level helper modules - #1859

Merged
jacalata merged 6 commits into
developmentfrom
jac/docstrings-root-files
Aug 20, 2026
Merged

docs: add one-line docstrings to root-level helper modules#1859
jacalata merged 6 commits into
developmentfrom
jac/docstrings-root-files

Conversation

@jacalata

Copy link
Copy Markdown
Contributor

Motivation

The api-ref migration audit's needs_docstring bucket includes a few
helper modules that live outside server/endpoint/ and models/. They
each ship a small number of small functions, and none of them had
docstrings. Missing docstrings mean Sphinx has nothing to render on the
generated page under #1832, so users looking up parse_datetime or the
exponential-backoff constants find bare signatures with no explanation.

Behavior change

Docs only. No runtime code changes.

Four commits, one file each:

  • filesys_helpers.py — one-line docstring on each of the helper functions
  • namespace.py — one-line docstring on the module and the Namespace class
  • datetime_helpers.py — one-line docstrings on timestamp, parse_datetime,
    format_datetime, and the UTC tzinfo class
  • exponential_backoff.py + config.py — one-line docstrings on the backoff
    helper and the config module's public constants

Each docstring states what the function does in one sentence. Nothing
prescriptive — these helpers are stable and the docstrings are meant to
be captured by Sphinx, not to change behavior.

Test plan

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

Coverage

Coverage Report
FileStmtsMissCoverMissing
tableauserverclient
   __init__.py50100% 
   config.py150100% 
   datetime_helpers.py2511 96%
   exponential_backoff.py200100% 
   filesys_helpers.py310100% 
   namespace.py2533 88%
tableauserverclient/bin
   __init__.py20100% 
   _version.py358212212 41%
tableauserverclient/helpers
   __init__.py10100% 
   logging.py20100% 
   strings.py3111 97%
tableauserverclient/models
   __init__.py460100% 
   collection_item.py4177 83%
   column_item.py553232 42%
   connection_credentials.py351111 69%
   connection_item.py941414 85%
   custom_view_item.py1442121 85%
   data_acceleration_report_item.py5411 98%
   data_alert_item.py15844 97%
   data_freshness_policy_item.py1551515 90%
   database_item.py2073636 83%
   datasource_item.py3001212 96%
   dqw_item.py10455 95%
   exceptions.py40100% 
   extensions_item.py13244 97%
   extract_item.py4444 91%
   favorites_item.py6988 88%
   fileupload_item.py190100% 
   flow_item.py1491010 93%
   flow_run_item.py710100% 
   group_item.py8966 93%
   groupset_item.py4977 86%
   interval_item.py1823232 82%
   job_item.py1921010 95%
   linked_tasks_item.py7911 99%
   location_item.py2922 93%
   metric_item.py1291313 90%
   oidc_item.py6333 95%
   pagination_item.py3411 97%
   permissions_item.py1111212 89%
   project_item.py2073131 85%
   property_decorators.py1001818 82%
   reference_item.py2622 92%
   revision_item.py5911 98%
   schedule_item.py20966 97%
   server_info_item.py3777 81%
   site_item.py6361313 98%
   subscription_item.py10122 98%
   table_item.py1191818 85%
   tableau_auth.py612525 59%
   tableau_types.py2711 96%
   tag_item.py150100% 
   target.py60100% 
   task_item.py5622 96%
   user_item.py3231616 95%
   view_item.py2201616 93%
   virtual_connection_item.py6488 88%
   webhook_item.py6911 99%
   workbook_item.py3621616 96%
tableauserverclient/server
   __init__.py90100% 
   exceptions.py40100% 
   filter.py2911 97%
   pager.py3311 97%
   query.py1431515 90%
   request_factory.py1335195195 85%
   request_options.py38655 99%
   server.py1882323 88%
   sort.py60100% 
tableauserverclient/server/endpoint
   __init__.py350100% 
   auth_endpoint.py731010 86%
   custom_views_endpoint.py1521212 92%
   data_acceleration_report_endpoint.py210100% 
   data_alert_endpoint.py942323 76%
   databases_endpoint.py1113030 73%
   datasources_endpoint.py3233333 90%
   default_permissions_endpoint.py4433 93%
   dqw_endpoint.py451616 64%
   endpoint.py2592424 91%
   exceptions.py7966 92%
   extensions_endpoint.py310100% 
   favorites_endpoint.py942222 77%
   fileuploads_endpoint.py510100% 
   flow_runs_endpoint.py6299 85%
   flow_task_endpoint.py2122 90%
   flows_endpoint.py1985353 73%
   groups_endpoint.py12699 93%
   groupsets_endpoint.py7277 90%
   jobs_endpoint.py6799 87%
   linked_tasks_endpoint.py370100% 
   metadata_endpoint.py881414 84%
   metrics_endpoint.py5566 89%
   oidc_endpoint.py4211 98%
   permissions_endpoint.py4433 93%
   projects_endpoint.py1782424 87%
   resource_tagger.py1273535 72%
   schedules_endpoint.py1191111 91%
   server_info_endpoint.py361010 72%
   sites_endpoint.py1302727 79%
   subscriptions_endpoint.py561414 75%
   tables_endpoint.py1103636 67%
   tasks_endpoint.py6366 90%
   users_endpoint.py18388 96%
   views_endpoint.py15099 94%
   virtual_connections_endpoint.py1131010 91%
   webhooks_endpoint.py5499 83%
   workbooks_endpoint.py3382222 93%
TOTAL12064142488% 

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the generated API reference by adding concise, one-line docstrings to several root-level helper modules so Sphinx can render meaningful descriptions for commonly used helpers and constants.

Changes:

  • Add module/class/function docstrings in namespace.py, filesys_helpers.py, datetime_helpers.py, and exponential_backoff.py.
  • Add docstrings to Config and its public configuration properties in config.py.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tableauserverclient/namespace.py Adds docstrings for the namespace helper error and class/method.
tableauserverclient/filesys_helpers.py Adds docstrings for filename/path helpers and file inspection utilities.
tableauserverclient/exponential_backoff.py Adds docstrings for the backoff timer class and its sleep behavior.
tableauserverclient/datetime_helpers.py Adds docstrings clarifying timestamp/UTC parsing and formatting helpers.
tableauserverclient/config.py Adds docstrings documenting env-var-driven runtime configuration properties.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tableauserverclient/config.py
Comment thread tableauserverclient/filesys_helpers.py Outdated
Two one-word docstring nits from Copilot:
- CHUNK_SIZE_MB docstring now names the default (50). Previously it
  cited the env var without saying what a caller gets if it isn't set.
- get_file_type's docstring now mentions it raises ValueError when no
  magic bytes match, instead of only describing the happy path.
Two one-word nits:
- config.py: PAGE_SIZE docstring names the default (100), matching
  the sibling docstrings on FILESIZE_LIMIT_MB and CHUNK_SIZE_MB.
- namespace.py: detect() docstring now mentions it raises
  UnknownNamespaceError on unrecognized namespaces. Matches the
  earlier fix on get_file_type's ValueError.
@jacalata

Copy link
Copy Markdown
Contributor Author

docs only change, merging with AI review only

@jacalata
jacalata enabled auto-merge (squash) August 20, 2026 05:41
@jacalata
jacalata disabled auto-merge August 20, 2026 07:35
@jacalata
jacalata merged commit 1823c78 into development Aug 20, 2026
31 checks passed
@jacalata
jacalata deleted the jac/docstrings-root-files branch August 20, 2026 07:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants