Skip to content

build: optimize dependencies management#120

Merged
CaralHsi merged 27 commits intoMemTensor:devfrom
Ki-Seki:feat/dependency-resolve
Jul 19, 2025
Merged

build: optimize dependencies management#120
CaralHsi merged 27 commits intoMemTensor:devfrom
Ki-Seki:feat/dependency-resolve

Conversation

@Ki-Seki
Copy link
Member

@Ki-Seki Ki-Seki commented Jul 17, 2025

Description

Summary: optimize dependencies management

Detailed description

⚙️ Dependency Management Overhaul

  • Introduced @require_python_package decorator for dynamic imports of optional dependencies.
  • Migrated from Poetry-only setup to PEP 621 standard with structured optional dependency groups.
  • Removed deprecated configuration sections and refined version constraints.

🧪 CI/CD Pipeline Enhancements

  • Added workflows for Python release testing and multi-platform wheel builds (including macOS 13).
  • Implemented dependency validation to ensure no top-level optional imports.
  • Improved test clarity with comments and slow-test reporting.

📦 Installation & Documentation Updates

  • Updated installation instructions to reflect optional dependency usage.
  • Refined Windows install commands using PowerShell syntax.
  • Improved wheel and sdist installation steps for OS-specific handling.

🧹 Codebase Refactoring

  • Converted imports in modules like Qdrant, sentence-transformers, scikit-learn, and schedule to dynamic.
  • Added scripts/check_dependencies.py to validate dependency cleanliness.
  • Updated test mocks and paths to align with new import structure.

Fix: #21 #40 #111 #115

Docs Issue/PR: MemTensor/MemOS-Docs#20

Reviewer: @CaralHsi @J1awei-Yang @fridayL @tangg555

Checklist:

  • I have performed a self-review of my own code | 我已自行检查了自己的代码
  • I have commented my code in hard-to-understand areas | 我已在难以理解的地方对代码进行了注释
  • I have added tests that prove my fix is effective or that my feature works | 我已添加测试以证明我的修复有效或功能正常
  • I have created related documentation issue/PR in MemOS-Docs (if applicable) | 我已在 MemOS-Docs 中创建了相关的文档 issue/PR(如果适用)
  • I have linked the issue to this PR (if applicable) | 我已将 issue 链接到此 PR(如果适用)
  • I have mentioned the person who will review this PR | 我已提及将审查此 PR 的人

@Ki-Seki Ki-Seki marked this pull request as ready for review July 17, 2025 21:37
Copilot AI review requested due to automatic review settings July 17, 2025 21:37

This comment was marked as resolved.

@Ki-Seki Ki-Seki requested a review from Copilot July 18, 2025 03:59

This comment was marked as resolved.

@Ki-Seki Ki-Seki linked an issue Jul 18, 2025 that may be closed by this pull request
Copy link
Collaborator

@CaralHsi CaralHsi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Looks good to me.

@CaralHsi CaralHsi merged commit 9dc520d into MemTensor:dev Jul 19, 2025
20 checks passed
tianxing02 pushed a commit to tianxing02/MemOS that referenced this pull request Feb 24, 2026
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

good first issue Good for newcomers

Projects

None yet

3 participants