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

Packaging update #519

Merged
merged 3 commits into from
Jan 26, 2023
Merged

Packaging update #519

merged 3 commits into from
Jan 26, 2023

Conversation

crowellel
Copy link
Contributor

Hi all. These changes are in response to issue #518 and bring the package to minimal compliance with packaging standards so we don't get deprecation warnings from pip due to outdated packaging format. Highlights:

  • Changed packaging and uploading commands in REAME to allow for building and uploading a source distribution as well as a wheel.
  • Added language to setup.py to create universal wheel (necessary for continuing py2.7 compatibility - even if py2.7 is EOL).
  • Add minimal pyproject.toml file to meet standards.

This is my first PR, so if I missed something please let me know!

@@ -129,8 +129,8 @@ Release
- bump the version in `pynvim/util.py` and `setup.py` (3 places in total)
2. Make a release on GitHub with the same commit/version tag and copy the message.
3. Run `scripts/disable_log_statements.sh`
4. Run `python setup.py sdist`
4. Run `python -m build`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be only for a particular PEP517 choice python-build. Shouldn't we have pip install build somewhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hadn't thought of adding that, but will if you believe it's necessary. I don't think it's really necessary for two reasons:

  1. This is only for building the package for distribution - not for general end-user installation or re-installation. The build package is not actually required for installing our package.
  2. We're using the twine library a few lines below and don't mention pip install twine for that either.

I chose this method because it brings us into compliance with pep 517 with minimal effort and almost no change to the package as a whole.

At some point, someone will probably want to do some more work to move a lot of the code from the setup.py file to the pyproject.toml file, but this at least makes us compliant and will stop pip from complaining every time someone installs the package (as it is doing now).

@justinmk justinmk merged commit 496e8eb into neovim:master Jan 26, 2023
@justinmk
Copy link
Member

Thank you for the help here! We definitely need more owners for pynvim, it's suffering from a lack of attention.

@crowellel crowellel deleted the packaging-update branch January 26, 2023 17:18
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.

None yet

4 participants