skypilot: 0.8.1 -> 0.12.0 (#511582)
This commit is contained in:
@@ -1,48 +1,240 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
buildNpmPackage,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
let
|
||||
pname = "skypilot";
|
||||
version = "0.8.1";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skypilot-org";
|
||||
repo = "skypilot";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-jLjYsBkb5Tba3q/mdqCWK04FLg0pEdHyZH3vuMIP6tg=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zxkduComvFuSbWnWSw1PYalGdVhiwCIjElXEg7VPw88=";
|
||||
};
|
||||
|
||||
dashboard = buildNpmPackage {
|
||||
inherit pname version src;
|
||||
|
||||
sourceRoot = "${src.name}/sky/dashboard";
|
||||
npmDepsHash = "sha256-8uZzkDJkaDPFXXsGy29jkaw6g8bPe3drbboYHHa6YuU=";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r out/* $out/
|
||||
'';
|
||||
};
|
||||
in
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
inherit pname version src;
|
||||
|
||||
pyproject = true;
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
nativeBuildInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
# when updating, please ensure package version constraints stipulaed
|
||||
# in setup.py are met
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
cachetools
|
||||
click
|
||||
colorama
|
||||
cryptography
|
||||
filelock
|
||||
jinja2
|
||||
jsonschema
|
||||
networkx
|
||||
packaging
|
||||
pandas
|
||||
pendulum
|
||||
prettytable
|
||||
psutil
|
||||
python-dotenv
|
||||
pyyaml
|
||||
pulp
|
||||
requests
|
||||
rich
|
||||
tabulate
|
||||
typing-extensions
|
||||
wheel
|
||||
env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace sky/setup_files/dependencies.py --replace-fail 'casbin' 'pycasbin'
|
||||
substituteInPlace pyproject.toml --replace-fail 'buildkite-test-collector' ""
|
||||
'';
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
# https://github.com/skypilot-org/skypilot/blob/master/sky/setup_files/dependencies.py
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
[
|
||||
aiohttp
|
||||
aiofiles
|
||||
aiosqlite
|
||||
alembic
|
||||
asyncpg
|
||||
bcrypt
|
||||
cachetools
|
||||
click
|
||||
colorama
|
||||
cryptography
|
||||
filelock
|
||||
fastapi
|
||||
gitpython
|
||||
httpx
|
||||
ijson
|
||||
jinja2
|
||||
jsonschema
|
||||
networkx
|
||||
packaging
|
||||
pandas
|
||||
paramiko
|
||||
passlib
|
||||
pendulum
|
||||
pip
|
||||
prettytable
|
||||
prometheus-client
|
||||
psutil
|
||||
psycopg2-binary
|
||||
pycasbin
|
||||
pydantic
|
||||
pyjwt
|
||||
python-dotenv
|
||||
pyyaml
|
||||
python-multipart
|
||||
pulp
|
||||
requests
|
||||
rich
|
||||
setproctitle
|
||||
sqlalchemy
|
||||
sqlalchemy-adapter
|
||||
tabulate
|
||||
types-paramiko
|
||||
typing-extensions
|
||||
uvicorn
|
||||
wheel
|
||||
]
|
||||
++ aiohttp.optional-dependencies.speedups
|
||||
++ fastapi.optional-dependencies.all
|
||||
++ uvicorn.optional-dependencies.standard;
|
||||
|
||||
optional-dependencies =
|
||||
with python3Packages;
|
||||
lib.fix (self: {
|
||||
|
||||
all = with self; [
|
||||
aws
|
||||
azure
|
||||
cloudfare
|
||||
docker
|
||||
fluidstack
|
||||
gcp
|
||||
ibm
|
||||
kubernates
|
||||
lambda
|
||||
paperspace
|
||||
ray
|
||||
remote
|
||||
server
|
||||
scp
|
||||
ssh
|
||||
vsphere
|
||||
];
|
||||
|
||||
aws = [
|
||||
awscli
|
||||
boto3
|
||||
botocore
|
||||
colorama
|
||||
];
|
||||
|
||||
azure = [
|
||||
azure-cli
|
||||
azure-core
|
||||
azure-identity
|
||||
azure-mgmt-compute
|
||||
azure-mgmt-network
|
||||
azure-storage-blob
|
||||
msgraph-sdk
|
||||
]
|
||||
++ self.ray;
|
||||
|
||||
cloudfare = self.aws;
|
||||
|
||||
# cudo = [cudo-compute];
|
||||
#
|
||||
# do = [pydo azure-core azure-common];
|
||||
|
||||
docker = [ docker ];
|
||||
|
||||
fluidstack = [ ];
|
||||
|
||||
gcp = [
|
||||
google-api-python-client
|
||||
google-cloud-storage
|
||||
pyopenssl
|
||||
];
|
||||
|
||||
ibm = [
|
||||
ibm-cloud-sdk-core
|
||||
# ibm-cos-sdk
|
||||
# ibm-platform-services
|
||||
# ibm-vpc
|
||||
]
|
||||
++ self.ray;
|
||||
|
||||
kubernetes = [
|
||||
kubernetes
|
||||
websockets
|
||||
];
|
||||
|
||||
lambda = [ ];
|
||||
|
||||
# nebius = [
|
||||
# nebius
|
||||
# ]
|
||||
# ++ self.aws;
|
||||
|
||||
paperspace = [ ];
|
||||
|
||||
ray = [ ray ] ++ ray.optional-dependencies.default;
|
||||
|
||||
remote = [
|
||||
grpcio
|
||||
protobuf
|
||||
];
|
||||
|
||||
# runpod = [ runpod ];
|
||||
|
||||
server = [
|
||||
pycasbin
|
||||
passlib
|
||||
pyjwt
|
||||
sqlalchemy-adapter
|
||||
];
|
||||
|
||||
scp = self.ray;
|
||||
|
||||
ssh = self.kubernetes;
|
||||
|
||||
# vast = [vastai-sdk];
|
||||
|
||||
vsphere = [
|
||||
pyvmomi
|
||||
# vsphere-automation-sdk
|
||||
];
|
||||
});
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/${python3Packages.python.sitePackages}/sky/dashboard/out
|
||||
cp -r ${dashboard}/* $out/${python3Packages.python.sitePackages}/sky/dashboard/out/
|
||||
'';
|
||||
|
||||
# Excluding the tests as it fails with error:
|
||||
# Message: 'Config loaded from /build/source/examples/admin_policy/restful_policy.yaml:\nadmin_policy: http://localhost:8080\n'
|
||||
#Arguments: ()
|
||||
#--- Logging error ---
|
||||
#Traceback (most recent call last):
|
||||
# File "/nix/store/pzdalg368npikvpq4ncz2saxnz19v53k-python3-3.13.12/lib/python3.13/logging/__init__.py", line 1154, in emit
|
||||
# stream.write(msg + self.terminator)
|
||||
# ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#ValueError: I/O operation on closed file.
|
||||
# nativeCheckInputs = with python3Packages; [
|
||||
# pytestCheckHook
|
||||
# boto3
|
||||
# pytest-env
|
||||
# pytest-xdist
|
||||
# ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"sky"
|
||||
];
|
||||
|
||||
meta = {
|
||||
@@ -53,8 +245,12 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
managed execution.
|
||||
'';
|
||||
homepage = "https://github.com/skypilot-org/skypilot";
|
||||
changelog = "https://github.com/skypilot-org/skypilot/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ seanrmurphy ];
|
||||
maintainers = with lib.maintainers; [
|
||||
seanrmurphy
|
||||
daspk04
|
||||
];
|
||||
mainProgram = "sky";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
|
||||
pycasbin,
|
||||
sqlalchemy,
|
||||
setuptools,
|
||||
|
||||
pytestCheckHook,
|
||||
}:
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "sqlalchemy-adapter";
|
||||
version = "1.9.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "officialpycasbin";
|
||||
repo = "sqlalchemy-adapter";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FjxRSJ+3IIdtKkpZvkL/KzH7gn4IJjCTchABglfcyQ4=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
pycasbin
|
||||
sqlalchemy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"sqlalchemy_adapter"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "SQLAlchemy Adapter for PyCasbin";
|
||||
homepage = "https://github.com/officialpycasbin/sqlalchemy-adapter";
|
||||
changelog = "https://github.com/apache/casbin-python-sqlalchemy-adapter/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ daspk04 ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
cryptography,
|
||||
}:
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "types-paramiko";
|
||||
version = "4.0.0.20250822";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "types_paramiko";
|
||||
inherit (finalAttrs) version;
|
||||
hash = "sha256-G1awy9Puw9L9EjyesnBOYSt3fhWhdwWoBCeeplJeDFM=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
cryptography
|
||||
];
|
||||
|
||||
# Modules doesn't have tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "paramiko-stubs" ];
|
||||
|
||||
meta = {
|
||||
description = "Typing stubs for paramiko";
|
||||
homepage = "https://github.com/python/typeshed";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ daspk04 ];
|
||||
};
|
||||
})
|
||||
@@ -18428,6 +18428,8 @@ self: super: with self; {
|
||||
|
||||
sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
|
||||
|
||||
sqlalchemy-adapter = callPackage ../development/python-modules/sqlalchemy-adapter { };
|
||||
|
||||
sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
|
||||
|
||||
sqlalchemy-cockroachdb = callPackage ../development/python-modules/sqlalchemy-cockroachdb { };
|
||||
@@ -20391,6 +20393,8 @@ self: super: with self; {
|
||||
|
||||
types-openpyxl = callPackage ../development/python-modules/types-openpyxl { };
|
||||
|
||||
types-paramiko = callPackage ../development/python-modules/types-paramiko { };
|
||||
|
||||
types-pillow = callPackage ../development/python-modules/types-pillow { };
|
||||
|
||||
types-protobuf = callPackage ../development/python-modules/types-protobuf { };
|
||||
|
||||
Reference in New Issue
Block a user