Closed ns-rse closed 11 months ago
Work on this has been started by @SylviaWhittle and we have AFM-SPM/topo-libasd. However releasing to PyPI has been a little challenging.
We've migrated configuration via pyproject.toml
and to dynamic versioning via setuptools_scm
rather than explicitly in the configuration.
Currently though we hit a problem with uploading to Test PyPI which rejected the built Linux wheels because they were not considered general enough to work on any distribution.
Short term we have therefore opted to make OSX and Linux builds only sdist
(i.e. source based, as is the case with OSX ARM architecture) as most distributions will have the toolchain required to install.
Longer term though we should implement manylinux builds. This builds the Linux wheels on old distros (under Docker containers) so they are as general as possible. We can look at pyflamegpu action to inform building.
A current stumbling block for the Windows wheels though is that the package name is not correctly recognised under Python 3.8 and 3.9 and is UNKNOWN
and so uploading is prevented as this is not a valid package name for PyPI. This may be related to backwards compatibility/lack of support for pyproject.toml
but I'm unsure at the moment.
I have since given up on building & releasing due to lots of issues building the C++ code for various systems. I have instead written topofileformats
which decodes the .asd
files in pure Python.
Long term I plan to incorporate this into [afmformats](https://github.com/AFM-analysis/afmformats)
as I have been in contact with the dev of the project and he welcomes it, however in the interests of speed, for now it's its own package.
The builds for libasd are not correct on PyPI and despite contacting the author multiple times we haven't seen this resolved.
We want to support
.asd
format and so have decided that we will fork the repository, rename and get the releases working so that libasd is installable across architectures and we can support.asd
.