Skip to content

Add explicit service package exports#213

Draft
fredvisser wants to merge 4 commits into
masterfrom
fix/start-here-service-init
Draft

Add explicit service package exports#213
fredvisser wants to merge 4 commits into
masterfrom
fix/start-here-service-init

Conversation

@fredvisser
Copy link
Copy Markdown
Contributor

@fredvisser fredvisser commented Jun 5, 2026

Summary

  • add short "Start here" package docstrings that point readers to the primary service client or tag entry point
  • replace blanket # flake8: noqa package exports with explicit __all__ declarations across service packages
  • add a regression test that verifies each service package documents and declares its public exports

Why This Helps

  • it turns the package surface into an explicit contract instead of leaving it implicit in import side effects or wildcard exports
  • it gives IDEs, static analysis, and coding agents a reliable list of supported imports, which reduces guesswork about whether a symbol is public or internal
  • the new "Start here" docstrings give both humans and agents a canonical entry point, which makes generated examples and import suggestions more likely to use the intended top-level client
  • the export test keeps that contract from drifting, so future refactors are less likely to break discoverability or accidentally hide supported symbols

Validation

  • poetry run poe check
  • poetry run poe lint
  • poetry run poe types
  • poetry run poe test

Notes

  • nisystemlink.clients.tag keeps a few narrow # noqa: I100 import-order suppressions because its runtime-safe import order is intentionally different from alphabetical order; the touched tag import path is covered by tests

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 makes each nisystemlink.clients.<service> package’s public surface explicit by adding a short “Start here…” package docstring and replacing blanket # flake8: noqa exports with explicit __all__ declarations, plus a regression test to enforce that contract.

Changes:

  • Added “Start here…” package docstrings pointing to the primary client/entry point per service package.
  • Replaced blanket # flake8: noqa exports with explicit __all__ lists across service packages (with narrow # noqa: I100 import-order suppressions in tag).
  • Added a test that validates each service package has the docstring and explicit exports.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/test_service_package_exports.py Adds regression test enforcing docstring + explicit __all__/import surface per service package.
nisystemlink/clients/alarm/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/artifact/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/assetmanagement/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/dataframe/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/feeds/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/file/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/notebook/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/notification/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/product/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/spec/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/systems/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/tag/init.py Adds “Start here…” docstring, explicit __all__, and scoped import-order suppressions.
nisystemlink/clients/test_plan/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/testmonitor/init.py Adds “Start here…” docstring and explicit __all__.
nisystemlink/clients/work_item/init.py Adds “Start here…” docstring and explicit __all__.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +59 to +61
self.assertIsNotNone(module_docstring)
assert module_docstring is not None
self.assertTrue(module_docstring.startswith("Start here with "))
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