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

proposal: invest python package should officially support linux #1730

Open
emlys opened this issue Jan 9, 2025 · 0 comments
Open

proposal: invest python package should officially support linux #1730

emlys opened this issue Jan 9, 2025 · 0 comments
Labels
enhancement New feature or request proposal Internal software team proposal

Comments

@emlys
Copy link
Member

emlys commented Jan 9, 2025

As we're beginning Project Arches and thinking about offering invest as a service, I propose that we officially support a Linux OS (probably specifically Ubuntu, since that's what Github Actions offers, with the expectation that many linux distros will be compatible). This is only for the invest python package. I do not include the workbench in this proposal - it would be more work to support, and haven't seen any demand for it.

We already vaguely support linux, in that the container build runs on ubuntu, and we expect invest to work on Sherlock. Not much work should be needed to make it official.

Justification

As we move towards running invest in the cloud, on HPC, in Docker containers, etc, Linux is the standard for these environments. Linux VMs (often Ubuntu or Debian) are the default, cheapest, and most readily available from cloud providers. HPC systems usually run Linux. Dockerfiles commonly use a debian or ubuntu base image. Officially supporting Linux before we face higher demand for invest in these contexts will set us up for success, and allow time to address any OS-specific bugs or build issues. Additionally,

  • Proactively address any OS-specific issues that might otherwise only surface at an inconvenient time (such as in a ReadTheDocs build, which runs on ubuntu, or while running a job on Sherlock)
  • Some useful tools (eg. valgrind) are not available on mac or windows.
  • If we do more work in C++, OS-specific / compiler-specific issues are more likely
  • It's in the spirit of open source software!

Downsides

  • Initial work to implement (estimated 1-2 days)
  • Additional maintenance effort to resolve any OS-specific issues that arise
  • Small additional user support effort; possibly receiving questions about issues on less common distros
  • Software team members may need to set up Linux VMs for local development

Action items

Specific tasks to achieve this would be:

  • Update Github Actions workflows to build and test on ubuntu in addition to windows and macos
  • Update release process to provide wheels for linux (probably manylinux)
  • Update conda-forge process to provide distribution for linux (probably linux-64 to begin with)
  • Resolve any test failures, build issues, etc that may arise in doing the above

Barring any major unforseen obstacles, this should only take 1-2 days work.

@emlys emlys added enhancement New feature or request proposal Internal software team proposal labels Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request proposal Internal software team proposal
Projects
None yet
Development

No branches or pull requests

1 participant