Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
31 changes: 23 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "1.1.0"
description = "Consciousness continuity system - semantic memory across sessions for AI CLI tools"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.12"
requires-python = ">=3.10,<3.14"
authors = [
{ name = "RLabs Inc", email = "contact@rlabs.dev" }
]
Expand All @@ -14,6 +14,8 @@ classifiers = [
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
Expand All @@ -24,13 +26,19 @@ dependencies = [
"sentence-transformers>=2.3.0",
"transformers>=4.40.0",
"huggingface-hub>=0.20.0",
# Platform-specific torch versions for macOS compatibility
"torch<2.3; sys_platform == 'darwin' and platform_machine == 'x86_64'", # Intel Mac: torch 2.3+ drops x86_64 support
"torch>=2.0; sys_platform == 'darwin' and platform_machine == 'arm64'", # Apple Silicon: latest version
"torch>=2.0; sys_platform != 'darwin'", # Non-macOS: latest version

# Vector storage and similarity search
"chromadb>=0.4.24",
"faiss-cpu>=1.7.4",
"faiss-cpu>=1.7.4,<1.8.0", # faiss 1.13+ requires macOS 14; keep <=1.7.x for older macOS

# Data processing
"numpy>=1.24.0",
"numpy>=1.24.0,<2.0; sys_platform == 'darwin' and platform_machine == 'x86_64'", # Intel Mac: torch 2.2 requires numpy 1.x
"numpy>=1.24.0; sys_platform == 'darwin' and platform_machine == 'arm64'", # Apple Silicon: latest numpy
"numpy>=1.24.0; sys_platform != 'darwin'", # Non-macOS: latest numpy
"pandas>=2.0.0",

# API Server
Expand All @@ -54,10 +62,10 @@ dev = [
"ruff>=0.1.0",
]

# Future: Apple Silicon optimization
# Apple Silicon optimization (ARM64 only)
mlx = [
"mlx>=0.25.0",
"mlx-lm>=0.24.1",
"mlx>=0.25.0; platform_machine == 'arm64'",
"mlx-lm>=0.24.1; platform_machine == 'arm64'",
]

[project.urls]
Expand All @@ -71,6 +79,13 @@ memory-server = "memory_engine.api:run_server"

[tool.uv]
python-preference = "managed"
# Constrain Python and deps for Intel Macs on older macOS due to wheel compatibility
constraint-dependencies = [
# onnxruntime requires macOS 13+ for Python 3.12+ wheels; use 3.10 on older macOS
"python<3.11; sys_platform == 'darwin' and platform_machine == 'x86_64'",
# onnxruntime 1.17+ dropped macOS 10/11 support; pin to 1.16.3 for older macOS Intel
"onnxruntime==1.16.3; sys_platform == 'darwin' and platform_machine == 'x86_64'",
]

[build-system]
requires = ["hatchling"]
Expand All @@ -81,12 +96,12 @@ packages = ["python/memory_engine"]

[tool.ruff]
line-length = 100
target-version = "py312"
target-version = "py310"

[tool.ruff.lint]
select = ["E", "F", "I", "N", "W"]
ignore = ["E501"] # Line too long - we handle this with line-length

[tool.black]
line-length = 100
target-version = ["py312"]
target-version = ["py310", "py311", "py312"]
Loading