Package: michaelvll-skypilot
SkySky is a framework to run any workload seamlessly across different cloud providers through a unified interface. No knowledge of cloud offerings is required or expected – you simply define the workload and its resource requirements, and Sky will automatically execute it on AWS, Google Cloud Platform or Microsoft Azure.Getting StartedPlease refer to ourdocumentation.InstallationQuickstartSky CLIDeveloper GuideSetupUse editable mode (-e) when installing:# Sky requires python >= 3.6 and < 3.10.# You can just install the dependencies for# certain clouds, e.g., ".[aws,azure,gcp]"pipinstall-e".[all]"pipinstall-rrequirements-dev.txtSubmitting pull requestsAfter you commit, format your code withformat.sh.In the PR description, write aTested:section to describe relevant tests performed.For changes that touch the core system, run thesmoke testsand ensure they pass.Follow theGoogle style guide.Environment Variable Optionsexport SKY_DEV=1to show debugging logs (logging.DEBUG).export SKY_DISABLE_USAGE_COLLECTION=1to disable usage logging.export SKY_MINIMIZE_LOGGING=1to minimize the sky outputs for demo purpose.Dump timelineTimeline is useful for performance analysis and debugging in Sky.Here are the APIs:fromutilsimporttimeline# record a function in the timeline with the function path name@timeline.Event.decoratordeff():...# record a function in the timeline using name='my_name'@timeline.Event.decorator(name='event_name')deff():...# record an event over a code block in the timeline:withtimeline.Event(name='event_name'):...# use a file lock with event:withtimeline.FileLockEvent(lockpath):passTo dump the timeline, set environment variableSKY_TIMELINE_FILE_PATHto a file path.View the dumped timeline file usingChrome(chrome://tracing) orPerfetto.Updating the sky docker imageAuthenticate with sky ECR repository. Contactromil.bhardwaj@berkeley.edufor access:aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/a9w6z7w5Build and tag the docker image:docker build -t public.ecr.aws/a9w6z7w5/sky:latest .Push the image to ECR:docker push public.ecr.aws/a9w6z7w5/sky:latestSome general engineering practice suggestionsThese are suggestions, not strict rules to follow. When in doubt, follow thestyle guide.UseTODO(author_name)/FIXME(author_name)instead of blankTODO/FIXME. This is critical for tracking down issues. You can write TODOs with your name and assign it to others (on github) if it is someone else's issue.Delete your branch after merging it. This keeps the repo clean and faster to sync.Use an exception if this is an error. Only useassertfor debugging or proof-checking purpose. This is because exception messages usually contain more information.Use modern python features and styles that increases code quality.Use f-string instead of.format()for short expressions to increase readability.Useclass MyClass:instead ofclass MyClass(object):. The later one was a workaround for python2.x.Useabcmodule for abstract classes to ensure all abstract methods are implemented.Use python typing. But you should not import external objects just for typing. Instead, import typing-only external objects underif typing.TYPE_CHECKING:.TestingTo run smoke tests:bash tests/run_smoke_tests.sh

# Run one of the smoke tests
bash tests/run_smoke_tests.sh test_minimalFor profiling code, use:pip install tuna # Tuna for viz
python3 -m cProfile -o sky.prof -m sky.cli status # Or some other command
tuna sky.prof