{"package":"skypilot","ecosystem":"pypi","latest_version":"0.12.1","description":"SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.","license":"Apache 2.0","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/skypilot/","repository":"https://github.com/skypilot-org/skypilot","downloads_weekly":0,"health":{"score":67,"risk":"moderate","breakdown":{"maintenance":25,"popularity":0,"security":25,"maturity":15,"community":2},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.12.1","total_count":51,"recent":["0.10.2","0.10.3","0.10.3.post1","0.10.3.post2","0.10.4","0.10.5","0.11.0rc1","0.11.0rc2","0.11.0","0.11.1","0.11.2rc1","0.11.2rc2","0.11.2rc3","0.11.2rc4","0.11.2","0.12.0rc1","0.12.0rc2","0.12.0","0.12.1rc1","0.12.1"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":1,"first_published":null,"last_published":"2026-04-24T00:41:45.445225Z","dependencies_count":430,"dependencies":["wheel>=0.46.3","setuptools","pip","cachetools","click<8.2.0,>=7.0","colorama","cryptography","jinja2>=3.0","jsonschema","networkx","pandas>=1.3.0","pendulum","PrettyTable>=2.0.0","python-dotenv","rich","tabulate","typing_extensions","filelock>=3.15.0","packaging","psutil","pulp","pyyaml!=5.4.*,>3.13","ijson","orjson","requests","uvicorn[standard]<0.36.0,>=0.33.0","fastapi","pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3,>2","python-multipart","aiofiles","httpx","setproctitle","sqlalchemy>=2.0.0","psycopg2-binary","aiosqlite","asyncpg","greenlet","casbin","sqlalchemy_adapter","prometheus_client>=0.8.0","passlib","bcrypt==4.0.1","pyjwt","gitpython","paramiko","types-paramiko","alembic>=1.8.0","aiohttp>=3.13.3","anyio","awscli>=1.27.10; extra == \"aws\"","botocore>=1.29.10; extra == \"aws\"","boto3>=1.26.1; extra == \"aws\"","colorama<0.4.7; extra == \"aws\"","casbin; extra == \"aws\"","sqlalchemy_adapter; extra == \"aws\"","passlib; extra == \"aws\"","pyjwt; extra == \"aws\"","aiohttp; extra == \"aws\"","anyio; extra == \"aws\"","grpcio>=1.63.0; extra == \"aws\"","protobuf<7.0.0,>=5.26.1; extra == \"aws\"","aiosqlite; extra == \"aws\"","azure-cli>=2.65.0; extra == \"azure\"","azure-core>=1.31.0; extra == \"azure\"","azure-identity>=1.19.0; extra == \"azure\"","azure-mgmt-network>=27.0.0; extra == \"azure\"","azure-mgmt-compute>=33.0.0; extra == \"azure\"","azure-storage-blob>=12.23.1; extra == \"azure\"","msgraph-sdk; extra == \"azure\"","msrestazure; extra == \"azure\"","casbin; extra == \"azure\"","sqlalchemy_adapter; extra == \"azure\"","passlib; extra == \"azure\"","pyjwt; extra == \"azure\"","aiohttp; extra == \"azure\"","anyio; extra == \"azure\"","grpcio>=1.63.0; extra == \"azure\"","protobuf<7.0.0,>=5.26.1; extra == \"azure\"","aiosqlite; extra == \"azure\"","google-api-python-client>=2.69.0; extra == \"gcp\"","google-cloud-storage; extra == \"gcp\"","pyopenssl<24.3.0,>=23.2.0; extra == \"gcp\"","casbin; extra == \"gcp\"","sqlalchemy_adapter; extra == \"gcp\"","passlib; extra == \"gcp\"","pyjwt; extra == \"gcp\"","aiohttp; extra == \"gcp\"","anyio; extra == \"gcp\"","grpcio>=1.63.0; extra == \"gcp\"","protobuf<7.0.0,>=5.26.1; extra == \"gcp\"","aiosqlite; extra == \"gcp\"","ibm-cloud-sdk-core; extra == \"ibm\"","ibm-vpc; extra == \"ibm\"","ibm-platform-services>=0.48.0; extra == \"ibm\"","ibm-cos-sdk; extra == \"ibm\"","ray[default]>=2.6.1; extra == \"ibm\"","casbin; extra == \"ibm\"","sqlalchemy_adapter; extra == \"ibm\"","passlib; extra == \"ibm\"","pyjwt; extra == \"ibm\"","aiohttp; extra == \"ibm\"","anyio; extra == \"ibm\"","grpcio>=1.63.0; extra == \"ibm\"","protobuf<7.0.0,>=5.26.1; extra == \"ibm\"","aiosqlite; extra == \"ibm\"","docker; extra == \"docker\"","ray[default]>=2.6.1; extra == \"docker\"","casbin; extra == \"docker\"","sqlalchemy_adapter; extra == \"docker\"","passlib; extra == \"docker\"","pyjwt; extra == \"docker\"","aiohttp; extra == \"docker\"","anyio; extra == \"docker\"","grpcio>=1.63.0; extra == \"docker\"","protobuf<7.0.0,>=5.26.1; extra == \"docker\"","aiosqlite; extra == \"docker\"","casbin; extra == \"lambda\"","sqlalchemy_adapter; extra == \"lambda\"","passlib; extra == \"lambda\"","pyjwt; extra == \"lambda\"","aiohttp; extra == \"lambda\"","anyio; extra == \"lambda\"","grpcio>=1.63.0; extra == \"lambda\"","protobuf<7.0.0,>=5.26.1; extra == \"lambda\"","aiosqlite; extra == \"lambda\"","awscli>=1.27.10; extra == \"cloudflare\"","botocore>=1.29.10; extra == \"cloudflare\"","boto3>=1.26.1; extra == \"cloudflare\"","colorama<0.4.7; extra == \"cloudflare\"","casbin; extra == \"cloudflare\"","sqlalchemy_adapter; extra == \"cloudflare\"","passlib; extra == \"cloudflare\"","pyjwt; extra == \"cloudflare\"","aiohttp; extra == \"cloudflare\"","anyio; extra == \"cloudflare\"","grpcio>=1.63.0; extra == \"cloudflare\"","protobuf<7.0.0,>=5.26.1; extra == \"cloudflare\"","aiosqlite; extra == \"cloudflare\"","awscli>=1.27.10; extra == \"coreweave\"","botocore>=1.29.10; extra == \"coreweave\"","boto3>=1.26.1; extra == \"coreweave\"","colorama<0.4.7; extra == \"coreweave\"","kubernetes!=32.0.0,>=20.0.0; extra == \"coreweave\"","websockets; extra == \"coreweave\"","python-dateutil; extra == \"coreweave\"","casbin; extra == \"coreweave\"","sqlalchemy_adapter; extra == \"coreweave\"","passlib; extra == \"coreweave\"","pyjwt; extra == \"coreweave\"","aiohttp; extra == \"coreweave\"","anyio; extra == \"coreweave\"","grpcio>=1.63.0; extra == \"coreweave\"","protobuf<7.0.0,>=5.26.1; extra == \"coreweave\"","aiosqlite; extra == \"coreweave\"","ray[default]>=2.6.1; extra == \"scp\"","casbin; extra == \"scp\"","sqlalchemy_adapter; extra == \"scp\"","passlib; extra == \"scp\"","pyjwt; extra == \"scp\"","aiohttp; extra == \"scp\"","anyio; extra == \"scp\"","grpcio>=1.63.0; extra == \"scp\"","anyio; extra == \"primeintellect\"","protobuf<7.0.0,>=5.26.1; extra == \"scp\"","aiosqlite; extra == \"scp\"","oci; extra == \"oci\"","casbin; extra == \"oci\"","sqlalchemy_adapter; extra == \"oci\"","passlib; extra == \"oci\"","pyjwt; extra == \"oci\"","aiohttp; extra == \"oci\"","anyio; extra == \"oci\"","grpcio>=1.63.0; extra == \"oci\"","protobuf<7.0.0,>=5.26.1; extra == \"oci\"","aiosqlite; extra == \"oci\"","kubernetes!=32.0.0,>=20.0.0; extra == \"kubernetes\"","websockets; extra == \"kubernetes\"","python-dateutil; extra == \"kubernetes\"","casbin; extra == \"kubernetes\"","sqlalchemy_adapter; extra == \"kubernetes\"","passlib; extra == \"kubernetes\"","pyjwt; extra == \"kubernetes\"","aiohttp; extra == \"kubernetes\"","anyio; extra == \"kubernetes\"","grpcio>=1.63.0; extra == \"kubernetes\"","protobuf<7.0.0,>=5.26.1; extra == \"kubernetes\"","aiosqlite; extra == \"kubernetes\"","kubernetes!=32.0.0,>=20.0.0; extra == \"ssh\"","websockets; extra == \"ssh\"","python-dateutil; extra == \"ssh\"","casbin; extra == \"ssh\"","sqlalchemy_adapter; extra == \"ssh\"","passlib; extra == \"ssh\"","pyjwt; extra == \"ssh\"","aiohttp; extra == \"ssh\"","anyio; extra == \"ssh\"","grpcio>=1.63.0; extra == \"ssh\"","protobuf<7.0.0,>=5.26.1; extra == \"ssh\"","aiosqlite; extra == \"ssh\"","runpod>=1.6.1; extra == \"runpod\"","tomli; extra == \"runpod\"","pycares<5; extra == \"runpod\"","casbin; extra == \"runpod\"","sqlalchemy_adapter; extra == \"runpod\"","passlib; extra == \"runpod\"","pyjwt; extra == \"runpod\"","aiohttp; extra == \"runpod\"","anyio; extra == \"runpod\"","grpcio>=1.63.0; extra == \"runpod\"","protobuf<7.0.0,>=5.26.1; extra == \"runpod\"","aiosqlite; extra == \"runpod\"","casbin; extra == \"fluidstack\"","sqlalchemy_adapter; extra == \"fluidstack\"","passlib; extra == \"fluidstack\"","pyjwt; extra == \"fluidstack\"","aiohttp; extra == \"fluidstack\"","anyio; extra == \"fluidstack\"","grpcio>=1.63.0; extra == \"fluidstack\"","protobuf<7.0.0,>=5.26.1; extra == \"fluidstack\"","aiosqlite; extra == \"fluidstack\"","cudo-compute>=0.1.10; extra == \"cudo\"","casbin; extra == \"cudo\"","sqlalchemy_adapter; extra == \"cudo\"","passlib; extra == \"cudo\"","pyjwt; extra == \"cudo\"","aiohttp; extra == \"cudo\"","anyio; extra == \"cudo\"","grpcio>=1.63.0; extra == \"cudo\"","protobuf<7.0.0,>=5.26.1; extra == \"cudo\"","aiosqlite; extra == \"cudo\"","casbin; extra == \"paperspace\"","sqlalchemy_adapter; extra == \"paperspace\"","passlib; extra == \"paperspace\"","pyjwt; extra == \"paperspace\"","aiohttp; extra == \"paperspace\"","anyio; extra == \"paperspace\"","grpcio>=1.63.0; extra == \"paperspace\"","protobuf<7.0.0,>=5.26.1; extra == \"paperspace\"","aiosqlite; extra == \"paperspace\"","casbin; extra == \"primeintellect\"","sqlalchemy_adapter; extra == \"primeintellect\"","passlib; extra == \"primeintellect\"","pyjwt; extra == \"primeintellect\"","aiohttp; extra == \"primeintellect\"","grpcio>=1.63.0; extra == \"primeintellect\"","protobuf<7.0.0,>=5.26.1; extra == \"primeintellect\"","aiosqlite; extra == \"primeintellect\"","pydo>=0.3.0; extra == \"do\"","azure-core>=1.24.0; extra == \"do\"","azure-common; extra == \"do\"","casbin; extra == \"do\"","sqlalchemy_adapter; extra == \"do\"","passlib; extra == \"do\"","pyjwt; extra == \"do\"","aiohttp; extra == \"do\"","anyio; extra == \"do\"","grpcio>=1.63.0; extra == \"do\"","protobuf<7.0.0,>=5.26.1; extra == \"do\"","aiosqlite; extra == \"do\"","vastai-sdk>=0.1.12; extra == \"vast\"","casbin; extra == \"vast\"","sqlalchemy_adapter; extra == \"vast\"","passlib; extra == \"vast\"","pyjwt; extra == \"vast\"","aiohttp; extra == \"vast\"","anyio; extra == \"vast\"","grpcio>=1.63.0; extra == \"vast\"","protobuf<7.0.0,>=5.26.1; extra == \"vast\"","aiosqlite; extra == \"vast\"","pyvmomi==8.0.1.0.2; extra == \"vsphere\"","casbin; extra == \"vsphere\"","sqlalchemy_adapter; extra == \"vsphere\"","passlib; extra == \"vsphere\"","pyjwt; extra == \"vsphere\"","aiohttp; extra == \"vsphere\"","anyio; extra == \"vsphere\"","grpcio>=1.63.0; extra == \"vsphere\"","protobuf<7.0.0,>=5.26.1; extra == \"vsphere\"","aiosqlite; extra == \"vsphere\"","awscli>=1.27.10; extra == \"vastdata\"","botocore>=1.29.10; extra == \"vastdata\"","boto3>=1.26.1; extra == \"vastdata\"","colorama<0.4.7; extra == \"vastdata\"","casbin; extra == \"vastdata\"","sqlalchemy_adapter; extra == \"vastdata\"","passlib; extra == \"vastdata\"","pyjwt; extra == \"vastdata\"","aiohttp; extra == \"vastdata\"","anyio; extra == \"vastdata\"","grpcio>=1.63.0; extra == \"vastdata\"","protobuf<7.0.0,>=5.26.1; extra == \"vastdata\"","aiosqlite; extra == \"vastdata\"","nebius>=0.3.12; extra == \"nebius\"","grpcio>=1.63.0; extra == \"nebius\"","protobuf<7.0.0,>=5.26.1; extra == \"nebius\"","awscli>=1.27.10; extra == \"nebius\"","botocore>=1.29.10; extra == \"nebius\"","boto3>=1.26.1; extra == \"nebius\"","colorama<0.4.7; extra == \"nebius\"","casbin; extra == \"nebius\"","sqlalchemy_adapter; extra == \"nebius\"","passlib; extra == \"nebius\"","pyjwt; extra == \"nebius\"","aiohttp; extra == \"nebius\"","anyio; extra == \"nebius\"","grpcio>=1.63.0; extra == \"nebius\"","protobuf<7.0.0,>=5.26.1; extra == \"nebius\"","aiosqlite; extra == \"nebius\"","casbin; extra == \"hyperbolic\"","sqlalchemy_adapter; extra == \"hyperbolic\"","passlib; extra == \"hyperbolic\"","pyjwt; extra == \"hyperbolic\"","aiohttp; extra == \"hyperbolic\"","anyio; extra == \"hyperbolic\"","grpcio>=1.63.0; extra == \"hyperbolic\"","protobuf<7.0.0,>=5.26.1; extra == \"hyperbolic\"","aiosqlite; extra == \"hyperbolic\"","ecsapi==0.4.0; extra == \"seeweb\"","casbin; extra == \"seeweb\"","sqlalchemy_adapter; extra == \"seeweb\"","passlib; extra == \"seeweb\"","pyjwt; extra == \"seeweb\"","aiohttp; extra == \"seeweb\"","anyio; extra == \"seeweb\"","grpcio>=1.63.0; extra == \"seeweb\"","protobuf<7.0.0,>=5.26.1; extra == \"seeweb\"","aiosqlite; extra == \"seeweb\"","casbin; extra == \"mithril\"","sqlalchemy_adapter; extra == \"mithril\"","passlib; extra == \"mithril\"","pyjwt; extra == \"mithril\"","aiohttp; extra == \"mithril\"","anyio; extra == \"mithril\"","grpcio>=1.63.0; extra == \"mithril\"","protobuf<7.0.0,>=5.26.1; extra == \"mithril\"","aiosqlite; extra == \"mithril\"","casbin; extra == \"shadeform\"","sqlalchemy_adapter; extra == \"shadeform\"","passlib; extra == \"shadeform\"","pyjwt; extra == \"shadeform\"","aiohttp; extra == \"shadeform\"","anyio; extra == \"shadeform\"","grpcio>=1.63.0; extra == \"shadeform\"","protobuf<7.0.0,>=5.26.1; extra == \"shadeform\"","aiosqlite; extra == \"shadeform\"","python-hostlist; extra == \"slurm\"","casbin; extra == \"slurm\"","sqlalchemy_adapter; extra == \"slurm\"","passlib; extra == \"slurm\"","pyjwt; extra == \"slurm\"","aiohttp; extra == \"slurm\"","anyio; extra == \"slurm\"","grpcio>=1.63.0; extra == \"slurm\"","protobuf<7.0.0,>=5.26.1; extra == \"slurm\"","aiosqlite; extra == \"slurm\"","casbin; extra == \"yotta\"","sqlalchemy_adapter; extra == \"yotta\"","passlib; extra == \"yotta\"","pyjwt; extra == \"yotta\"","aiohttp; extra == \"yotta\"","anyio; extra == \"yotta\"","grpcio>=1.63.0; extra == \"yotta\"","protobuf<7.0.0,>=5.26.1; extra == \"yotta\"","aiosqlite; extra == \"yotta\"","casbin; extra == \"verda\"","sqlalchemy_adapter; extra == \"verda\"","passlib; extra == \"verda\"","pyjwt; extra == \"verda\"","aiohttp; extra == \"verda\"","anyio; extra == \"verda\"","grpcio>=1.63.0; extra == \"verda\"","protobuf<7.0.0,>=5.26.1; extra == \"verda\"","aiosqlite; extra == \"verda\"","ibm-platform-services>=0.48.0; extra == \"all\"","awscli>=1.27.10; extra == \"all\"","azure-core>=1.31.0; extra == \"all\"","vastai-sdk>=0.1.12; extra == \"all\"","passlib; extra == \"all\"","runpod>=1.6.1; extra == \"all\"","casbin; extra == \"all\"","azure-common; extra == \"all\"","boto3>=1.26.1; extra == \"all\"","azure-identity>=1.19.0; extra == \"all\"","ibm-vpc; extra == \"all\"","aiosqlite; extra == \"all\"","msgraph-sdk; extra == \"all\"","azure-cli>=2.65.0; extra == \"all\"","msrestazure; extra == \"all\"","grpcio>=1.63.0; extra == \"all\"","azure-storage-blob>=12.23.1; extra == \"all\"","azure-mgmt-compute>=33.0.0; extra == \"all\"","google-api-python-client>=2.69.0; extra == \"all\"","ecsapi==0.4.0; extra == \"all\"","python-dateutil; extra == \"all\"","sqlalchemy_adapter; extra == \"all\"","anyio; extra == \"all\"","tomli; extra == \"all\"","pyopenssl<24.3.0,>=23.2.0; extra == \"all\"","kubernetes!=32.0.0,>=20.0.0; extra == \"all\"","google-cloud-storage; extra == \"all\"","websockets; extra == \"all\"","aiohttp; extra == \"all\"","colorama<0.4.7; extra == \"all\"","cudo-compute>=0.1.10; extra == \"all\"","azure-mgmt-network>=27.0.0; extra == \"all\"","oci; extra == \"all\"","ibm-cloud-sdk-core; extra == \"all\"","ibm-cos-sdk; extra == \"all\"","protobuf<7.0.0,>=5.26.1; extra == \"all\"","botocore>=1.29.10; extra == \"all\"","pyjwt; extra == \"all\"","python-hostlist; extra == \"all\"","ray[default]>=2.6.1; extra == \"all\"","pyvmomi==8.0.1.0.2; extra == \"all\"","pycares<5; extra == \"all\"","azure-core>=1.24.0; extra == \"all\"","docker; extra == \"all\"","nebius>=0.3.12; extra == \"all\"","pydo>=0.3.0; extra == \"all\"","grpcio>=1.63.0; extra == \"remote\"","protobuf<7.0.0,>=5.26.1; extra == \"remote\"","casbin; extra == \"server\"","sqlalchemy_adapter; extra == \"server\"","passlib; extra == \"server\"","pyjwt; extra == \"server\"","aiohttp; extra == \"server\"","anyio; extra == \"server\"","grpcio>=1.63.0; extra == \"server\"","protobuf<7.0.0,>=5.26.1; extra == \"server\"","aiosqlite; extra == \"server\""]},"github_stats":null,"bundle":null,"typescript":null,"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"0.12.1","version_hint":null,"summary":"skypilot@0.12.1 is safe to use (health: 67/100)"},"version_scoped":null,"requested_version":null,"_cache":"miss","_response_ms":759,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"version_history_summary":{"total_versions":20,"first_release_age_days":1360,"last_release_days_ago":6,"avg_days_between_releases":72,"release_velocity":"active"}}