🤝 Join the Community

lexprep is an open-source project, and we welcome contributions from everyone! Whether you're a linguist, a developer, or both, there are many ways to help improve the toolkit and make linguistic research more accessible.

The goal of lexprep is to support as many languages as possible, making it easier for researchers worldwide to prepare wordlists for their studies. Your contribution can make a real difference in the research community.

🌟 Ways to Contribute

🌍 Add a New Language

This is the most impactful contribution! If you know a language that's not yet supported, you can help add:

  • G2P transcription (grapheme-to-phoneme conversion)
  • Syllable counting algorithms
  • POS tagging integration

🐛 Report Bugs

Found a bug or unexpected behavior? Open an issue on GitHub with:

  • Python version and operating system
  • Full error traceback
  • Minimal reproducible example
  • Expected vs. actual behavior

📖 Improve Documentation

Good documentation is crucial. You can help by:

  • Fixing typos or unclear explanations
  • Adding usage examples
  • Translating documentation to other languages
  • Writing tutorials for specific use cases

✨ Suggest Features

Have an idea for a new feature? We'd love to hear it! Open an issue to discuss your suggestion before implementing it.

📋 Code Guidelines

  • Write docstrings for all public functions and classes
  • Keep functions focused
  • Use clear variable names
  • Add tests for new features
  • Update documentation as needed

🎯 Languages We'd Love to Support

We're especially interested in adding support for these languages. If you have expertise in any of them, your contribution would be invaluable:

🇸🇦 Arabic

G2P, syllables, POS tagging

🇨🇳 Chinese

Pinyin conversion, POS tagging

🇰🇷 Korean

Romanization, syllables, POS

🇪🇸 Spanish

G2P, syllables, POS tagging

🇫🇷 French

G2P, syllables, POS tagging

🇩🇪 German

G2P, syllables, POS tagging

🇷🇺 Russian

G2P, syllables, POS tagging

🇮🇳 Hindi

Transliteration, POS tagging

Ready to Contribute?

Start by exploring the codebase and opening an issue to discuss your ideas.

View on GitHub