Skip to content

Make louisHelper the single point of liblouis interaction #20600

Description

@LeonarddeR

Related issues, PRs or discussions

Related to the braille/brailleInput package refator

What is the current state of the codebase?

Calls to the louis module are scattered throughout the braille and braille.input modules.

Why are changes required?

  1. It would help to have louisHelper as a entrypoint to the louis module. This makes it easier to react on changes in the louis module, since that module has a three months release cadence that doesn't follow NVDA"s API breakage path.
  2. The liblouis maintainers are currently working on louis-rs. I will donate louis-py to the project, see Add louis-py: Basic Python bindings for the translator (PyO3) liblouis/louis-rs#12 (comment). Having louisHelper as a single entrypoint makes it much easier for me and others to test both louis-py and louis-rs in real life. The short term intention is to create an add-on that replaces louis with louis-py by monkeypatching louisHelper, creating the ability to gain much wider testing for the louis-rs rewrite.

What technical changes are required?

Replace all calls to louis with calls to louisHelper and let that call louis.

Are the proposed technical changes API breaking?

Unknown

Are there potential risks or issues with the proposed implementation?

No

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

audience/nvda-devPR or issue is relevant to NVDA / Add-on developersp5https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions