myhoard icon indicating copy to clipboard operation
myhoard copied to clipboard

Publish to PyPI with GitHub Action

Open alexey-tereshenkov-aiven opened this issue 2 years ago • 7 comments
trafficstars

The project is not currently published to PyPI which makes it impossible to use in a standard virtual environment setup. This PR adds a GitHub Action that publishes sdist and wheel to PyPI based on pushed annotated tag. The code is copied from the aiven-client action.

The secret secrets.PYPI_API_TOKEN needs to be set up. Could someone please help me with that? Thank you!

Codecov Report

Base: 76.22% // Head: 76.35% // Increases project coverage by +0.12% :tada:

Coverage data is based on head (d42a2f0) compared to base (87fed45). Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #103      +/-   ##
==========================================
+ Coverage   76.22%   76.35%   +0.12%     
==========================================
  Files          16       16              
  Lines        3941     3941              
  Branches      941      941              
==========================================
+ Hits         3004     3009       +5     
+ Misses        714      712       -2     
+ Partials      223      220       -3     
Impacted Files Coverage Δ
myhoard/basebackup_operation.py 87.71% <0.00%> (-1.28%) :arrow_down:
myhoard/basebackup_restore_operation.py 84.61% <0.00%> (+3.84%) :arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov-commenter avatar Nov 25 '22 05:11 codecov-commenter

makes it impossible to use in a standard virtual environment setup.

What is your use case? What is your setup? If you pip install --editable . it's certainly usable in venv.

I don't think we currently publish non-libraries to pypi (e.g. we publish rohmu) but I don't see a real reason why we shouldn't.

ccing @aiven/aiven-open-source-reviews for opinions and @aiven/team-security for secrets configuration info.

alanfranz avatar Nov 28 '22 20:11 alanfranz

makes it impossible to use in a standard virtual environment setup.

What is your use case? What is your setup? If you pip install --editable . it's certainly usable in venv.

Thanks for looking at this! I don't have a concrete use case yet, but being able to bootstrap an environment from requirements.txt may be helpful (for me and others) instead of cloning the GitHub repository. That's pretty much the reason why Python projects are built into wheels and published on PyPI.

This is not critical to get merged, only if that's appropriate given the current circumstances. Many thanks!

Thanks for looking at this! I don't have a concrete use case yet, but being able to bootstrap an environment from requirements.txt may be helpful (for me and others) instead of cloning the GitHub repository. That's pretty much the reason why Python projects are built into wheels and published on PyPI.

You can use github source in requirements.txt as well; but, myhoard is not a library. You should use it as an application; so, installing it from requirements in another virtualenv sound strange to me.

Technically, I don't think it's a real problem, it's more a matter of policy than anything else.

alanfranz avatar Nov 29 '22 07:11 alanfranz

Thanks for looking at this! I don't have a concrete use case yet, but being able to bootstrap an environment from requirements.txt may be helpful (for me and others) instead of cloning the GitHub repository. That's pretty much the reason why Python projects are built into wheels and published on PyPI.

You can use github source in requirements.txt as well; but, myhoard is not a library. You should use it as an application; so, installing it from requirements in another virtualenv sound strange to me.

You may want to install your applications into a virtual environment as well e.g. with pipx. Totally agree everything is possible and installing from sources is a valid path, and having a wheel is not critical as I wrote before. It brings convenience and benefits for certain people and use cases and in general tidier than sources (you can query PyPI packages to see what is the Python version compatibility, have releases yanked, platform compatibility etc).

But please merge only if you deem this appropriate!

Technically, I don't think it's a real problem, it's more a matter of policy than anything else.

Anything left blocking this?

jelmer avatar Jan 09 '23 11:01 jelmer

Anything left blocking this?

  1. We don't know whether we need or want this. This is not a library.
  2. API token should be generated, then configured in github secrets.

alanfranz avatar Jan 09 '23 13:01 alanfranz