-
Notifications
You must be signed in to change notification settings - Fork 38
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
Add setuptools support #296
Conversation
Having a quick look to the ABI posted above, I am quite confident that PEP600 wheels (i.e. only GNU/Linux) are not that far fetched. In fact we need:
CasADI wheel treebipedal-locomotion-framework on feature/setup.py via △ v3.20.1 via 🐍 v3.8.8 🅒 /conda took 3s
❯ tree /conda/lib/python3.8/site-packages/casadi
/conda/lib/python3.8/site-packages/casadi
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-38.pyc
│ └── casadi.cpython-38.pyc
├── _casadi.so
├── casadi
│ └── jit
│ ├── clang
│ │ └── 3.4.2
│ │ └── include
│ │ ├── Intrin.h
│ │ ├── __wmmintrin_aes.h
│ │ ├── __wmmintrin_pclmul.h
│ │ ├── altivec.h
│ │ ├── ammintrin.h
│ │ ├── arm_neon.h
│ │ ├── avx2intrin.h
│ │ ├── avxintrin.h
│ │ ├── bmi2intrin.h
│ │ ├── bmiintrin.h
│ │ ├── cpuid.h
│ │ ├── emmintrin.h
│ │ ├── f16cintrin.h
│ │ ├── float.h
│ │ ├── fma4intrin.h
│ │ ├── fmaintrin.h
│ │ ├── immintrin.h
│ │ ├── iso646.h
│ │ ├── limits.h
│ │ ├── lzcntintrin.h
│ │ ├── mm3dnow.h
│ │ ├── mm_malloc.h
│ │ ├── mmintrin.h
│ │ ├── module.map
│ │ ├── nmmintrin.h
│ │ ├── pmmintrin.h
│ │ ├── popcntintrin.h
│ │ ├── prfchwintrin.h
│ │ ├── rdseedintrin.h
│ │ ├── rtmintrin.h
│ │ ├── shaintrin.h
│ │ ├── smmintrin.h
│ │ ├── stdalign.h
│ │ ├── stdarg.h
│ │ ├── stdbool.h
│ │ ├── stddef.h
│ │ ├── stdint.h
│ │ ├── stdnoreturn.h
│ │ ├── tbmintrin.h
│ │ ├── tgmath.h
│ │ ├── tmmintrin.h
│ │ ├── unwind.h
│ │ ├── varargs.h
│ │ ├── wmmintrin.h
│ │ ├── x86intrin.h
│ │ ├── xmmintrin.h
│ │ └── xopintrin.h
│ ├── get_system_includes.sh
│ └── system_includes.txt
├── casadi.py
├── cmake
│ ├── casadi-config-version.cmake
│ ├── casadi-config.cmake
│ ├── casadi-targets-release.cmake
│ └── casadi-targets.cmake
├── dummy.txt
├── include
│ ├── casadi
│ │ ├── casadi.hpp
│ │ ├── casadi.i
│ │ ├── casadi_c.h
│ │ ├── casadi_numpy.hpp
│ │ ├── config.h
│ │ ├── core
│ │ │ ├── assertion.cpp
│ │ │ ├── assertion.hpp
│ │ │ ├── bilin.cpp
│ │ │ ├── bilin.hpp
│ │ │ ├── binary_mx.hpp
│ │ │ ├── binary_mx_impl.hpp
│ │ │ ├── binary_sx.hpp
│ │ │ ├── bspline.cpp
│ │ │ ├── bspline.hpp
│ │ │ ├── calculus.hpp
│ │ │ ├── callback.cpp
│ │ │ ├── callback.hpp
│ │ │ ├── callback_internal.cpp
│ │ │ ├── callback_internal.hpp
│ │ │ ├── casadi_axpy.hpp
│ │ │ ├── casadi_bfgs.hpp
│ │ │ ├── casadi_bilin.hpp
│ │ │ ├── casadi_bound_consistency.hpp
│ │ │ ├── casadi_c.cpp
│ │ │ ├── casadi_cache.hpp
│ │ │ ├── casadi_call.cpp
│ │ │ ├── casadi_call.hpp
│ │ │ ├── casadi_clear.hpp
│ │ │ ├── casadi_common.cpp
│ │ │ ├── casadi_common.hpp
│ │ │ ├── casadi_convexify.hpp
│ │ │ ├── casadi_copy.hpp
│ │ │ ├── casadi_cvx.hpp
│ │ │ ├── casadi_de_boor.hpp
│ │ │ ├── casadi_densify.hpp
│ │ │ ├── casadi_dot.hpp
│ │ │ ├── casadi_export.h
│ │ │ ├── casadi_file_slurp.hpp
│ │ │ ├── casadi_fill.hpp
│ │ │ ├── casadi_find.cpp
│ │ │ ├── casadi_find.hpp
│ │ │ ├── casadi_finite_diff.hpp
│ │ │ ├── casadi_flip.hpp
│ │ │ ├── casadi_getu.hpp
│ │ │ ├── casadi_iamax.hpp
│ │ │ ├── casadi_interpn.hpp
│ │ │ ├── casadi_interpn_grad.hpp
│ │ │ ├── casadi_interpn_interpolate.hpp
│ │ │ ├── casadi_interpn_weights.hpp
│ │ │ ├── casadi_interrupt.cpp
│ │ │ ├── casadi_interrupt.hpp
│ │ │ ├── casadi_kron.hpp
│ │ │ ├── casadi_ldl.hpp
│ │ │ ├── casadi_limits.hpp
│ │ │ ├── casadi_logger.cpp
│ │ │ ├── casadi_logger.hpp
│ │ │ ├── casadi_low.cpp
│ │ │ ├── casadi_low.hpp
│ │ │ ├── casadi_lsqr.hpp
│ │ │ ├── casadi_max_viol.hpp
│ │ │ ├── casadi_meta.cpp
│ │ │ ├── casadi_meta.hpp
│ │ │ ├── casadi_minmax.hpp
│ │ │ ├── casadi_misc.cpp
│ │ │ ├── casadi_misc.hpp
│ │ │ ├── casadi_mtimes.hpp
│ │ │ ├── casadi_mv.hpp
│ │ │ ├── casadi_mv_dense.hpp
│ │ │ ├── casadi_nd_boor_dual_eval.hpp
│ │ │ ├── casadi_nd_boor_eval.hpp
│ │ │ ├── casadi_newton.hpp
│ │ │ ├── casadi_nlp.hpp
│ │ │ ├── casadi_norm_1.hpp
│ │ │ ├── casadi_norm_2.hpp
│ │ │ ├── casadi_norm_inf.hpp
│ │ │ ├── casadi_norm_inf_mul.hpp
│ │ │ ├── casadi_polyval.hpp
│ │ │ ├── casadi_project.hpp
│ │ │ ├── casadi_qp.hpp
│ │ │ ├── casadi_qr.hpp
│ │ │ ├── casadi_rank1.hpp
│ │ │ ├── casadi_regularize.hpp
│ │ │ ├── casadi_runtime.hpp
│ │ │ ├── casadi_scal.hpp
│ │ │ ├── casadi_sparsify.hpp
│ │ │ ├── casadi_sqpmethod.hpp
│ │ │ ├── casadi_sum_viol.hpp
│ │ │ ├── casadi_swap.hpp
│ │ │ ├── casadi_trans.hpp
│ │ │ ├── casadi_tri_project.hpp
│ │ │ ├── casadi_types.hpp
│ │ │ ├── casadi_vfmax.hpp
│ │ │ ├── casadi_vfmin.hpp
│ │ │ ├── code_generator.cpp
│ │ │ ├── code_generator.hpp
│ │ │ ├── concat.cpp
│ │ │ ├── concat.hpp
│ │ │ ├── config.h
│ │ │ ├── conic.cpp
│ │ │ ├── conic.hpp
│ │ │ ├── conic_impl.hpp
│ │ │ ├── constant_mx.cpp
│ │ │ ├── constant_mx.hpp
│ │ │ ├── constant_sx.hpp
│ │ │ ├── convexify.cpp
│ │ │ ├── convexify.hpp
│ │ │ ├── core.hpp
│ │ │ ├── dae_builder.cpp
│ │ │ ├── dae_builder.hpp
│ │ │ ├── determinant.cpp
│ │ │ ├── determinant.hpp
│ │ │ ├── dm.hpp
│ │ │ ├── dm_fwd.hpp
│ │ │ ├── dm_instantiator.cpp
│ │ │ ├── dot.cpp
│ │ │ ├── dot.hpp
│ │ │ ├── dple.cpp
│ │ │ ├── dple.hpp
│ │ │ ├── dple_impl.hpp
│ │ │ ├── einstein.cpp
│ │ │ ├── einstein.hpp
│ │ │ ├── exception.hpp
│ │ │ ├── expm.cpp
│ │ │ ├── expm.hpp
│ │ │ ├── expm_impl.hpp
│ │ │ ├── external.cpp
│ │ │ ├── external.hpp
│ │ │ ├── external_impl.hpp
│ │ │ ├── factory.hpp
│ │ │ ├── finite_differences.cpp
│ │ │ ├── finite_differences.hpp
│ │ │ ├── function.cpp
│ │ │ ├── function.hpp
│ │ │ ├── function_internal.cpp
│ │ │ ├── function_internal.hpp
│ │ │ ├── generic_expression.hpp
│ │ │ ├── generic_matrix.cpp
│ │ │ ├── generic_matrix.hpp
│ │ │ ├── generic_type.cpp
│ │ │ ├── generic_type.hpp
│ │ │ ├── generic_type_internal.hpp
│ │ │ ├── getnonzeros.cpp
│ │ │ ├── getnonzeros.hpp
│ │ │ ├── getnonzeros_param.cpp
│ │ │ ├── getnonzeros_param.hpp
│ │ │ ├── global_options.cpp
│ │ │ ├── global_options.hpp
│ │ │ ├── im.hpp
│ │ │ ├── im_fwd.hpp
│ │ │ ├── im_instantiator.cpp
│ │ │ ├── importer.cpp
│ │ │ ├── importer.hpp
│ │ │ ├── importer_internal.cpp
│ │ │ ├── importer_internal.hpp
│ │ │ ├── integration_tools.cpp
│ │ │ ├── integration_tools.hpp
│ │ │ ├── integrator.cpp
│ │ │ ├── integrator.hpp
│ │ │ ├── integrator_impl.hpp
│ │ │ ├── interpolant.cpp
│ │ │ ├── interpolant.hpp
│ │ │ ├── interpolant_impl.hpp
│ │ │ ├── inverse.cpp
│ │ │ ├── inverse.hpp
│ │ │ ├── io_instruction.cpp
│ │ │ ├── io_instruction.hpp
│ │ │ ├── jit_function.cpp
│ │ │ ├── jit_function.hpp
│ │ │ ├── linsol.cpp
│ │ │ ├── linsol.hpp
│ │ │ ├── linsol_internal.cpp
│ │ │ ├── linsol_internal.hpp
│ │ │ ├── map.cpp
│ │ │ ├── map.hpp
│ │ │ ├── mapsum.cpp
│ │ │ ├── mapsum.hpp
│ │ │ ├── matrix_decl.hpp
│ │ │ ├── matrix_fwd.hpp
│ │ │ ├── matrix_impl.hpp
│ │ │ ├── mmin.cpp
│ │ │ ├── mmin.hpp
│ │ │ ├── monitor.cpp
│ │ │ ├── monitor.hpp
│ │ │ ├── multiple_output.cpp
│ │ │ ├── multiple_output.hpp
│ │ │ ├── multiplication.cpp
│ │ │ ├── multiplication.hpp
│ │ │ ├── mx.cpp
│ │ │ ├── mx.hpp
│ │ │ ├── mx_function.cpp
│ │ │ ├── mx_function.hpp
│ │ │ ├── mx_node.cpp
│ │ │ ├── mx_node.hpp
│ │ │ ├── nlp_builder.cpp
│ │ │ ├── nlp_builder.hpp
│ │ │ ├── nlp_tools.cpp
│ │ │ ├── nlp_tools.hpp
│ │ │ ├── nlpsol.cpp
│ │ │ ├── nlpsol.hpp
│ │ │ ├── nlpsol_impl.hpp
│ │ │ ├── nonzeros.hpp
│ │ │ ├── norm.cpp
│ │ │ ├── norm.hpp
│ │ │ ├── options.cpp
│ │ │ ├── options.hpp
│ │ │ ├── optistack.cpp
│ │ │ ├── optistack.hpp
│ │ │ ├── optistack_internal.cpp
│ │ │ ├── optistack_internal.hpp
│ │ │ ├── oracle_function.cpp
│ │ │ ├── oracle_function.hpp
│ │ │ ├── plugin_interface.hpp
│ │ │ ├── polynomial.cpp
│ │ │ ├── polynomial.hpp
│ │ │ ├── printable.hpp
│ │ │ ├── project.cpp
│ │ │ ├── project.hpp
│ │ │ ├── rank1.cpp
│ │ │ ├── rank1.hpp
│ │ │ ├── repmat.cpp
│ │ │ ├── repmat.hpp
│ │ │ ├── reshape.cpp
│ │ │ ├── reshape.hpp
│ │ │ ├── rootfinder.cpp
│ │ │ ├── rootfinder.hpp
│ │ │ ├── rootfinder_impl.hpp
│ │ │ ├── runtime
│ │ │ │ ├── casadi_axpy.hpp
│ │ │ │ ├── casadi_bfgs.hpp
│ │ │ │ ├── casadi_bilin.hpp
│ │ │ │ ├── casadi_bound_consistency.hpp
│ │ │ │ ├── casadi_cache.hpp
│ │ │ │ ├── casadi_clear.hpp
│ │ │ │ ├── casadi_convexify.hpp
│ │ │ │ ├── casadi_copy.hpp
│ │ │ │ ├── casadi_cvx.hpp
│ │ │ │ ├── casadi_de_boor.hpp
│ │ │ │ ├── casadi_densify.hpp
│ │ │ │ ├── casadi_dot.hpp
│ │ │ │ ├── casadi_file_slurp.hpp
│ │ │ │ ├── casadi_fill.hpp
│ │ │ │ ├── casadi_finite_diff.hpp
│ │ │ │ ├── casadi_flip.hpp
│ │ │ │ ├── casadi_getu.hpp
│ │ │ │ ├── casadi_iamax.hpp
│ │ │ │ ├── casadi_interpn.hpp
│ │ │ │ ├── casadi_interpn_grad.hpp
│ │ │ │ ├── casadi_interpn_interpolate.hpp
│ │ │ │ ├── casadi_interpn_weights.hpp
│ │ │ │ ├── casadi_kron.hpp
│ │ │ │ ├── casadi_ldl.hpp
│ │ │ │ ├── casadi_low.hpp
│ │ │ │ ├── casadi_lsqr.hpp
│ │ │ │ ├── casadi_max_viol.hpp
│ │ │ │ ├── casadi_minmax.hpp
│ │ │ │ ├── casadi_mtimes.hpp
│ │ │ │ ├── casadi_mv.hpp
│ │ │ │ ├── casadi_mv_dense.hpp
│ │ │ │ ├── casadi_nd_boor_dual_eval.hpp
│ │ │ │ ├── casadi_nd_boor_eval.hpp
│ │ │ │ ├── casadi_newton.hpp
│ │ │ │ ├── casadi_nlp.hpp
│ │ │ │ ├── casadi_norm_1.hpp
│ │ │ │ ├── casadi_norm_2.hpp
│ │ │ │ ├── casadi_norm_inf.hpp
│ │ │ │ ├── casadi_norm_inf_mul.hpp
│ │ │ │ ├── casadi_polyval.hpp
│ │ │ │ ├── casadi_project.hpp
│ │ │ │ ├── casadi_qp.hpp
│ │ │ │ ├── casadi_qr.hpp
│ │ │ │ ├── casadi_rank1.hpp
│ │ │ │ ├── casadi_regularize.hpp
│ │ │ │ ├── casadi_runtime.hpp
│ │ │ │ ├── casadi_scal.hpp
│ │ │ │ ├── casadi_sparsify.hpp
│ │ │ │ ├── casadi_sqpmethod.hpp
│ │ │ │ ├── casadi_sum_viol.hpp
│ │ │ │ ├── casadi_swap.hpp
│ │ │ │ ├── casadi_trans.hpp
│ │ │ │ ├── casadi_tri_project.hpp
│ │ │ │ ├── casadi_vfmax.hpp
│ │ │ │ ├── casadi_vfmin.hpp
│ │ │ │ └── shared.hpp
│ │ │ ├── serializer.cpp
│ │ │ ├── serializer.hpp
│ │ │ ├── serializing_stream.cpp
│ │ │ ├── serializing_stream.hpp
│ │ │ ├── setnonzeros.hpp
│ │ │ ├── setnonzeros_impl.hpp
│ │ │ ├── setnonzeros_param.hpp
│ │ │ ├── setnonzeros_param_impl.hpp
│ │ │ ├── shared_object.cpp
│ │ │ ├── shared_object.hpp
│ │ │ ├── shared_object_internal.cpp
│ │ │ ├── shared_object_internal.hpp
│ │ │ ├── slice.cpp
│ │ │ ├── slice.hpp
│ │ │ ├── solve.hpp
│ │ │ ├── solve_impl.hpp
│ │ │ ├── sparse_storage.hpp
│ │ │ ├── sparse_storage_impl.hpp
│ │ │ ├── sparsity.cpp
│ │ │ ├── sparsity.hpp
│ │ │ ├── sparsity_interface.hpp
│ │ │ ├── sparsity_internal.cpp
│ │ │ ├── sparsity_internal.hpp
│ │ │ ├── split.cpp
│ │ │ ├── split.hpp
│ │ │ ├── subassign.cpp
│ │ │ ├── subassign.hpp
│ │ │ ├── submatrix.hpp
│ │ │ ├── subref.cpp
│ │ │ ├── subref.hpp
│ │ │ ├── switch.cpp
│ │ │ ├── switch.hpp
│ │ │ ├── sx.hpp
│ │ │ ├── sx_elem.cpp
│ │ │ ├── sx_elem.hpp
│ │ │ ├── sx_function.cpp
│ │ │ ├── sx_function.hpp
│ │ │ ├── sx_fwd.hpp
│ │ │ ├── sx_instantiator.cpp
│ │ │ ├── sx_node.cpp
│ │ │ ├── sx_node.hpp
│ │ │ ├── symbolic_mx.cpp
│ │ │ ├── symbolic_mx.hpp
│ │ │ ├── symbolic_sx.hpp
│ │ │ ├── timing.cpp
│ │ │ ├── timing.hpp
│ │ │ ├── transpose.cpp
│ │ │ ├── transpose.hpp
│ │ │ ├── unary_mx.cpp
│ │ │ ├── unary_mx.hpp
│ │ │ ├── unary_sx.hpp
│ │ │ ├── variable.cpp
│ │ │ ├── variable.hpp
│ │ │ ├── x_function.hpp
│ │ │ ├── xml_file.cpp
│ │ │ ├── xml_file.hpp
│ │ │ ├── xml_file_internal.cpp
│ │ │ ├── xml_file_internal.hpp
│ │ │ ├── xml_node.cpp
│ │ │ └── xml_node.hpp
│ │ ├── doc.i
│ │ ├── doc_merged.i
│ │ ├── mem.h
│ │ ├── valgrind-casadi.supp
│ │ └── valgrind-python.supp
│ ├── osqp
│ │ ├── auxil.h
│ │ ├── constants.h
│ │ ├── cs.h
│ │ ├── ctrlc.h
│ │ ├── glob_opts.h
│ │ ├── kkt.h
│ │ ├── lin_alg.h
│ │ ├── lin_sys.h
│ │ ├── osqp.h
│ │ ├── osqp_configure.h
│ │ ├── polish.h
│ │ ├── proj.h
│ │ ├── scaling.h
│ │ ├── types.h
│ │ └── util.h
│ └── qdldl
│ ├── qdldl.h
│ └── qdldl_types.h
├── lib
│ └── cmake
│ ├── osqp
│ │ ├── osqp-config.cmake
│ │ ├── osqp-targets-release.cmake
│ │ └── osqp-targets.cmake
│ └── qdldl
│ ├── qdldl-config.cmake
│ ├── qdldl-targets-release.cmake
│ └── qdldl-targets.cmake
├── libcasadi.so
├── libcasadi_conic_cbc.so
├── libcasadi_conic_clp.so
├── libcasadi_conic_cplex.so
├── libcasadi_conic_gurobi.so
├── libcasadi_conic_nlpsol.so
├── libcasadi_conic_osqp.so
├── libcasadi_conic_qpoases.so
├── libcasadi_conic_qrqp.so
├── libcasadi_conic_superscs.so
├── libcasadi_dple_slicot.so
├── libcasadi_expm_slicot.so
├── libcasadi_importer_clang.so
├── libcasadi_importer_shell.so
├── libcasadi_integrator_collocation.so
├── libcasadi_integrator_cvodes.so
├── libcasadi_integrator_idas.so
├── libcasadi_integrator_rk.so
├── libcasadi_interpolant_bspline.so
├── libcasadi_interpolant_linear.so
├── libcasadi_linsol_csparse.so
├── libcasadi_linsol_csparsecholesky.so
├── libcasadi_linsol_lapacklu.so
├── libcasadi_linsol_lapackqr.so
├── libcasadi_linsol_ldl.so
├── libcasadi_linsol_lsqr.so
├── libcasadi_linsol_ma27.so
├── libcasadi_linsol_qr.so
├── libcasadi_linsol_symbolicqr.so
├── libcasadi_linsol_tridiag.so
├── libcasadi_nlpsol_ampl.so
├── libcasadi_nlpsol_blocksqp.so
├── libcasadi_nlpsol_bonmin.so
├── libcasadi_nlpsol_ipopt.so
├── libcasadi_nlpsol_knitro.so
├── libcasadi_nlpsol_qrsqp.so
├── libcasadi_nlpsol_scpgen.so
├── libcasadi_nlpsol_sqpmethod.so
├── libcasadi_nlpsol_worhp.so
├── libcasadi_rootfinder_fast_newton.so
├── libcasadi_rootfinder_kinsol.so
├── libcasadi_rootfinder_newton.so
├── libcasadi_rootfinder_nlpsol.so
├── libcasadi_sundials_common.so
├── libcasadi_xmlfile_tinyxml.so
├── libgfortran-ed201abd.so.3.0.0
├── libosqp.a
├── libosqp.so
├── libqdldl.a
├── libqdldl.so
├── pkgconfig
│ └── casadi.pc
└── tools
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-38.pyc
│ ├── bounds.cpython-38.pyc
│ ├── in_out.cpython-38.pyc
│ └── structure3.cpython-38.pyc
├── bounds.py
├── graph
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── graph.cpython-38.pyc
│ └── graph.py
├── in_out.py
├── structure.py
└── structure3.py |
setup.py
Outdated
ext_modules=[ | ||
CMakeExtension(name='InstallAllTargets', | ||
install_prefix="bipedal_locomotion_framework", | ||
cmake_depends_on=["idyntree", "pybind11"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should check if the wheel tree of casadi is usable for us (i.e. C++11 ABI and all the components we need). Then, we can add casadi
to the cmake_depends_on
option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems fine, even though the vendored osqp included in the casadi wheel has malformed CMake import files (they reference the Travis CI setup). This is not a big deal since in any case for blf we install osqp from sources in the debian container in CI. The only caveat is that we have to specify in setup.py
the osqp_DIR
to load the system osqp otherwise by default the casadi osqp is detected by CMake.
I reserved the |
The need of having |
794e6a4
to
a249b06
Compare
7524f82
to
0c55552
Compare
Updates:
Let's keep pypa/manylinux#1012 monitored since it might provide a fix to the compilation issues. Clang 7 error
|
6904bed
to
fae93ec
Compare
Building against yarp 3.5.0 downloaded from PyPI fails with the following error:
|
This PR needs a new 3.5.1 YARP release before being merged. @S-Dafarra @GiulioRomualdi regardless, it is ready for review. |
40ba000
to
d70f529
Compare
The updated status is the following. The CI pipeline is able to build the blf Python package from the sdist, but running the tests fails because the official CasADi wheel does not offer static targets. Therefore, the blf wheel fails to find its runtime library. The usual workaround is either requiring to find casadi already installed in the system, or complete the pipeline with CD to PyPI that vendors inside the wheel with auditwheel the necessary runtime dependencies. For the time being, I think that the first requirement is easier. Therefore, the updated list of build / runtime deps is:
|
8d9eab1
to
bb31b53
Compare
bb31b53
to
28640a6
Compare
Quick update after a while. Manylinux 2.24 has been dropped due to EOL (and due to the many problems with old compilers). Now it's prefereable moving towards 2.28, that would likely solve the stale status I've reached 1.5y ago. Further infos here: |
Hi @diegoferigo are you planning to work on this? If no I can close it and you can reopen it again in case you need it |
I don't plan to work on this in the short term, so you can close it for the time being. If anyone is interested in finalizing PyPI support, we did a first attempt to use manylinux 2.28 in robotology/idyntree#1068. |
This PR enables building and installing the
bipedal_locomotion_framework
Python package with the following command:Before merging, you can try using this PR with the following command:
Blocked by:
Official release ofUsing the git url works.manifpy
to PyPIDiscussion on which blf components should be enabled by defaultEnough to run pytest.Comments:
sdist
is relatively straightforward since it requires the users to manually install all the dependencies in their system beforehand, there's a long way before the wheels (binaries) ofbipedal_locomotion_framework
can land into PyPI, especially if we want to comply with PEP600.diegoferigo/cmake-build-extension
that greatly simplifies the integration of setuptools with CMake. It is already used by other projects in our ecosystem likerobotology/idyntree
androbotology/gym-ignition
.cmake-build-extension
has the advantage of including the exported CMake project in the wheel, so that in the future it could be distributed through PyPI and consumed by downstream projects.cmake-build-extension
supports PEP517 and PEP518 (more info here).pypa/setuptools_scm
that automatically detects the version from the git repository and allows having official releases that correspond to git tags, and pre-releases that correspond to merged commits.ABI
Tree
bash