mdolab / mdolab/pyoptsparse

Make wheels available on PyPI

Open
#191 13 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

installation
Dominant language
Python
Stars
270
Forks
123
Avg merge
1d 18h
Merged PRs (30d)
3

Description

It seems that this package is a prerequisite for testing dymos (https://github.com/OpenMDAO/dymos/issues/471). Thus, it would be great if pyoptsparse was available on PyPI as well.

The installations instructions for pyoptsparse (pip install .) did not work out of the box for me, apparently due to compilation problems of the Fortran code:

error.log

For packages with compiled code, I would strongly recommend uploading precompiled wheels to PyPI to make installation easy on systems that don't have the necessary compilers installed (Windows especially). I've had good experiences with using https://github.com/joerick/cibuildwheel running on Github actions to generate the wheels.

Releasing a conda-package on conda-forge may also be something to look into (but personally, I think wheels have a higher priority)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the installation instructions, running pip install ., and examining the linked error.log to understand the Fortran compilation failure. Then assess the package’s packaging and CI configuration against the proposed cibuildwheel approach. Done means installable precompiled wheels are published on PyPI, with the supported platforms and build process documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran, github-actions, python
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.