diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fa1826a07f..31f836dbdf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,22 +22,49 @@ git clone https://github.com/your-username/MemGPT.git ### 🧩 Install Dependencies **Installing dependencies with poetry** (recommended): + +First, install Poetry using [the official instructions here](https://python-poetry.org/docs/#installation). + +Once Poetry is installed, navigate to the MemGPT directory and install the MemGPT project with Poetry: ```shell cd MemGPT -pip install poetry +poetry shell poetry install -E dev -E postgres -E local -E legacy ``` -If you are managing dependencies with poetry, you will need to run MemGPT commands with `poetry run memgpt run`. + +Now when you want to use `memgpt`, make sure you first activate the `poetry` environment using poetry shell: +```shell +$ poetry shell +(pymemgpt-py3.10) $ memgpt run +``` + +Alternatively, you can use `poetry run` (which will activate the `poetry` environment for the `memgpt run` command only): +```shell +poetry run memgpt run +``` **Installing dependencies with pip**: + +First you should set up a dedicated virtual environment. This is optional, but is highly recommended: ```shell cd MemGPT -# Optional: set up a virtual environment. -# python3 -m venv venv -# . venv/bin/activate +python3 -m venv venv +. venv/bin/activate +``` + +Once you've activated your virtual environment and are in the MemGPT project directory, you can install the dependencies with `pip`: +```shell pip install -e '.[dev,postgres,local,legacy]' ``` +Now, you should be able to run `memgpt` from the command-line using the downloaded source code (if you used a virtual environment, you have to activate the virtual environment to access `memgpt`): +```shell +$ . venv/bin/activate +(venv) $ memgpt run +``` + +If you are having dependency issues using `pip`, we recommend you install the package using Poetry. Installing MemGPT from source using Poetry will ensure that you are using exact package versions that have been tested for the production build. + #### (Optional) Installing pre-commit We recommend installing pre-commit to ensure proper formatting during development: ``` diff --git a/docs/contributing.md b/docs/contributing.md index 977569ac64..18445302a2 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,5 +1,3 @@ -# Contributing - ## Installing from source To install MemGPT from source, start by cloning the repo: @@ -7,30 +5,50 @@ To install MemGPT from source, start by cloning the repo: git clone git@github.com:cpacker/MemGPT.git ``` -**Installing dependencies with poetry** (recommended): +### Installing dependencies with poetry** (recommended) -First, install Poetry using [the official instructions here](https://python-poetry.org/docs/#installing-with-the-official-installer). +First, install Poetry using [the official instructions here](https://python-poetry.org/docs/#installation). +Once Poetry is installed, navigate to the MemGPT directory and install the MemGPT project with Poetry: ```shell cd MemGPT -pip install poetry +poetry shell poetry install -E dev -E postgres -E local -E legacy ``` -If you are managing dependencies with poetry, you will need to run MemGPT commands with `poetry run memgpt run`. -**Installing dependencies with pip**: +Now when you want to use `memgpt`, make sure you first activate the `poetry` environment using poetry shell: +```shell +$ poetry shell +(pymemgpt-py3.10) $ memgpt run +``` + +Alternatively, you can use `poetry run` (which will activate the `poetry` environment for the `memgpt run` command only): +```shell +poetry run memgpt run +``` + +### Installing dependencies with pip + +First you should set up a dedicated virtual environment. This is optional, but is highly recommended: ```shell cd MemGPT -# Optional: set up a virtual environment. -# python3 -m venv venv -# . venv/bin/activate +python3 -m venv venv +. venv/bin/activate +``` + +Once you've activated your virtual environment and are in the MemGPT project directory, you can install the dependencies with `pip`: +```shell pip install -e '.[dev,postgres,local,legacy]' ``` -Now, you should be able to run `memgpt` from the command-line using the downloaded source code. +Now, you should be able to run `memgpt` from the command-line using the downloaded source code (if you used a virtual environment, you have to activate the virtual environment to access `memgpt`): +```shell +$ . venv/bin/activate +(venv) $ memgpt run +``` -If you are having dependency issues using `pip install -e .`, we recommend you install the package using Poetry (see below). Installing MemGPT from source using Poetry will ensure that you are using exact package versions that have been tested for the production build. +If you are having dependency issues using `pip`, we recommend you install the package using Poetry. Installing MemGPT from source using Poetry will ensure that you are using exact package versions that have been tested for the production build. -### Contributing to the MemGPT project +## Contributing to the MemGPT project We welcome pull requests! Please see [our contributing guide](https://github.com/cpacker/MemGPT/blob/main/CONTRIBUTING.md) for instructions on how to contribute to the project.