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

Add installation from PyPI #4

Open
cortadocodes opened this issue Dec 6, 2023 · 8 comments
Open

Add installation from PyPI #4

cortadocodes opened this issue Dec 6, 2023 · 8 comments

Comments

@cortadocodes
Copy link

I'm using openfast_toolbox as part of a dockerised productionised app but running into issues with the current installation method. The usual way I'd install a package would be

pip install <package-name>

or

poetry add <package-name>

Having to install by cloning and then editably installing makes it difficult to properly manage the dependencies for openfast_toolbox alongside the other packages in my app and means I have to create a specific Dockerfile just to run this installation method instead of using one of the generic ones we create for our apps. Editably installing is also not best practice for a productionised app but I'm unsure whether it's ok to install it non-editably.

Is there a reason why openfast_toolbox isn't available on the PyPI package registry? If not, would you be able to publish it on PyPI so we can more easily install and use it?

@cortadocodes
Copy link
Author

I've had a quick look at setup.py, Makefile, and your development CI workflow and I think it would be quite easy to do this - I'm happy to contribute a small PR that adds PyPI publishing if there isn't a reason I've missed that would make it particularly challenging!

@cortadocodes
Copy link
Author

cortadocodes commented Mar 12, 2024

@ebranlard any thoughts? I'm about to start developing some more open-source openfast-based tools so it would be really useful to get some versions of this package both tagged on GitHub and published to PyPI

@rafmudaf
Copy link
Contributor

@andrew-platt @deslaughter you might have an opinion, as well

@andrew-platt
Copy link
Collaborator

@ptrbortolotti might have more of an opinion on this than I do.

I'm definitely open to making this easier to install through PyPI or docker. However, I'm not really a regular user of this package, so I don't have a strong opinion.

@andrew-platt
Copy link
Collaborator

@rthedin may also have an opinion here.

@rafmudaf
Copy link
Contributor

@cortadocodes This repository has largely been a side project for a few NREL researchers, and no one is directly responsible for maintaining and supporting it. My primary concern with publishing it more broadly is:

  • Who fixes the build system when inevitably something changes
  • Who creates new releases in the openfast-toolbox repo to trigger the upload to PyPI
  • etc

A possible solution is to state it clearly in the repository that this project is community maintained, and encourage users to fix anything that they see missing including the above points. Being the person to bring it up, this may fall on you 😉 If that sounds good to you, I'm happy to work with you to review a pull request to add the upload to PyPI to this repo's CI and manage the project on PyPI.

@cortadocodes
Copy link
Author

cortadocodes commented Mar 14, 2024

Community maintenance sounds good to me! I think it will be beneficial to the project and its users and increase the speed we can get features that we need 🙂 We're happy at Octue to be one of the contributors.

Who fixes the build system when inevitably something changes

I think fixes and changes could be done on an as-needed and when-developers-are-available basis

Who creates new releases in the openfast-toolbox repo to trigger the upload to PyPI

I'm happy to set up some CI workflows that automate the releases including publishing to PyPI. We'd just need to adopt a gitflow where all updates to main go through a pull request on a separate branch (if that's not the case already).

@cortadocodes
Copy link
Author

I think this issue can be combined with OpenFAST/openfast#1851 - let's carry on the conversation there?

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

No branches or pull requests

3 participants