moleculekit
moleculekit copied to clipboard
Conda package contains `.h` and `.cpp`
Conda package contains .h
and .cpp
files. As the package doesn't have a C++ API, there is no reason for them to exist.
$ find $CONDA_PREFIX/lib/python3.10/site-packages/moleculekit -name "*.h"
./lib/python3.10/site-packages/moleculekit/xtc_utils/include/xdrfile.h
./lib/python3.10/site-packages/moleculekit/xtc_utils/include/xdrfile_xtc.h
./lib/python3.10/site-packages/moleculekit/xtc_utils/include/xtc.h
./lib/python3.10/site-packages/moleculekit/tmalign/include/TMAlign.h
$ find $CONDA_PREFIX/lib/python3.10/site-packages/moleculekit -name "*.cpp"
./lib/python3.10/site-packages/moleculekit/atomselect_utils/atomselect_utils.cpp
./lib/python3.10/site-packages/moleculekit/occupancy_utils/occupancy_utils.cpp
./lib/python3.10/site-packages/moleculekit/xtc_utils/xtc.cpp
./lib/python3.10/site-packages/moleculekit/xtc_utils/src/xdrfile_xtc.cpp
./lib/python3.10/site-packages/moleculekit/xtc_utils/src/xdrfile.cpp
./lib/python3.10/site-packages/moleculekit/xtc_utils/src/xtc.cpp
./lib/python3.10/site-packages/moleculekit/interactions/sigmahole/sigmahole.cpp
./lib/python3.10/site-packages/moleculekit/interactions/cationpi/cationpi.cpp
./lib/python3.10/site-packages/moleculekit/interactions/pipi/pipi.cpp
./lib/python3.10/site-packages/moleculekit/interactions/hbonds/hbonds.cpp
./lib/python3.10/site-packages/moleculekit/bondguesser_utils/bondguesser_utils.cpp
./lib/python3.10/site-packages/moleculekit/wrapping/wrapping.cpp
./lib/python3.10/site-packages/moleculekit/distance_utils/distance_utils.cpp
./lib/python3.10/site-packages/moleculekit/tmalign/tmalign_util.cpp
./lib/python3.10/site-packages/moleculekit/tmalign/src/TMAlign.cpp
If you install moleculekit through pip it compiles them during installation on your machine. I guess I could remove them from the conda releases but I don't believe they bother much being around.
Just to keep things clean. Garbage tends to accumulate over time.
The issue is that conda-build uses pip install. They go through the same procedure to release conda package and pip package. So I'm not sure it's possible without some ugly hacks
(htmd3.10) sdoerr@inspiron ~/miniconda3/envs/htmd3.10/lib/python3.10/site-packages/deeptime find . -name "*.cpp"
./covariance/util/covar_c/covartools.cpp
./plots/src/plots_module.cpp
./numeric/src/numeric_module.cpp
./basis/src/basis_bindings.cpp
./markov/src/markov_module.cpp
./markov/msm/tram/_bindings/src/tram_module.cpp
./markov/hmm/src/hmm_module.cpp
./markov/tools/estimation/dense/src/mle_module.cpp
./markov/tools/estimation/sparse/src/mle_sparse_module.cpp
./data/src/data_module.cpp
./clustering/src/clustering_module.cpp
Deeptime also keeps cpp files in the installation, probably for the same reasons
Numpy as well
(htmd3.10) sdoerr@inspiron ~/miniconda3/envs/htmd3.10/lib/python3.10/site-packages/numpy find . -name "*.c"
./f2py/src/fortranobject.c
./f2py/tests/src/array_from_pyobj/wrapmodule.c
./core/tests/examples/limited_api/limited_api.c
./distutils/checks/cpu_fma4.c
./distutils/checks/cpu_sse3.c
I don't believe it's something that needs to happen and would probably just convolute release procedure unnecessarily.
Actually I see now numpy does some cleaning of C files in the anaconda package (although it keeps a few around). I'll take a look how they do it
NumPy has C API. So some header files are part of it.