Rebrand the Honeydew converter from OSI to Ossie - #313
Open
baruchoxman wants to merge 2 commits into
Open
Conversation
The Honeydew converter still carried the project's former OSI name in its distribution name, package, console script and docs, unlike every other Python converter which uses the apache-ossie-<vendor> / ossie_<vendor> / ossie-<vendor> convention. Bring it in line: honeydew-osi -> apache-ossie-honeydew (distribution) honeydew_osi -> ossie_honeydew (import package) honeydew-osi -> ossie-honeydew (console script) Prose in the README, module docstrings, comments and CLI help now says Ossie instead of OSI, matching the snowflake and orionbelt converters after the same rebrand. The subcommand names osi-to-honeydew / honeydew-to-osi are unchanged, as are the internal identifiers (SUPPORTED_OSI_VERSION, convert_osi_to_*) and the "osi" Honeydew metadata section name, which is a persisted round-trip key rather than branding. Also adds the final newline .editorconfig requires to the two moved Python files. Signed-off-by: Baruch Oxman <baruch@honeydew.ai>
Follow-up to the packaging rebrand, now that the OSI-era names can go: osi-to-honeydew / honeydew-to-osi -> ossie-to-honeydew / honeydew-to-ossie SUPPORTED_OSI_VERSION -> SUPPORTED_OSSIE_VERSION convert_osi_to_honeydew -> convert_ossie_to_honeydew convert_honeydew_to_osi -> convert_honeydew_to_ossie _build/_read_osi_metadata, _entity_to_osi_dataset, _parse_osi_source and the remaining _osi_* helpers and osi_* locals The Honeydew metadata section the converter writes to preserve Ossie-only fields is now named "ossie" rather than "osi". Because that name is a persisted key, `_read_ossie_metadata` still accepts the legacy "osi" section: without it, exporting a workspace produced by an earlier version would silently drop every preserved ai_context, label, unique_keys and custom_extensions entry. Covered by test_read_legacy_osi_metadata_section. Also points the README at Honeydew's current documentation: the workspace YAML schema page, and the Apache Ossie (OSI) page that documents this integration from the Honeydew side. Signed-off-by: Baruch Oxman <baruch@honeydew.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Honeydew converter was the last Python converter still carrying the project's
former OSI name. Every other Python converter (
snowflake,dbt,databricks,gooddata,gsf,orionbelt,wisdom) already follows theapache-ossie-<vendor>/ossie_<vendor>/ossie-<vendor>convention, so thisbrings Honeydew in line and clears the OSI naming out of the converter entirely.
Packaging
honeydew-osiapache-ossie-honeydewhoneydew_osiossie_honeydewhoneydew-osiossie-honeydewtest_honeydew_osi_converter.pytest_ossie_honeydew_converter.pyCLI
osi-to-honeydew/honeydew-to-osiare renamed toossie-to-honeydew/honeydew-to-ossie. The converter has not been released, so there are nopublished invocations to break — flagging it explicitly in case a reviewer
would rather keep the old spellings as hidden aliases.
Internals and docs
Public and internal identifiers follow:
SUPPORTED_OSI_VERSION→SUPPORTED_OSSIE_VERSION,convert_osi_to_honeydew→convert_ossie_to_honeydew,convert_honeydew_to_osi→convert_honeydew_to_ossie, plus the_osi_*helpersand
osi_*locals. Prose in the README, module docstring, comments and CLI helpsays Ossie rather than OSI, following
#244.
The one behavioural change: the preserved metadata section
The converter stores Ossie-only fields (
ai_context,label,unique_keys,custom_extensions,vendors) in a named Honeydewmetadatasection so theysurvive a
Honeydew → Ossie → Honeydewround trip. That section is renamedosi→ossie.Since the name is a persisted key,
_read_ossie_metadatacontinues to acceptthe legacy
osisection on read while only ever writingossie. Without thatfallback, exporting a workspace produced by an earlier version silently drops
every preserved field — verified before adding it, and now covered by
test_read_legacy_osi_metadata_section.Documentation links
Honeydew has since renamed its own OSI page to
Apache Ossie (OSI), which
documents this converter from the Honeydew side. The README now links to it, and
points the "workspace YAML" reference at Honeydew's
YAML schema page rather than the docs root
— matching how the
omni,dbtanddatabricksREADMEs link to the specificvendor format page.
Related Issues
None.
Verification
uv sync && uv run pytestinconverters/honeydew— 129 passed (128 existinguv run ossie-honeydew --helplists the renamed subcommands.examples/tpcds_semantic_model.yamlthroughossie-to-honeydew→honeydew-to-ossie. The exported Ossie YAML isbyte-identical to the output produced before this change; the only difference in
the generated Honeydew workspace is the
osi→ossiemetadata section name.Ossie YAML, confirming the legacy-section fallback works.
Checklist
Specification
core-spec/and follow the existing structureNo specification changes. Note
core-spec/spec.mddocuments aHONEYDEWvendorextension that
converters/README.md's "Supported Vendors" table omits; left alonehere as it predates this PR.
Ontology
ontology/are consistent with spec changesNo ontology changes.
Converters
converters/is updated to reflect spec or ontology changes — naming and docs, plus the legacy-metadata fallback described aboveValidation
validation/are updated if the spec changedNo validation changes.
Documentation
docs/is updated to reflect any user-facing changes —docs/carries no converter-specific naming; the converter README is updatedCONTRIBUTING.mdis updated if the contribution process changedExamples
examples/are added or updated for any new spec constructs or converter supportNo new constructs.
Tests
pytest/ CI green)Compliance
uv.lockchange is the distribution rename only