Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement cross-platform executable compilation and distribution (WIP) #334

Draft
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

SethBurkart123
Copy link

@SethBurkart123 SethBurkart123 commented Oct 12, 2024

This work-in-progress pull request aims to transform exo into an easily installable executable for multiple platforms, streamlining the distribution process.

Objectives:

  • Create a comprehensive PyInstaller spec file to bundle all required dependencies
  • Implement CI/CD workflows for automated executable builds
  • Ensure mac builds work
  • Ensure linux builds work
  • Ensure windows builds work
  • Conduct comprehensive cross-platform testing to ensure complete functionality
  • Package the executable in an installation-ready format
  • Develop scripts for submission to package managers (e.g., Homebrew)

Key improvements:

  1. Simplified installation process for end-users
  2. Broader platform compatibility
  3. Automated build and distribution pipeline

Resolves #302

@SethBurkart123
Copy link
Author

SethBurkart123 commented Oct 12, 2024

Update: Implementing the CI/CD workflows using github actions as the workflow from PR #332 builds for Linux only, and I am not able to develop macos and windows runners for circleci with the free plan.

@AlexCheema
Copy link
Contributor

Update: Implementing the CI/CD workflows using github actions as the workflow from PR #332 builds for Linux only, and I am not able to develop macos and windows runners for circleci with the free plan.

I approved the circleci run.

Any other blockers or anything you need from me? This looks great so far.

@SethBurkart123
Copy link
Author

SethBurkart123 commented Oct 16, 2024

Update:
During testing, I've found that Linux support needs some additional work. While exo runs smoothly on MacOS, I'm encountering challenges running it on Linux environments (tested on AWS Ubuntu instances with both CPU and GPU setups). The CUDA-specific issues (similar to #155) are one part of this, but there seem to be broader Linux compatibility considerations to address.

I'm happy to work on getting the Linux scripts and builds working - would appreciate any insights from others who have successfully run exo on Linux environments! Once we have a clear path for Linux support, I can proceed with the packaging and distribution work.

I'll have a look at running the pytorch inference engine from #139 to see whether that will fix most issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BOUNTY - $1500] Package exo as installable(s)
2 participants