IsoSpecPy 2.2.1__tar.gz → 2.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- isospecpy-2.2.3/.github/workflows/build_wheels.yml +40 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/Makefile +4 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/cwrapper.cpp +4 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/fixedEnvelopes.cpp +7 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/isoSpec++.h +1 -1
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/Formulas.py +1 -1
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/IsoSpecPyOld.py +5 -2
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/__init__.py +1 -1
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy.egg-info/PKG-INFO +21 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/cwrapper.cpp +4 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/fixedEnvelopes.cpp +7 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/isoSpec++.h +1 -1
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/LICENCE +1 -1
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/PKG-INFO +21 -4
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/setup.py +14 -5
- IsoSpecPy-2.2.1/.github/workflows/build_wheels.yml +0 -39
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CHANGELOG +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeLists.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/doxyfile.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/isospec_logo2_high.svg.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/isospec_logo2_long.svg.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/modules/FindIsoSpec++.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/modules/IsoSpec++Config.cmake.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/modules/pkgconfig/libisospec++.pc.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/outputColors.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/systemUname.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/toolchains/apple-macport-toolchain.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/toolchains/mxe-toolchain.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/toolchains/unix-toolchain.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/CMakeStuff/toolchains/win10-mingw64-toolchain.cmake +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/C++/COMPILING +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/C++/radiolabelling.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/C++/water.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/CMakeLists.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/Python/custom_elements.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/Python/fasta.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/Python/radiolabelling.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/Python/water.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/R/radiolabelling.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Examples/R/water.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/INSTALL +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/CMakeLists.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/CPPLINT.cfg +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/IsoSpecConfig.cmake.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/allocator.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/allocator.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/btrd.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/conf.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/cwrapper.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/dirtyAllocator.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/dirtyAllocator.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/element_tables.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/element_tables.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/fasta.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/fasta.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/fixedEnvelopes.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/isoMath.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/isoMath.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/isoSpec++.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/marginalTrek++.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/marginalTrek++.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/misc.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/misc.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/mman.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/mman.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/operators.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/operators.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/platform.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/platform_incl.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/pod_vector.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/python-build.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/summator.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/test.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpec++/unity-build.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/Advanced.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/Distributions.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/IsoSpecPy.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/PeriodicTbl.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/approximations.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/confs_passthrough.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy/isoFFI.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy.egg-info/SOURCES.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy.egg-info/dependency_links.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy.egg-info/not-zip-safe +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy.egg-info/requires.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecPy.egg-info/top_level.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/.Rbuildignore +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/DESCRIPTION +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/LICENCE +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/NAMESPACE +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/R/IsoSpecR.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/R/RcppExports.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/R/add_custom_isotopes.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/R/data_description.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/R/sysdata.rda +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/data/isotopicData.rda +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/inst/CITATION +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/man/IsoSpecify.Rd +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/man/custom_isotopes_example.Rd +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/man/isotopicData.Rd +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/IsoSpecR_init.c +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/RcppExports.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/Rinterface.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/allocator.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/allocator.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/btrd.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/conf.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/cwrapper.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/dirtyAllocator.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/dirtyAllocator.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/element_tables.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/element_tables.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/fasta.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/fasta.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/fixedEnvelopes.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/isoMath.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/isoMath.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/isoSpec++.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/marginalTrek++.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/marginalTrek++.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/misc.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/misc.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/mman.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/mman.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/operators.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/operators.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/platform.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/platform_incl.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/pod_vector.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/summator.h +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/src/unity-build.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/tests/testthat/envipat.Rd +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/tests/testthat/test-numerical-stability.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/IsoSpecR/tests/testthat.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/MANIFEST.in +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/Makefile +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/README +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/TODO.md +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/changelog +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/control +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/copyright +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/doxyfile +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++-dev.install +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++-dev.links +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++-dev.manpages +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++-doc.doc-base +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++-doc.install +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++2.install +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/libisospec++2.links +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/patches/0001-Ensure-the-header-files-are-found-in-the-system.patch +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/patches/0002-Remove-the-mtune-native-march-native.patch +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/patches/series +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/repack.sh +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/replace-mathjax-cloudflare-url-local-file.sh +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/rules +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/shlibs.local +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/source/format +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/source_package_build.bash +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/upstream/metadata +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/debian/watch +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/abyss-wass-opt/distances.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/abyss-wass-opt/flows.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/abyss-wass-opt/gradients.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/abyss-wass-opt/parameters.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/abyss-wass-opt/test_spectra.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/isobuild.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/log_vs_natural.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/experiments/threshold-search/exp1.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/CMakeLists.txt +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/doxyfile +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/images/isospec_logo2_high_versioned.png +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/images/isospec_logo2_high_versioned.svg +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/images/isospec_logo2_long_versioned.png +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/images/isospec_logo2_long_versioned.svg +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/images/logo2_high.pdf +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/images/logo2_long.pdf +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/logo2_high.pdf +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/man/logo2_long.pdf +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/setup.cfg +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C/Makefile +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C/test_IsoOrderedGenerator.c +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C/test_IsoThresholdGenerator.c +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C/test_arrays.c +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/IsoThresholdGenerator.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/Makefile +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/element_zero.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/empty_iso.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_layered.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_layered_generator.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_ordered.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_stochastic.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_threshold.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_threshold_profile.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/from_formula_threshold_simple.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/layered-test.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/main_test.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/marginal-test.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/mass_range.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/nr_conf.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/tabulator_test.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/test_marginal_ordered.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/titin-test.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/C++/wasserstein_matching.cpp +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/Python/test_IsoSpecPy.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/Python/test_all_configs_output.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/Python/test_estimates.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/Python/test_iface.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/Python/test_mass_predict.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/Python/test_sampling.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/correctness/envipat_results.tar.xz +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/correctness/molecules_2_cpp.R +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/cppyy/IsoSpecCppyy/__init__.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/cppyy/cpt.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/cppyy/overhead-cppyy.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tests/cppyy/overhead.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tools/gen.py +0 -0
- {IsoSpecPy-2.2.1 → isospecpy-2.2.3}/tools/rcheck.sh +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
# - version_2_2
|
|
7
|
+
- ci_wheels
|
|
8
|
+
tags:
|
|
9
|
+
- v*
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build_wheels:
|
|
13
|
+
name: Build wheels on ${{ matrix.os }}
|
|
14
|
+
runs-on: ${{ matrix.os }}
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
#os: [ubuntu-20.04, windows-2019, macos-10.15]
|
|
18
|
+
os: [windows-latest, macos-13, macos-14, macos-15]
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
# Used to host cibuildwheel
|
|
24
|
+
- uses: actions/setup-python@v5
|
|
25
|
+
|
|
26
|
+
- name: Install cibuildwheel
|
|
27
|
+
run: python -m pip install cibuildwheel
|
|
28
|
+
|
|
29
|
+
- name: Build wheels
|
|
30
|
+
run: python -m cibuildwheel --output-dir wheelhouse
|
|
31
|
+
# to supply options, put them in 'env', like:
|
|
32
|
+
env:
|
|
33
|
+
GITHUB_BUILDING_WHEELS: 1
|
|
34
|
+
CIBW_SKIP: pp*-*
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
- uses: actions/upload-artifact@v4
|
|
38
|
+
with:
|
|
39
|
+
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
|
|
40
|
+
path: ./wheelhouse/*.whl
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
OPTFLAGS=-O3 -march=native -mtune=native
|
|
2
2
|
DEBUGFLAGS=-O0 -g -Werror -DISOSPEC_DEBUG -DDEBUG -D_GLIBCXX_DEBUG
|
|
3
|
-
CXXFLAGS=-std=c++
|
|
3
|
+
CXXFLAGS=-std=c++11 -Wall -pedantic -Wextra -Wshadow -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-include-dirs -Wno-old-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wno-sign-conversion -Wsign-promo -Wswitch-default -Wundef
|
|
4
4
|
SRCFILES=cwrapper.cpp allocator.cpp dirtyAllocator.cpp isoSpec++.cpp isoMath.cpp marginalTrek++.cpp operators.cpp element_tables.cpp misc.cpp mman.cpp fixedEnvelopes.cpp fasta.cpp
|
|
5
5
|
|
|
6
6
|
all: unitylib
|
|
@@ -22,11 +22,11 @@ clean:
|
|
|
22
22
|
|
|
23
23
|
windows:
|
|
24
24
|
#g++ -O3 -std=gnu++1z -O3 -shared -static -static-libstdc++ -static-libgcc unity-build.cpp -o ../IsoSpecPy/IsoSpec++.dll
|
|
25
|
-
x86_64-w64-mingw32-g++.exe -std=c++
|
|
26
|
-
i686-w64-mingw32-g++.exe -std=c++
|
|
25
|
+
x86_64-w64-mingw32-g++.exe -std=c++11 -O3 -shared -static -static-libstdc++ unity-build.cpp -o ../IsoSpecPy/IsoSpecPy/prebuilt-libIsoSpec++-2.1.0-x64.dll
|
|
26
|
+
i686-w64-mingw32-g++.exe -std=c++11 -O3 -shared -static -static-libstdc++ unity-build.cpp -o ../IsoSpecPy/IsoSpecPy/prebuilt-libIsoSpec++-2.1.0-x32.dll
|
|
27
27
|
check:
|
|
28
28
|
cpplint *.cpp *.h
|
|
29
|
-
#cppcheck --std=c++
|
|
29
|
+
#cppcheck --std=c++11 --language=c++ --enable=style,portability,missingInclude,performance -q --force *.cpp *.h --suppress=memleakOnRealloc:*:* --inline-suppr --template={file}:{line}\ \({severity}\)\ \<{id}\>:\ {message}
|
|
30
30
|
|
|
31
31
|
check11:
|
|
32
32
|
$(CXX) -std=c++11 -Wall -pedantic -Wextra -Wshadow -fsyntax-only unity-build.cpp
|
|
@@ -357,10 +357,10 @@ double abyssalWassersteinDistanceGrad(void* const* envelopes, const double* scal
|
|
|
357
357
|
struct ws_match_res wassersteinMatch(void* tabulator1, void* tabulator2, double flow_dist, double other_scale)
|
|
358
358
|
{
|
|
359
359
|
struct ws_match_res res;
|
|
360
|
-
auto
|
|
361
|
-
res.res1 =
|
|
362
|
-
res.res2 =
|
|
363
|
-
res.flow =
|
|
360
|
+
auto tuple = reinterpret_cast<FixedEnvelope*>(tabulator1)->WassersteinMatch(*reinterpret_cast<FixedEnvelope*>(tabulator2), flow_dist, other_scale);
|
|
361
|
+
res.res1 = std::get<0>(tuple);
|
|
362
|
+
res.res2 = std::get<1>(tuple);
|
|
363
|
+
res.flow = std::get<2>(tuple);
|
|
364
364
|
return res;
|
|
365
365
|
}
|
|
366
366
|
|
|
@@ -153,11 +153,11 @@ template<typename T> void reorder_array(T* arr, size_t* order, size_t size, bool
|
|
|
153
153
|
|
|
154
154
|
void FixedEnvelope::sort_by(double* order)
|
|
155
155
|
{
|
|
156
|
-
size_t* indices = new size_t[_confs_no];
|
|
157
|
-
|
|
158
156
|
if(_confs_no <= 1)
|
|
159
157
|
return;
|
|
160
158
|
|
|
159
|
+
size_t* indices = new size_t[_confs_no];
|
|
160
|
+
|
|
161
161
|
for(size_t ii = 0; ii < _confs_no; ii++)
|
|
162
162
|
indices[ii] = ii;
|
|
163
163
|
|
|
@@ -443,7 +443,9 @@ double FixedEnvelope::AbyssalWassersteinDistance(FixedEnvelope& other, double ab
|
|
|
443
443
|
|
|
444
444
|
while(!finished())
|
|
445
445
|
{
|
|
446
|
-
auto
|
|
446
|
+
auto pair = next();
|
|
447
|
+
double m = pair.first;
|
|
448
|
+
double p = pair.second;
|
|
447
449
|
if(!carried.empty() && carried[0].second * p > 0.0)
|
|
448
450
|
{
|
|
449
451
|
carried.emplace_back(m, p);
|
|
@@ -452,7 +454,8 @@ double FixedEnvelope::AbyssalWassersteinDistance(FixedEnvelope& other, double ab
|
|
|
452
454
|
|
|
453
455
|
while(!carried.empty())
|
|
454
456
|
{
|
|
455
|
-
|
|
457
|
+
double cm = carried.back().first;
|
|
458
|
+
double cp = carried.back().second;
|
|
456
459
|
if(m - cm >= abyss_depth)
|
|
457
460
|
{
|
|
458
461
|
for(auto it = carried.cbegin(); it != carried.cend(); it++)
|
|
@@ -64,7 +64,7 @@ class ISOSPEC_EXPORT_SYMBOL Iso {
|
|
|
64
64
|
int* isotopeNumbers; /*!< A table with numbers of isotopes for each element. */
|
|
65
65
|
int* atomCounts; /*!< A table with numbers of isotopes for each element. */
|
|
66
66
|
unsigned int confSize; /*!< The number of bytes needed to represent the counts of isotopes present in the extended chemical formula. */
|
|
67
|
-
int allDim; /*!< The total number of isotopes of elements present in a chemical formula, e.g. for
|
|
67
|
+
int allDim; /*!< The total number of isotopes of elements present in a chemical formula, e.g. for H2O (water) it is 2+3=5. */
|
|
68
68
|
Marginal** marginals; /*!< The table of pointers to the distributions of individual subisotopologues. */
|
|
69
69
|
|
|
70
70
|
bool doMarginalsNeedSorting() const;
|
|
@@ -34,6 +34,9 @@ except NameError:
|
|
|
34
34
|
import re
|
|
35
35
|
from .IsoSpecPy import IsoTotalProb, IsoThreshold
|
|
36
36
|
|
|
37
|
+
DIGIT_PATTERN = re.compile(r"\d+")
|
|
38
|
+
NON_DIGIT_PATTERN = re.compile(r"\D+")
|
|
39
|
+
|
|
37
40
|
class IsoSpec():
|
|
38
41
|
def __init__(
|
|
39
42
|
self,
|
|
@@ -95,8 +98,8 @@ class IsoSpec():
|
|
|
95
98
|
def IsoFromFormula(formula, cutoff, tabSize = 1000, hashSize = 1000, classId = None, method = 'threshold_relative', step = 0.25, trim = True):
|
|
96
99
|
# It's much easier to just parse it in python than to use the C parsing function
|
|
97
100
|
# and retrieve back into Python the relevant object sizes
|
|
98
|
-
symbols = re.findall(
|
|
99
|
-
atom_counts = [int(x) for x in re.findall(
|
|
101
|
+
symbols = re.findall(NON_DIGIT_PATTERN, formula)
|
|
102
|
+
atom_counts = [int(x) for x in re.findall(DIGIT_PATTERN, formula)]
|
|
100
103
|
|
|
101
104
|
if not len(symbols) == len(atom_counts):
|
|
102
105
|
raise ValueError("Invalid formula")
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: IsoSpecPy
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: Python interface to IsoSpec++ isotopic envelope calculator library
|
|
5
5
|
Home-page: http://matteolacki.github.io/IsoSpec/
|
|
6
|
-
Author: Mateusz
|
|
6
|
+
Author: Mateusz Łącki & Michał Startek
|
|
7
7
|
Author-email: matteo.lacki@gmail.com
|
|
8
8
|
License: 2-clause BSD
|
|
9
9
|
Keywords: isotopic envelope mass spectrometry
|
|
@@ -22,7 +22,24 @@ Classifier: Programming Language :: Python :: 3.6
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.7
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.8
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
-
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
28
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
29
|
License-File: LICENCE
|
|
30
|
+
Requires-Dist: cffi
|
|
31
|
+
Provides-Extra: test
|
|
32
|
+
Requires-Dist: pytest; extra == "test"
|
|
33
|
+
Requires-Dist: numpy; extra == "test"
|
|
34
|
+
Dynamic: author
|
|
35
|
+
Dynamic: author-email
|
|
36
|
+
Dynamic: classifier
|
|
37
|
+
Dynamic: description
|
|
38
|
+
Dynamic: home-page
|
|
39
|
+
Dynamic: keywords
|
|
40
|
+
Dynamic: license
|
|
41
|
+
Dynamic: provides-extra
|
|
42
|
+
Dynamic: requires-dist
|
|
43
|
+
Dynamic: summary
|
|
27
44
|
|
|
28
45
|
Python interface to IsoSpec++ isotopic envelope calculator library
|
|
@@ -357,10 +357,10 @@ double abyssalWassersteinDistanceGrad(void* const* envelopes, const double* scal
|
|
|
357
357
|
struct ws_match_res wassersteinMatch(void* tabulator1, void* tabulator2, double flow_dist, double other_scale)
|
|
358
358
|
{
|
|
359
359
|
struct ws_match_res res;
|
|
360
|
-
auto
|
|
361
|
-
res.res1 =
|
|
362
|
-
res.res2 =
|
|
363
|
-
res.flow =
|
|
360
|
+
auto tuple = reinterpret_cast<FixedEnvelope*>(tabulator1)->WassersteinMatch(*reinterpret_cast<FixedEnvelope*>(tabulator2), flow_dist, other_scale);
|
|
361
|
+
res.res1 = std::get<0>(tuple);
|
|
362
|
+
res.res2 = std::get<1>(tuple);
|
|
363
|
+
res.flow = std::get<2>(tuple);
|
|
364
364
|
return res;
|
|
365
365
|
}
|
|
366
366
|
|
|
@@ -153,11 +153,11 @@ template<typename T> void reorder_array(T* arr, size_t* order, size_t size, bool
|
|
|
153
153
|
|
|
154
154
|
void FixedEnvelope::sort_by(double* order)
|
|
155
155
|
{
|
|
156
|
-
size_t* indices = new size_t[_confs_no];
|
|
157
|
-
|
|
158
156
|
if(_confs_no <= 1)
|
|
159
157
|
return;
|
|
160
158
|
|
|
159
|
+
size_t* indices = new size_t[_confs_no];
|
|
160
|
+
|
|
161
161
|
for(size_t ii = 0; ii < _confs_no; ii++)
|
|
162
162
|
indices[ii] = ii;
|
|
163
163
|
|
|
@@ -443,7 +443,9 @@ double FixedEnvelope::AbyssalWassersteinDistance(FixedEnvelope& other, double ab
|
|
|
443
443
|
|
|
444
444
|
while(!finished())
|
|
445
445
|
{
|
|
446
|
-
auto
|
|
446
|
+
auto pair = next();
|
|
447
|
+
double m = pair.first;
|
|
448
|
+
double p = pair.second;
|
|
447
449
|
if(!carried.empty() && carried[0].second * p > 0.0)
|
|
448
450
|
{
|
|
449
451
|
carried.emplace_back(m, p);
|
|
@@ -452,7 +454,8 @@ double FixedEnvelope::AbyssalWassersteinDistance(FixedEnvelope& other, double ab
|
|
|
452
454
|
|
|
453
455
|
while(!carried.empty())
|
|
454
456
|
{
|
|
455
|
-
|
|
457
|
+
double cm = carried.back().first;
|
|
458
|
+
double cp = carried.back().second;
|
|
456
459
|
if(m - cm >= abyss_depth)
|
|
457
460
|
{
|
|
458
461
|
for(auto it = carried.cbegin(); it != carried.cend(); it++)
|
|
@@ -64,7 +64,7 @@ class ISOSPEC_EXPORT_SYMBOL Iso {
|
|
|
64
64
|
int* isotopeNumbers; /*!< A table with numbers of isotopes for each element. */
|
|
65
65
|
int* atomCounts; /*!< A table with numbers of isotopes for each element. */
|
|
66
66
|
unsigned int confSize; /*!< The number of bytes needed to represent the counts of isotopes present in the extended chemical formula. */
|
|
67
|
-
int allDim; /*!< The total number of isotopes of elements present in a chemical formula, e.g. for
|
|
67
|
+
int allDim; /*!< The total number of isotopes of elements present in a chemical formula, e.g. for H2O (water) it is 2+3=5. */
|
|
68
68
|
Marginal** marginals; /*!< The table of pointers to the distributions of individual subisotopologues. */
|
|
69
69
|
|
|
70
70
|
bool doMarginalsNeedSorting() const;
|
|
@@ -8,7 +8,7 @@ your own software, but you are under no legal obligation to do so.
|
|
|
8
8
|
-------------------------------------------------------------------------
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
Copyright (c) 2015-
|
|
11
|
+
Copyright (c) 2015-2025, Michał Startek and Mateusz Łącki
|
|
12
12
|
|
|
13
13
|
All rights reserved.
|
|
14
14
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: IsoSpecPy
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: Python interface to IsoSpec++ isotopic envelope calculator library
|
|
5
5
|
Home-page: http://matteolacki.github.io/IsoSpec/
|
|
6
|
-
Author: Mateusz
|
|
6
|
+
Author: Mateusz Łącki & Michał Startek
|
|
7
7
|
Author-email: matteo.lacki@gmail.com
|
|
8
8
|
License: 2-clause BSD
|
|
9
9
|
Keywords: isotopic envelope mass spectrometry
|
|
@@ -22,7 +22,24 @@ Classifier: Programming Language :: Python :: 3.6
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.7
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.8
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
-
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
28
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
29
|
License-File: LICENCE
|
|
30
|
+
Requires-Dist: cffi
|
|
31
|
+
Provides-Extra: test
|
|
32
|
+
Requires-Dist: pytest; extra == "test"
|
|
33
|
+
Requires-Dist: numpy; extra == "test"
|
|
34
|
+
Dynamic: author
|
|
35
|
+
Dynamic: author-email
|
|
36
|
+
Dynamic: classifier
|
|
37
|
+
Dynamic: description
|
|
38
|
+
Dynamic: home-page
|
|
39
|
+
Dynamic: keywords
|
|
40
|
+
Dynamic: license
|
|
41
|
+
Dynamic: provides-extra
|
|
42
|
+
Dynamic: requires-dist
|
|
43
|
+
Dynamic: summary
|
|
27
44
|
|
|
28
45
|
Python interface to IsoSpec++ isotopic envelope calculator library
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
1
2
|
|
|
2
3
|
"""A setuptools based setup module.
|
|
3
4
|
|
|
@@ -8,7 +9,6 @@ https://github.com/pypa/sampleproject
|
|
|
8
9
|
|
|
9
10
|
# Always prefer setuptools over distutils
|
|
10
11
|
from setuptools import setup, find_packages, Extension
|
|
11
|
-
from distutils import spawn
|
|
12
12
|
# To use a consistent encoding
|
|
13
13
|
from codecs import open
|
|
14
14
|
import os
|
|
@@ -28,13 +28,18 @@ here = os.path.abspath(os.path.dirname(__file__))
|
|
|
28
28
|
#with open(path.join(here, 'DESCRIPTION.rst'), encoding='utf-8') as f:
|
|
29
29
|
# long_description = f.read()
|
|
30
30
|
|
|
31
|
+
native_ok = not ('darwin' in platform.system().lower())
|
|
32
|
+
|
|
31
33
|
def get_cflags():
|
|
32
34
|
if 'windows' in platform.system().lower():
|
|
33
35
|
# Assuming MSVC, probably Anaconda
|
|
34
36
|
return ["/O2", "/std:c++17"]
|
|
35
37
|
if use_asan:
|
|
36
38
|
return '-O0 -g -DISOSPEC_DEBUG -std=c++17 -fsanitize=address'.split()
|
|
37
|
-
|
|
39
|
+
ret = ['-O3', '-std=c++17']
|
|
40
|
+
if native_ok:
|
|
41
|
+
ret.extend(['-mtune=native', '-march=native'])
|
|
42
|
+
return ret
|
|
38
43
|
|
|
39
44
|
cmodule = Extension('IsoSpecCppPy',
|
|
40
45
|
sources = ['IsoSpec++/python-build.cpp'],
|
|
@@ -49,7 +54,7 @@ setup_args = {
|
|
|
49
54
|
# Versions should comply with PEP440. For a discussion on single-sourcing
|
|
50
55
|
# the version across setup.py and the project code, see
|
|
51
56
|
# https://packaging.python.org/en/latest/single_source_version.html
|
|
52
|
-
'version': '2.2.
|
|
57
|
+
'version': '2.2.3',
|
|
53
58
|
|
|
54
59
|
'description': 'Python interface to IsoSpec++ isotopic envelope calculator library',
|
|
55
60
|
'long_description': 'Python interface to IsoSpec++ isotopic envelope calculator library',
|
|
@@ -58,7 +63,7 @@ setup_args = {
|
|
|
58
63
|
'url': 'http://matteolacki.github.io/IsoSpec/',
|
|
59
64
|
|
|
60
65
|
# Author details
|
|
61
|
-
'author': 'Mateusz
|
|
66
|
+
'author': 'Mateusz Łącki & Michał Startek',
|
|
62
67
|
'author_email': 'matteo.lacki@gmail.com',
|
|
63
68
|
|
|
64
69
|
# Choose your license
|
|
@@ -92,6 +97,10 @@ setup_args = {
|
|
|
92
97
|
'Programming Language :: Python :: 3.7',
|
|
93
98
|
'Programming Language :: Python :: 3.8',
|
|
94
99
|
'Programming Language :: Python :: 3.9',
|
|
100
|
+
'Programming Language :: Python :: 3.10',
|
|
101
|
+
'Programming Language :: Python :: 3.11',
|
|
102
|
+
'Programming Language :: Python :: 3.12',
|
|
103
|
+
'Programming Language :: Python :: 3.13',
|
|
95
104
|
],
|
|
96
105
|
|
|
97
106
|
# What does your project relate to?
|
|
@@ -148,7 +157,7 @@ if 'cygwin' in platform.system().lower():
|
|
|
148
157
|
print("You appear to be using CYGWIN, and CFFI was not found. Please use the Cygwin installer to install the cffi-python package for the appropriate Python version.")
|
|
149
158
|
print("Installing CFFI using pip will most likely NOT work. This is *NOT* a bug in IsoSpecPy.")
|
|
150
159
|
sys.exit(1)
|
|
151
|
-
if
|
|
160
|
+
if shutil.which('clang++') is None:
|
|
152
161
|
print("You appear to be using CYGWIN and clang++ executable was not found. Please install the clang++ package using Cygwin installer.")
|
|
153
162
|
sys.exit(1)
|
|
154
163
|
import distutils
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
name: Build
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- version_2_2
|
|
7
|
-
- ci_wheels
|
|
8
|
-
tags:
|
|
9
|
-
- v*
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
build_wheels:
|
|
13
|
-
name: Build wheels on ${{ matrix.os }}
|
|
14
|
-
runs-on: ${{ matrix.os }}
|
|
15
|
-
strategy:
|
|
16
|
-
matrix:
|
|
17
|
-
#os: [ubuntu-20.04, windows-2019, macos-10.15]
|
|
18
|
-
os: [windows-2019]
|
|
19
|
-
|
|
20
|
-
steps:
|
|
21
|
-
- uses: actions/checkout@v2
|
|
22
|
-
|
|
23
|
-
# - name: Install Visual C++ for Python 2.7
|
|
24
|
-
# if: runner.os == 'Windows'
|
|
25
|
-
# run: choco install vcpython27 -f -y
|
|
26
|
-
|
|
27
|
-
- name: Build wheels
|
|
28
|
-
uses: joerick/cibuildwheel@v1.10.0
|
|
29
|
-
# to supply options, put them in 'env', like:
|
|
30
|
-
# env:
|
|
31
|
-
# CIBW_SOME_OPTION: value
|
|
32
|
-
env:
|
|
33
|
-
CIBW_SKIP: cp27-* pp27-*
|
|
34
|
-
GITHUB_BUILDING_WHEELS: 1
|
|
35
|
-
|
|
36
|
-
- uses: actions/upload-artifact@v2
|
|
37
|
-
with:
|
|
38
|
-
path: ./wheelhouse/*.whl
|
|
39
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|