Skip to content

v1.2.0

Choose a tag to compare

@seboceanum seboceanum released this 01 Oct 04:12
· 19 commits to main since this release
4367615

oceanum 1.2.0

New

  • CLI plugins can register commands in three ways (#56). An oceanum.cli.extensions entry point can now point to:

    • a module that registers its commands when imported (existing behaviour, unchanged; built-in commands and prax keep working);
    • a click.Command or click.Group, which is added directly;
    • a function register_cli(parent_group), which is called with the main command group.

    A plugin that fails to load prints an error and the CLI still starts. OCEANUM_CLI_DEBUG=1 traces plugin loading on stderr.

  • Connector.get_catalog_async() now accepts limit, like get_catalog() (#56).

Fixes

  • LevelFilter checks its levels against the filter type (#65).
  • Session.close() retries a DELETE that fails (#68).

Tests and CI

  • Tests that need a token are skipped when OCEANUM_TEST_DATAMESH_TOKEN is not set. In CI, a missing token now fails the run instead of skipping everything (#56).
  • Catalog tests list only a few rows, so they stay cheap whatever token is used (#56).
  • Production write tests run one at a time and report any datasource they fail to clean up (#67).

Note

oceanum.__main__.main is now a plain function that loads plugins and then runs the CLI; it used to be the click group itself. The oceanum command is unaffected. Code that imported oceanum.__main__.main as a click group should import oceanum.cli.main instead.