Skip to content

docs: fix usage docs - Config as single interface, remove StreamConfi…#195

Open
ModaHarsh wants to merge 3 commits into
ioos:mainfrom
ModaHarsh:docs/config-usage-fix
Open

docs: fix usage docs - Config as single interface, remove StreamConfi…#195
ModaHarsh wants to merge 3 commits into
ioos:mainfrom
ModaHarsh:docs/config-usage-fix

Conversation

@ModaHarsh

Copy link
Copy Markdown

Fixes #99

Summary

Updates the usage documentation so it matches the current API and resolves the issue where the docs suggested importing StreamConfig from ioos_qc.config, which does not exist. The correct interface for loading any config is Config.

Changes

  • Single interface: At the start of the Configurations section, the docs now state that from ioos_qc.config import Config is the only interface needed to load any QC configuration (single-stream, multi-context, YAML, JSON, dict, netCDF, etc.), with a short code example.

  • StreamConfig: Added a .. _streamconfig: anchor so existing links to usage.html#streamconfig still work. Added a note that the StreamConfig class does not exist and that users should use Config instead.

  • Results section: Replaced the incorrect reference to StreamConfigResult (no such class in ioos_qc.results) with ContextResult, which is what Streams yield when run with a Config.

  • ConfigGeneration section: Updated wording so that QcConfigCreator is described as generating a config for use with Config (not QcConfig), and the section "Create config for QcConfig" is now "Create config for Config" with wording that the generated config is used with Config (e.g. c = Config(config)).

Rationale

Per moderator feedback: "The docs need to be updated, the only interface you need to load any config object is the Config class: from ioos_qc.config import Config". This PR aligns the docs with that and removes references to the non-existent StreamConfig and the outdated recommendation to use QcConfig for loading configs.

@ModaHarsh ModaHarsh marked this pull request as ready for review February 11, 2026 13:44
@ModaHarsh

Copy link
Copy Markdown
Author

@kwilcox Thank you for taking the time to look at this PR. I’d be grateful for any feedback.

I’d also love to contribute more to ioos_qc when I can. If there are ever small issues or tasks where a contributor could be useful—docs, tests, or code—I’d be happy to learn and help where it’s helpful.

@martaw22 martaw22 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I looked over these changes and they seem correct to me. I asked for one small update to the wording. Note that PR #100 removed references to StreamConfig from the code, and this cleans up some of the remaining old references in the Usage doc.

Comment thread docs/source/usage.rst
The highest level and most flexible configuration object is a ``Config``. Use ``Config`` for all configuration loading (single stream, multiple contexts, files, or in-memory dicts). It can describe quality control configurations for any number of regions, windows and streams.

.. note::
If you are looking for ``StreamConfig``: that class does not exist. Use ``Config`` for all configuration loading (e.g. ``from ioos_qc.config import Config``).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you change the wording of this sentence to read:

If you are looking for StreamConfig: that class has been deprecated.

or something along those lines

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.

Can't import StreamConfig

2 participants