Skip to content

Commit

Permalink
fix(deps): resolve dependency and Python version issues
Browse files Browse the repository at this point in the history
- Change Python requirement to >=3.11,<3.12 for MLX compatibility
- Remove types-asyncssh dependency
- Update all dependencies to exact versions
- Remove duplicate iperf3 dependency
- Add missing type stubs
  • Loading branch information
jbarnes850 committed Nov 19, 2024
1 parent f913893 commit 6d6f16a
Showing 1 changed file with 44 additions and 45 deletions.
89 changes: 44 additions & 45 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,68 +6,67 @@
packages=find_packages(),
install_requires=[
# Core ML Dependencies
"mlx>=0.20.0",
"numpy>=1.24.0",
"transformers>=4.36.0",
"safetensors>=0.4.0",
"datasets>=2.15.0",
"torch>=2.1.0",
"mlx==0.20.0",
"numpy==1.24.3",
"transformers==4.36.2",
"safetensors==0.4.1",
"datasets==2.15.0",
"torch==2.1.2",

# Distributed Training
"mpi4py>=3.1.4",
"paramiko>=3.3.1",
"pyzmq>=25.1.1",
"asyncssh>=2.14.0",
"iperf3>=0.1.11",
"mpi4py==3.1.5",
"paramiko==3.3.1",
"pyzmq==25.1.1",
"asyncssh==2.14.1",
"iperf3==0.1.11",

# Storage & IO
"aiofiles>=23.2.1",
"aiosqlite>=0.19.0",
"xxhash>=3.4.1",
"aiofiles==23.2.1",
"aiosqlite==0.19.0",
"xxhash==3.4.1",

# API & Serving
"fastapi>=0.104.0",
"uvicorn>=0.24.0",
"pydantic>=2.5.0",
"fastapi==0.104.1",
"uvicorn==0.24.0",
"pydantic==2.5.2",

# Monitoring & Visualization
"psutil>=5.9.0",
"plotly>=5.18.0",
"dash>=2.14.0",
"dash-core-components>=2.0.0",
"dash-html-components>=2.0.0",
"pandas>=2.1.0",
"psutil==5.9.6",
"plotly==5.18.0",
"dash==2.14.1",
"dash-core-components==2.0.0",
"dash-html-components==2.0.0",
"pandas==2.1.3",

# Utilities
"tqdm>=4.66.1",
"pyyaml>=6.0.1",
"iperf3>=0.1.11", # For network testing
"metal-sdk>=0.5.0", # For Metal GPU monitoring
"huggingface-hub>=0.19.4",
"tqdm==4.66.1",
"pyyaml==6.0.1",
"metal-sdk==0.5.0", # For Metal GPU monitoring
"huggingface-hub==0.19.4",
],
extras_require={
"dev": [
"pytest>=7.4.3",
"pytest-asyncio>=0.21.1",
"pytest-cov>=4.1.0",
"black>=23.11.0",
"isort>=5.12.0",
"mypy>=1.7.0",
"pylint>=3.0.0",
"pytest==7.4.3",
"pytest-asyncio==0.21.1",
"pytest-cov==4.1.0",
"black==23.11.0",
"isort==5.12.0",
"mypy==1.7.1",
"pylint==3.0.2",
# Type Stubs
"types-PyYAML>=6.0.12",
"types-tqdm>=4.65.0",
"types-paramiko>=3.3.1",
"types-psutil>=5.9.0",
"types-asyncssh>=2.13.0",
"types-PyYAML==6.0.12.12",
"types-tqdm==4.65.0.1",
"types-paramiko==3.3.1",
"types-psutil==5.9.0",
"types-aiofiles==23.2.0",
],
"docs": [
"sphinx>=7.2.0",
"sphinx-rtd-theme>=1.3.0",
"sphinx-autodoc-typehints>=1.25.0",
"sphinx==7.2.6",
"sphinx-rtd-theme==1.3.0",
"sphinx-autodoc-typehints==1.25.2",
],
},
python_requires=">=3.12",
python_requires=">=3.11,<3.12", # MLX currently works best with Python 3.11
author="Jarrod Barnes",
author_email="[email protected]",
description="Distributed training with MLX for Apple Silicon",
Expand All @@ -79,7 +78,7 @@
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Operating System :: MacOS :: MacOS X",
],
Expand Down

0 comments on commit 6d6f16a

Please sign in to comment.