Skip to content

Release 0.1.23: strict push_to_dds argument checks and clearer call errors (ref #306883) - #80

Merged
oskaresparza merged 6 commits into
mainfrom
staging
Oct 2, 2026
Merged

oskaresparza merged 6 commits into
mainfrom
staging

Conversation

@oskaresparza

Copy link
Copy Markdown
Collaborator

Promotes staging to main for the 0.1.23 release. Ref #306883.

What's in it

  • target_name must be a valid file name (Release to staging: strict push_to_dds argument checks and clearer call errors (ref #306883) #79).
    • It must be a str. An SdiMetadata passed there gets a hint to use metadata=.
    • Empty names, paths and invalid file-name characters are rejected.
    • Arguments are checked before any DDS or Dremio settings are looked up.
  • Strict argument types in push_to_dds. Every argument is checked in parameter order, whether passed by position or by name, and the message names the argument and its position.
  • Clearer call errors.
    • A call that doesn't fit the signature, or a magic line that isn't valid Python (e.g. an unnamed argument after metadata=metadata), names the problem argument.
    • Where it can, it suggests the parameters the value fits.
    • It shows the correct usage: line.
  • Version bump to 0.1.23, with the README install examples updated.

Tests

503 passed, 1 skipped (the live SDI test).

🤖 Generated with Claude Code

oskaresparza and others added 6 commits October 1, 2026 16:16
Sync main back into development (v0.1.22)
…f #306883

- target_name must be a str file name: an SdiMetadata passed there raises
  with a hint to use metadata=; empty names, paths and characters no file
  system accepts (< > : " | ? * and control characters) raise ValueError.
- %metadata push_to_dds validates its arguments before looking up any DDS
  or Dremio settings, so the error names the bad argument.
- metadata_path accepts the record in place of its UUID; a non-str uuid
  raises TypeError.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Redmine-Hook: v1
…306883

- push_to_dds (session and controller) checks every argument's type in
  parameter order, positional or named: str/bool parameters take nothing
  else, and the message names the argument and its position.
- A call that doesn't fit the signature (unknown keyword, an argument given
  twice, too many arguments) reports why plus the correct form of the call.
- A magic line that isn't valid Python (e.g. an unnamed argument after a
  name=value one) names the offending argument, suggests parameters its
  value fits, and shows the usage, for every magic.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Redmine-Hook: v1
Release to staging: strict push_to_dds argument checks and clearer call errors (ref #306883)
@oskaresparza
oskaresparza merged commit 8704fdc into main Oct 2, 2026
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.

1 participant