You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restore missing SDK client docs in API reference (#434)
## Summary
The API reference docs page (`/api-reference-docs/`) was missing all
content for `Groundlight` and `ExperimentalApi` -- only the API response
object models were rendering.
**Root cause:** PR #413 ("Migrate Edge Configuration to SDK") introduced
`groundlight/edge/config.py`, which does `import yaml`. PR #419 ("SDK
Configures Edge") then wired this into the import chain accessible from
`groundlight/__init__.py`. When sphinx builds the docs, it installs only
the `sphinx-deps` dependency group (via `poetry install --no-root --only
sphinx-deps`). Since `pyyaml` was not in that group, sphinx's `autodoc`
failed to import `groundlight.Groundlight` and
`groundlight.ExperimentalApi` with `No module named 'yaml'`. Sphinx
treated this as a non-fatal warning and silently omitted those sections
from the built docs. The docs have been broken since the April 7 deploy.
## Changes
- **`pyproject.toml`**: Removed duplicate dependencies from
`sphinx-deps` that were already in the main deps group (`pillow`,
`pydantic`, `python-dateutil`). The `sphinx-deps` group now only
contains sphinx-specific packages.
- **`Makefile`**: Changed `install-sphinx-deps` to install both the
`main` and `sphinx-deps` groups (`--only main --only sphinx-deps`), so
sphinx always has access to whatever the SDK imports. Also added `-W` to
`SPHINXOPTS` so sphinx treats warnings as errors -- CI will now fail
immediately if autodoc can't import a documented class, preventing this
class of silent breakage in the future.
- **`sphinx_docs/conf.py`**: Removed `html_static_path` entry
referencing a non-existent `_static` directory.
- **`sphinx_docs/models.rst`**: Added `EdgeEndpointApi` as a documented
class under a new "Edge Endpoint API" section.
- **`src/groundlight/edge/api.py`**: Improved `EdgeEndpointApi` class
docstring to explain how it's accessed (`gl.edge`).
- **`src/groundlight/client.py`** and
**`src/groundlight/experimental_api.py`**: Fixed pre-existing RST
docstring formatting issues (indentation errors, missing `::` on code
block headers, trailing underscores interpreted as hyperlink references)
that `-W` surfaced.
---------
Co-authored-by: Tim Huff <thuff@axon.com>
Submit an image query against a detector. You must use `\"Content-Type: image/jpeg\"` or similar (image/png, image/webp, etc) for the image data. For example: ```Bash $ curl https://api.groundlight.ai/device-api/v1/image-queries?detector_id=det_abc123 \\ --header \"Content-Type: image/jpeg\"\\ --data-binary @path/to/filename.jpeg ``` # noqa: E501
430
430
This method makes a synchronous HTTP request by default. To make an
0 commit comments