docs/contributing/development.mdx
We strive to make contributions easy, collaborative, and enjoyable. Follow the steps below to ensure a smooth contribution process.
To contribute, follow these steps:
feature/my-new-featureFor detailed guidance on pull requests, refer to GitHub's documentation.
We use hatch 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:
# 1. Install base dependencies
make install
# 2. Activate virtual environment (this will install dependencies)
hatch shell # For default environment
hatch -e dev_py_3_11 shell # For dev_py_3_11 (differences are mentioned in pyproject.toml)
# 3. Install all optional dependencies
make install_all
Ensure pre-commit is installed before contributing:
pre-commit install
ruffRun the linter and fix any reported issues before submitting your PR:
make lint
To maintain a consistent code style, format your code:
make format
pytestRun tests to verify functionality before submitting your PR:
make test
Note: Some dependencies have been removed from the main dependencies to reduce package size. Run make install_all to install necessary dependencies before running tests.
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!