Synchronize setup.cfg
and pyproject.toml
, bump project versions in both, and add 2-line setup.py
#1323
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This pull request does three things:
setup.cfg
andpyproject.toml
settings so that installing from source viabuild
doesn't yield an installation with a stale version like5.0.0
.setup.cfg
andpyproject.toml
from5.3.4
and5.0.0
, respectively, to7.0.1
, reflecting a patch version increase above the most recent tag and release on GitHub.setup.py
script.Rationale
The current project metadata in both
setup.cfg
andpyproject.toml
looks stale, and the data in each is in conflict. Synchronizing them would make dependency data and other metadata clearer to contributors and packagers.The 2-line
setup.py
script is intended to ease repackaging of the project. I work at an HPC site and have to convert mesh data amongst multiple formats. This package makes my life much easier, and I am grateful for all the work that has gone into it. In order to use it on some on-site projects, I need to repackage the project from source, ideally both as a wheel and as a source distribution, for security auditing and approval. Part of the rationale for source repackaging is to enable portable installation on air-gapped systems. Given the sometimes ancient software toolchains used at HPC sites, it is much easier to repackage software withsetuptools
than it is to usebuild
. To wit, I spent several hours today repackagingflit_core
,flit
,pep517
, andbuild
to submit for approval and auditing as a fallback plan in case this pull request addingsetup.py
is rejected. While I wholeheartedly agree that getting rid ofsetup.py
is a good thing, adding the two-line version is a pragmatic alternative, particularly because it is easier to get approval where I work for code incorporated into an upstream project than it is to carry around a bespoke patch.Alternatives
setup.py
, if the goal is to avoid adding it to the project now and in the future, a simple expedient would be to document that policy inCONTRIBUTING.md
. If that is indeed project policy, I am happy to add such text to that file. I saw the discussion in Add developer install instructions #1223 and Add back setup.py for editable installations #1224 also, but I suspect other potential contributors may not see this discussion.meshio-rewrite
project on PyPI, but the homepage listed at https://github.com/meshpro/meshio is inaccessible, and it's not entirely clear to me what the relationship of that project is to this one. If the version of the rewrite is indeed 7.0.6, then perhaps these contributions need to be added to that repo instead, or maybe the version number used in this pull request should be different from version 7.0.1.build
andflit
both usepyproject.toml
data by default. If the goal is to move away fromsetuptools
, it may be worth getting rid ofsetup.cfg
altogether in favor ofpyproject.toml
, though it's not clear to me how the ParaView meshio plugin would be distributed usingpyproject.toml
, given its lack of support fordata_files
.