Development
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 π
For detailed guidance on pull requests, refer to GitHubβs documentation.
π¦ Dependency Management
We use poetry
as our package manager. Install it by following the official instructions.
β οΈ Do NOT use pip
or conda
for dependency management. Instead, run:
π οΈ Development Standards
β Pre-commit Hooks
Ensure pre-commit
is installed before contributing:
π Linting with ruff
Run the linter and fix any reported issues before submitting your PR:
π¨ Code Formatting with black
To maintain a consistent code style, format your code using black
:
π§ͺ Testing with pytest
Run tests to verify functionality before submitting your PR:
π‘ Note: Some dependencies have been removed from Poetry to reduce package size. Run 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! π