Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
2189062
fix: reorganizer bug (#64)
CaralHsi Jul 11, 2025
c90f241
feat: add ark/volcengine embedder support (#57)
ioo0s Jul 12, 2025
2012dd1
fix: GeneralTextMemory._embed_one_sentence Argument Error (#76)
J1awei-Yang Jul 15, 2025
339c756
feat: add neo4j share-db example (#59)
CaralHsi Jul 15, 2025
244e748
feat: add universal api embedder (#81)
CaralHsi Jul 15, 2025
86c999a
feat: Add embedder consistency validation with warning and tests (#69)
Dustyposa Jul 16, 2025
b7636eb
Feat: add demo api and scheduler vllm etc (#83)
fridayL Jul 16, 2025
a6b1574
feat: add download_examples command (#87)
Ki-Seki Jul 16, 2025
29b19a0
feat: add stale issue and PR management workflow (#89)
Ki-Seki Jul 16, 2025
a9ffe4f
feat: update issue and pr templates (#98)
Ki-Seki Jul 16, 2025
ba74bf1
Add More backend (#99)
Gaojianli Jul 16, 2025
90fbbfa
feat: add multi language (#92)
CaralHsi Jul 16, 2025
2387f6d
feat(eval): add longmemeval evaluation pipeline (#104)
Duguce Jul 17, 2025
bfc32d8
Feat:change deafult config for product (#108)
fridayL Jul 17, 2025
a0990be
Support customized system prompt base (#102)
newmeta-ben Jul 17, 2025
b4d5a88
feat: recursively cluster nodes to max_cluster_size (#105)
Nyakult Jul 17, 2025
9cbed6d
feat: return ids when add memory (#119)
CaralHsi Jul 17, 2025
8eb0738
Feat: add simple memos for user could easy start (#118)
fridayL Jul 18, 2025
4572d30
Feat: More Llm API (#113)
CaralHsi Jul 19, 2025
aa4f1f9
feat: update doc mem reader (#123)
Nyakult Jul 19, 2025
9dc520d
build: optimize dependencies management (#120)
Ki-Seki Jul 19, 2025
f00483a
Fix None issue in reorganizer queue (#125)
J1awei-Yang Jul 19, 2025
a3dfeae
feat: update PR template to include documentation issue/PR link (#126)
Ki-Seki Jul 19, 2025
56d6fd5
feat: add mcp serve support and client demo (#127)
fridayL Jul 20, 2025
956a9d7
Feat: neo4j community (#121)
CaralHsi Jul 21, 2025
01797eb
feat(example): add MOSProduct multi-user locomo example with shared N…
CaralHsi Jul 21, 2025
04e7dda
fix: update Python version constraints in project files (#129)
Ki-Seki Jul 21, 2025
c42bf96
chore: change version number to v0.2.1
fridayL Jul 21, 2025
727dc18
feat: one-click deployment with docker (#133)
tianxing02 Jul 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
build: optimize dependencies management (#120)
* build: optimize dependencies management

* build: drop deprecated sections

* fix: correct typo and commands

* refactor: optimize pyproject.toml

* ci: add Python release testing workflow

* build: optimize version constraints and optional groups

* fix: update patch paths for SentenceChunker and QdrantClient in tests

* ci: enhance dependency and building test

* docs: update installation instructions

* fix: move ruff dependency to test group

* fix: specify encoding

* fix: refine wheel and sdist installation steps for OS-specific handling

* fix: update Windows installation commands to use PowerShell syntax

* chore: add comments for clarity in Python tests workflow

* fix: report slowest tests

* ci: support macos-13 as much as possible

* fix: macos-13 testing

* chore: add comments

* chore: update comments in pyproject.toml

* docs: support all platforms

* fix: poetry update

* fix: move scikit-learn and qdrant-client

* docs: clarify optional dependencies

---------

Co-authored-by: CaralHsi <caralhsi@gmail.com>
  • Loading branch information
Ki-Seki and CaralHsi authored Jul 19, 2025
commit 9dc520df78f039e4c029fcf57794e185ad363e3a
52 changes: 47 additions & 5 deletions .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
os:
- "ubuntu-latest"
- "windows-latest"
- "macos-13"
- "macos-14"
- "macos-15"
# Ref: https://docs.github.com/en/actions/how-tos/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job
Expand All @@ -46,13 +47,54 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install dependencies

# Dependency and building tests
- name: Install main dependencies
run: |
poetry install --no-root --no-interaction
- name: Check no top-level optional dependencies
run: |
poetry run python scripts/check_dependencies.py
- name: Build sdist and wheel
run: poetry build
- name: Test wheel installation on Windows
if: startsWith(matrix.os, 'windows')
run: |
Get-ChildItem dist/*.whl | ForEach-Object { pip install $_.FullName }
pip uninstall -y memoryos
- name: Test wheel installation on Linux / Mac
if: ${{ !startsWith(matrix.os, 'windows') }}
run: |
pip install dist/*.whl
pip uninstall -y memoryos
- name: Test sdist installation on Windows
if: startsWith(matrix.os, 'windows')
run: |
poetry install --no-interaction --with dev --with test
- name: Test with ruff
Get-ChildItem dist/*.tar.gz | ForEach-Object { pip install $_.FullName }
pip uninstall -y memoryos
- name: Test sdist installation on Linux / Mac
if: ${{ !startsWith(matrix.os, 'windows') }}
run: |
pip install dist/*.tar.gz
pip uninstall -y memoryos

# Ruff checks
- name: Install test group dependencies
run: |
poetry install --no-interaction --with test
- name: Ruff checks
run: |
poetry run ruff check
poetry run ruff format --check
- name: Test with pytest

# PyTest checks
- name: Install all extra dependencies
# macos-13 doesn't support torch==2.7.1
# So, pytest won't work
if: ${{ !startsWith(matrix.os, 'macos-13') }}
run: |
poetry install --no-interaction --extras all
- name: PyTest unit tests
if: ${{ !startsWith(matrix.os, 'macos-13') }}
run: |
poetry run pytest tests -vv
poetry run pytest tests -vv --durations=10
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.PHONY: test

install:
poetry install --with dev --with test
poetry install --extras all --with dev --with test
poetry run pre-commit install --install-hooks

clean:
Expand Down
32 changes: 19 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
<a href="https://pypi.org/project/MemoryOS">
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
</a>
<a href="https://pypi.org/project/MemoryOS">
<img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey" alt="Supported Platforms">
</a>
<a href="https://memos-docs.openmem.net/home/overview/">
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
</a>
Expand Down Expand Up @@ -138,34 +141,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct

## 📦 Installation

> [!WARNING]
> MemOS is compatible with Linux, Windows, and macOS.
>
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
>
> For example, compatibility with macOS 13 Ventura is currently challenging.

### Install via pip

```bash
pip install MemoryOS
```

### Development Install
### Optional Dependencies

MemOS provides several optional dependency groups for different features. You can install them based on your needs.

| Feature | Package Name |
| --------------------- | ------------------------- |
| Tree Memory | `MemoryOS[tree-mem]` |
| Memory Reader | `MemoryOS[mem-reader]` |
| Memory Scheduler | `MemoryOS[mem-scheduler]` |

To contribute to MemOS, clone the repository and install it in editable mode:
Example installation commands:

```bash
git clone https://github.com/MemTensor/MemOS.git
cd MemOS
make install
pip install MemoryOS[tree-mem]
pip install MemoryOS[tree-mem,mem-reader]
pip install MemoryOS[mem-scheduler]
pip install MemoryOS[tree-mem,mem-reader,mem-scheduler]
```

### Optional Dependencies
### External Dependencies

#### Ollama Support

To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:

```bash
curl -fsSL https://ollama.com/install.sh | sh
```
Expand Down
2 changes: 1 addition & 1 deletion evaluation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This repository provides tools and scripts for evaluating the LoCoMo dataset usi

2. Install the required dependencies:
```bash
poetry install --with eval
poetry install --extras all --with eval
```

## Configuration
Expand Down
Loading