name: Help Wanted
about: Request community help on a specific task or feature
title: '[HELP WANTED] Implement a new adapter for MariaDB'
labels: 'help wanted'
assignees: ''
What We Need Help With
We are looking for help to create a new adapter for MariaDB. This will allow Intugle to connect directly to MariaDB servers, enabling users to profile their data, build semantic models, and generate data products.
Background & Context
MariaDB is a popular, community-developed fork of MySQL and is widely used in the open-source community. Providing a native adapter for MariaDB will ensure that users of this database can take full advantage of Intugle's data intelligence capabilities.
Current State
Intugle does not have a dedicated adapter for MariaDB. While a MySQL adapter might work for some basic queries, a native adapter is needed to ensure full compatibility and optimal performance.
Desired Outcome
A fully functional and tested MariaDB adapter that allows users to:
- Configure their MariaDB connection in
profiles.yml.
- Profile tables and columns in a MariaDB database.
- Execute queries using MariaDB's SQL dialect.
- Create new tables or views from query results.
- Integrate MariaDB data sources seamlessly into the Intugle semantic model.
Scope of Work
Technical Details
Checkout the documentation on how to implement a adapter : Implementing a Connector
The implementation can be based heavily on the PostgresAdapter . The key will be to handle any differences in the SQL dialect, information schema, and connection parameters specific to MariaDB.
Relevant Files/Modules
src/intugle/adapters/types/postgres/ (as a reference)
src/intugle/adapters/types/mariadb/ (to be created)
src/intugle/adapters/factory.py (to register the new adapter)
pyproject.toml (to add optional dependencies)
tests/adapters/ (to add new tests)
Key Concepts/Technologies
- MariaDB & its SQL dialect
- Python
- Pydantic
Related Documentation
Suggested Approach
Leverage the existing PostgresAdapter. The official mariadb Python connector is the recommended driver.
Skills Needed
Difficulty Level
Time Estimate
Getting Started
- Fork the repository.
- Set up your development environment (see CONTRIBUTING.md).
- Follow the Implementing a Connector guide.
- Use the
PostgresAdapter as a template for your MariaDBAdapter.
Testing Requirements
Questions & Support
- Ask questions in the comments below.
- Join our Discord for real-time help.
Additional Context
Note on Dependencies: When choosing a database driver or any other external library, please ensure its license is permissive (e.g., MIT, Apache 2.0) to be compatible with this project's Apache 2.0 license.
We appreciate your interest in contributing to Intugle! 🙏
name: Help Wanted
about: Request community help on a specific task or feature
title: '[HELP WANTED] Implement a new adapter for MariaDB'
labels: 'help wanted'
assignees: ''
What We Need Help With
We are looking for help to create a new adapter for MariaDB. This will allow Intugle to connect directly to MariaDB servers, enabling users to profile their data, build semantic models, and generate data products.
Background & Context
MariaDB is a popular, community-developed fork of MySQL and is widely used in the open-source community. Providing a native adapter for MariaDB will ensure that users of this database can take full advantage of Intugle's data intelligence capabilities.
Current State
Intugle does not have a dedicated adapter for MariaDB. While a MySQL adapter might work for some basic queries, a native adapter is needed to ensure full compatibility and optimal performance.
Desired Outcome
A fully functional and tested MariaDB adapter that allows users to:
profiles.yml.Scope of Work
src/intugle/adapters/types/mariadb/.models.py).MariaDBAdapterclass, inheriting fromintugle.adapters.adapter.Adapter(mariadb.py).Adapterbase class, ensuring compatibility with the MariaDB dialect.mariadbPython driver as an optional dependency inpyproject.toml.Technical Details
Checkout the documentation on how to implement a adapter : Implementing a Connector
The implementation can be based heavily on the
PostgresAdapter. The key will be to handle any differences in the SQL dialect, information schema, and connection parameters specific to MariaDB.Relevant Files/Modules
src/intugle/adapters/types/postgres/(as a reference)src/intugle/adapters/types/mariadb/(to be created)src/intugle/adapters/factory.py(to register the new adapter)pyproject.toml(to add optional dependencies)tests/adapters/(to add new tests)Key Concepts/Technologies
Related Documentation
Suggested Approach
Leverage the existing
PostgresAdapter. The officialmariadbPython connector is the recommended driver.Skills Needed
Difficulty Level
Time Estimate
Getting Started
PostgresAdapteras a template for yourMariaDBAdapter.Testing Requirements
MariaDBAdapterclass.Questions & Support
Additional Context
Note on Dependencies: When choosing a database driver or any other external library, please ensure its license is permissive (e.g., MIT, Apache 2.0) to be compatible with this project's Apache 2.0 license.
We appreciate your interest in contributing to Intugle! 🙏