Skip to content

Add element14 & TME clients; parameter normalization - #3

Merged
0neShot merged 1 commit into
mainfrom
feat/api-integrations-data-merger
May 31, 2026
Merged

Add element14 & TME clients; parameter normalization#3
0neShot merged 1 commit into
mainfrom
feat/api-integrations-data-merger

Conversation

@0neShot

@0neShot 0neShot commented May 31, 2026

Copy link
Copy Markdown
Owner

Introduce new distributor integrations and normalization plumbing:

  • Add element14 (Farnell/Newark) API client (inventree_smart_parts/api_clients/element14.py) and TME API client (inventree_smart_parts/api_clients/tme.py) and export them via api_clients.init.
  • Add sanitize_error_message() in api_clients.base and use it to scrub query parameters from error messages/logs across Mouser, DigiKey, LCSC and TME clients to avoid leaking sensitive query params.
  • Enhance data merging: add regex-based parameter name sanitization (strip punctuation/collapse spaces), integrate plugin-backed normalization (normalize_parameter_name) and permanent-ignore heuristics (is_parameter_ignored) when merging parameters in data_merger.py.
  • Add plugin settings and routes for element14 and TME (API keys, store, country, currency, enable flags), plus new parameter dashboard/API endpoints and learned/unknown mapping settings in core.py.
  • Standardize connection test messages and improve logging messages for API clients.
  • Miscellaneous cleanup: remove unused imports, minor typing refinements, and adjust UI/plugin descriptions and static templates references.

This change expands distributor coverage, hardens logging, and implements initial end-to-end parameter normalization.

Introduce new distributor integrations and normalization plumbing:

- Add element14 (Farnell/Newark) API client (inventree_smart_parts/api_clients/element14.py) and TME API client (inventree_smart_parts/api_clients/tme.py) and export them via api_clients.__init__.
- Add sanitize_error_message() in api_clients.base and use it to scrub query parameters from error messages/logs across Mouser, DigiKey, LCSC and TME clients to avoid leaking sensitive query params.
- Enhance data merging: add regex-based parameter name sanitization (strip punctuation/collapse spaces), integrate plugin-backed normalization (normalize_parameter_name) and permanent-ignore heuristics (is_parameter_ignored) when merging parameters in data_merger.py.
- Add plugin settings and routes for element14 and TME (API keys, store, country, currency, enable flags), plus new parameter dashboard/API endpoints and learned/unknown mapping settings in core.py.
- Standardize connection test messages and improve logging messages for API clients.
- Miscellaneous cleanup: remove unused imports, minor typing refinements, and adjust UI/plugin descriptions and static templates references.

This change expands distributor coverage, hardens logging to avoid leaking sensitive parameters, and implements initial end-to-end parameter normalization/ignore support and UI hooks.
@0neShot 0neShot self-assigned this May 31, 2026
@0neShot 0neShot added the enhancement New feature or request label May 31, 2026
@0neShot
0neShot merged commit bb08263 into main May 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant