feat: v0.16.0 β Adapter architecture separation & community contribution system#18
Merged
Merged
Conversation
added 2 commits
July 22, 2026 14:13
- DataAdapterBase: for offline dataset adapters (gelsight, paxini, daimon, etc.) - SensorAdapterBase: for real-time sensor SDK adapters (paxini_gen3, daimon_dm_tac) with connect/disconnect/stream_frames/is_connected/collect methods - BaseAdapter kept as alias to DataAdapterBase for backward compatibility - Updated __init__.py to export both base classes and categorize adapters - Migrated paxini_gen3 and daimon_dm_tac to SensorAdapterBase Part of v0.16.0 architecture separation for third-party contribution support.
β¦support - CONTRIBUTING.md: comprehensive contributor guide with 22-dim reference - contrib/adapter-template/: complete template for new adapter development - Data Adapter + Sensor Adapter skeleton code - CI/CD GitHub Actions workflow template - Test templates (basic + e2e) - Example Jupyter notebook - pyproject.toml template with entry_points support - registry.py: add register_external_adapter() and entry_points auto-discovery - registry.py: add list_builtin_adapters() and list_external_adapters() - DEVELOPER_GUIDE.md: update adapter architecture documentation for v0.16 - CHANGELOG: add v0.16.0 section Part of v0.16.0: building open ecosystem for tactile data standard.
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
This PR implements Phase 1 of the TLabel v0.16.0 roadmap: adapter architecture separation and community contribution infrastructure.
Changes
1. Adapter Architecture Separation (Commit fadc1d9)
BaseAdapterinto two distinct base classes:DataAdapterBaseβ for dataset/file format adapters (stateless conversion)SensorAdapterBaseβ for real-time sensor hardware adapters (lifecycle + streaming)BaseAdapterkept as backward-compatible alias forDataAdapterBasepaxini_gen3anddaimon_dm_tactoSensorAdapterBasetlabel/adapters/__init__.pywith grouped exports2. Community Contribution System (Commit 681bc05)
register_external_adapter()+ entry_points auto-discoveryMotivation
Clear separation of dataset vs sensor adapters is prerequisite for community contributions β contributors need to know which base class to extend and what interfaces to implement. The contribution template lowers the barrier for external developers to submit compatible adapters.
Testing
Checklist