Contribute

MDAnalysis is an open-source project that welcomes and encourages contributions from the community. Whether you’re a developer, documentation writer, or interested in improving the website, there are many ways to get involved.

You can contribute by developing new features, fixing bugs, improving documentation, enhancing tutorials, contributing to MDAKits, improving the website, or engaging in discussions.

Contributions also extend to our mentoring and outreach programs, where participants gain hands-on experience in open-source development and scientific software. You can also contribute by mentoring new contributors, helping them navigate MDAnalysis, review their work, and share best practices.

If you’re new, you can start by participating in community conversations and mentoring programs. For more information on how you can participate, check out the Community and Events pages.

The MDAnalysis Project hosts several open-source repositories beyond the main library and MDAKits. You are welcome to contribute to any of them! Each repository typically has a CONTRIBUTING.md file to help you get started. If you’re unsure where to begin, you can:

This page provides an overview of how you can contribute to the Codebase, MDAKits, Documentation, or Mentoring & Outreach Programs.

Contributing to the Codebase

If you are interested in developing new features, fixing bugs, or improving performance, contributing to the MDAnalysis main codebase is a great way to get involved.

Main Codebase Repository

MDAnalysis is developed and maintained in the MDAnalysis Main Code Repository, which contains:

How to Get Started

Contributing to MDAKits

MDAKits are community-driven projects that extend MDAnalysis functionality. They allow researchers and developers to build tools tailored for specific workflows while staying within the MDAnalysis ecosystem.

MDAKits Registry

The MDAKits Registry lists active projects contributed by the community. These projects cover various applications, such as enhanced trajectory analysis, molecular simulations, and integration with machine learning frameworks.

How to Get Started

MDAKits follow MDAnalysis coding standards but operate independently. Contributions to these projects are highly encouraged and help expand the MDAnalysis ecosystem.

Contributing to the Documentation

Good documentation is essential to making MDAnalysis accessible to users and developers. MDAnalysis maintains two types of documentation: the User Guide and the API Reference.

User Guide

The User Guide provides tutorials and explanatory content to help users install and learn MDAnalysis. You can contribute by updating unclear explanations, adding new tutorials or examples, or fixing outdated information.

How to Get Started

API Reference

The API reference is automatically generated from docstrings in the codebase. It provides a structured reference for developers working with MDAnalysis. You can contribute by improving docstrings for functions, classes, and modules or updating outdated documentation.

How to Get Started

Mentoring & Outreach Programs

MDAnalysis has actively participated in various mentoring and outreach programs to help students, researchers, and early-career contributors gain experience in open-source development and scientific software. Through these programs, participants receive mentorship, contribute to real-world projects, and develop valuable skills in computational science and software engineering.

Stay informed

For the latest announcements, deadlines, and project ideas, check out our blog where we share updates on participation and application guidelines.

We have been involved in several mentoring initiatives:

Many of our core developers started through these programs — consider joining and becoming part of the MDAnalysis community!

GSoC

MDAnalysis has participated in Google Summer of Code for several years, mentoring students on a variety of open-source projects. Explore our past projects:

Other Contributions

If you are interested in contributing in other ways, such as writing a blog post, we welcome contributions that document your experience with MDAnalysis — whether it’s learning the software, participating in a UGM, or working on a project. Feel free to reach out via the Community page for guidance on submitting a post.

If you are interested in improving our website, you can refer to the README file in the Website Repository. While the website is already maintained by the MDAnalysis team, any fixes and updates are always welcome.