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

Update packaging for current standard practice using pyproject.toml #548

Open
dcslagel opened this issue Feb 2, 2023 · 2 comments
Open
Assignees

Comments

@dcslagel
Copy link
Collaborator

dcslagel commented Feb 2, 2023

Describe the request
The trend in Python packaging is to move away from setup.py toward pyproject.toml.
So Lasio's packaging should keep reasonably up-to-date on packaging practices and start to migrate toward pyproject.tom.

Expected behavior
Continue to package Laiso into an equivalent package as the one currently made with setup.py.

Software versions (please complete the following information):

  • Python version: [3.10]
  • Python distribution: Homebrew
  • lasio version (0.30)

Additional context
Current build cmd:
python setup.py bdist_wheel --universal
displays this warning:
.../python3.10/site-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer....

@dcslagel dcslagel self-assigned this Feb 3, 2023
@dcslagel
Copy link
Collaborator Author

dcslagel commented Feb 3, 2023

02-07-2023 Updates:
I experimented with moving as much as possible from setup.py to pyproject.toml on branch:
https://github.com/dcslagel/lasio/tree/explore_newer_packaging_techniques_02

Findings:

  • I had to remove the test for Python 3.6 because it doesn't integrate with the newer versions of setuptools that support pyproject.toml. Given that and that Python 3.5 and 3.6 are considered end-of-life, I created issue End Lasio support for Python 3.5 and 3.6 ? #549 to discuss removing Lasio support for them.
  • Because of the current dynamic way that Lasio identifies the version, the setuptools_scm configuration had to stay in setup.py for now in-order to successfully build and test in the GitHub workflow.
setup(
     use_scm_version=True,
     setup_requires=["setuptools_scm"]
)

There is probably a way to get it moved on over to pyproject.toml, so that can be a future iteration..

@kinverarity1
Copy link
Owner

Thanks for bringing this up. I'm happy to move to whatever the recommended solution is - packaging has always been changing and hard to get right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants