<commit_before>---
layout: docs
title: Get involved
permalink: /docs/extensions/get-involved/
---<commit_msg>docs: get involved<commit_after>---
layout: docs
title: Get involved
permalink: /docs/extensions/get-involved/
---

If there is a situation that you have a data source that is not covered by an extension of cummunity,
it is possible to write your own. The library is designed to make it as easy as possible at least the effort.

## Custom adapter
Usually, you just write your own adapter, which should implement all methods listed in the interface.
The contents of these methods should concern itself only retrieving data from a data source, nothing more.

## Custom mapping
However, there may be situations where data that the adapter receives from queries or data source,
still need a little intervention during mapping, and therefore each adapter can implement its own mapping descendant.
{'fraction_non_alphanumeric': 0.056666666666666664, 'fraction_numerical': 0.0, 'mean_word_length': 4.52760736196319, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3843993', 'n_tokens_mistral': 221, 'n_tokens_neox': 213, 'n_words': 130}