Development Contributions
We strive to make contributions easy, collaborative, and enjoyable. Follow the steps below to ensure a smooth contribution process.Submitting Your Contribution through PR
To contribute, follow these steps:- Fork & Clone the repository: Mem0 on GitHub
- Create a Feature Branch: Use a dedicated branch for your changes, e.g.,
feature/my-new-feature
- Implement Changes: If adding a feature or fixing a bug, ensure to:
- Write necessary tests
- Add documentation, docstrings, and runnable examples
- Code Quality Checks:
- Run linting to catch style issues
- Ensure all tests pass
- Submit a Pull Request π
π¦ Dependency Management
We usehatch
as our package manager. Install it by following the official instructions.
β οΈ Do NOT use pip
or conda
for dependency management. Instead, follow these steps in order:
π οΈ Development Standards
β Pre-commit Hooks
Ensurepre-commit
is installed before contributing:
π Linting with ruff
Run the linter and fix any reported issues before submitting your PR:
π¨ Code Formatting
To maintain a consistent code style, format your code:π§ͺ Testing with pytest
Run tests to verify functionality before submitting your PR:
make install_all
to install necessary dependencies before running tests.
π Release Process
Currently, releases are handled manually. We aim for frequent releases, typically when new features or bug fixes are introduced.Thank you for contributing to Mem0! π