openscvx 0.5.1.dev2__tar.gz → 0.5.2__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.
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/_docs.yml +11 -3
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.gitignore +13 -2
- openscvx-0.5.2/.gitmodules +3 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/CONTRIBUTING.md +7 -2
- {openscvx-0.5.1.dev2/openscvx.egg-info → openscvx-0.5.2}/PKG-INFO +28 -16
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/README.md +22 -7
- openscvx-0.5.2/docs/assets/viser-client/index.html +20 -0
- openscvx-0.5.2/docs/assets/viser-recordings/drone_racing.viser +0 -0
- openscvx-0.5.2/docs/assets/viser-recordings/franka_fr3v2_pick_place.viser +0 -0
- openscvx-0.5.2/docs/index.md +38 -0
- openscvx-0.5.2/docs/versions.json +7 -0
- openscvx-0.5.2/examples/_viser_embed_export.py +174 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/abstract/brachistochrone.py +13 -4
- openscvx-0.5.2/examples/abstract/hypersensitive.py +121 -0
- openscvx-0.5.2/examples/animations/franka_fr3v2_pick_place.py +289 -0
- openscvx-0.5.2/examples/arm/franka_fr3v2_pick_place.py +912 -0
- openscvx-0.5.2/examples/arm/franka_fr3v2_viewplanning.py +541 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/car/dubins_car_waypoint_stl.py +11 -2
- openscvx-0.5.2/examples/mjx/cartpole_mjx.py +281 -0
- openscvx-0.5.2/examples/mjx/double_cartpole_mjx.py +682 -0
- openscvx-0.5.2/examples/mjx/skydio_x2_mjx.py +280 -0
- openscvx-0.5.2/examples/mjx/triple_cartpole_3d_mjx.py +620 -0
- openscvx-0.5.2/examples/mjx/triple_cartpole_game.py +1046 -0
- openscvx-0.5.2/examples/mjx/triple_cartpole_mjx.py +488 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/plotting_viser.py +32 -6
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/rocket/6DoF_pdg.py +58 -46
- openscvx-0.5.2/examples/spacecraft/let_transfer.py +1131 -0
- openscvx-0.5.2/figures/openscvx_logo_square.png +0 -0
- openscvx-0.5.2/material/overrides/assets/stylesheets/custom.css +465 -0
- openscvx-0.5.2/material/overrides/assets/stylesheets/home-dropin.css +231 -0
- openscvx-0.5.2/material/overrides/assets/stylesheets/home-hero.css +930 -0
- openscvx-0.5.2/material/overrides/assets/stylesheets/home-viser.css +138 -0
- openscvx-0.5.2/material/overrides/home.html +21 -0
- openscvx-0.5.2/material/overrides/main.html +11 -0
- openscvx-0.5.2/material/overrides/partials/home-diagram.html +71 -0
- openscvx-0.5.2/material/overrides/partials/home-dropin-banner.html +41 -0
- openscvx-0.5.2/material/overrides/partials/home-hero.html +25 -0
- openscvx-0.5.2/material/overrides/partials/home-pipeline.html +90 -0
- openscvx-0.5.2/material/overrides/partials/home-viser-strip.html +72 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/mkdocs.yml +18 -9
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/_version.py +3 -3
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/penalized_trust_region.py +32 -3
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/base.py +11 -1
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/discretize_linearize.py +0 -4
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/expert/validation.py +34 -9
- openscvx-0.5.2/openscvx/integrations/__init__.py +62 -0
- openscvx-0.5.2/openscvx/integrations/menagerie.py +198 -0
- openscvx-0.5.2/openscvx/integrations/mjx.py +323 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/__init__.py +1 -1
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/server.py +2 -2
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/hashing.py +16 -3
- {openscvx-0.5.1.dev2 → openscvx-0.5.2/openscvx.egg-info}/PKG-INFO +28 -16
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx.egg-info/SOURCES.txt +32 -36
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx.egg-info/requires.txt +4 -7
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/pyproject.toml +7 -9
- openscvx-0.5.2/scripts/gen_example_pages.py +239 -0
- openscvx-0.5.2/scripts/gen_ref_pages.py +187 -0
- openscvx-0.5.2/scripts/mkdocs_copy_viser_client_hook.py +52 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/expr/test_gmsr.py +30 -20
- openscvx-0.5.2/tests/integrations/test_mjx.py +366 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_stl.py +1 -1
- openscvx-0.5.2/tests/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_brachistochrone.py +5 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_discretization.py +10 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_examples.py +22 -1
- openscvx-0.5.1.dev2/docs/getting-started.md +0 -239
- openscvx-0.5.1.dev2/docs/index.md +0 -9
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/1-background.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/1-background@1x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/1-background@2x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/1-background@3x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/1-background@4x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/2-mars.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/2-mars@1x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/2-mars@2x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/2-mars@3x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/2-mars@4x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/3-moon.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/3-moon@1x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/3-moon@2x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/3-moon@3x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/3-moon@4x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/4-sat1.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/4-sat1@1x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/4-sat1@2x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/4-sat1@3x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/4-sat1@4x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/5-space.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/5-space@1x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/5-space@2x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/5-space@3x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/5-space@4x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/6-earth.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/6-earth@1x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/6-earth@2x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/6-earth@3x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/images/layers/6-earth@4x.avif +0 -0
- openscvx-0.5.1.dev2/material/overrides/assets/javascripts/parallax.js +0 -54
- openscvx-0.5.1.dev2/material/overrides/assets/logo.svg +0 -1
- openscvx-0.5.1.dev2/material/overrides/assets/stylesheets/custom.css +0 -135
- openscvx-0.5.1.dev2/material/overrides/assets/stylesheets/parallax.css +0 -216
- openscvx-0.5.1.dev2/material/overrides/home.html +0 -26
- openscvx-0.5.1.dev2/material/overrides/main.html +0 -8
- openscvx-0.5.1.dev2/material/overrides/partials/parallax/hero.html +0 -46
- openscvx-0.5.1.dev2/material/overrides/partials/parallax.html +0 -7
- openscvx-0.5.1.dev2/scripts/gen_example_pages.py +0 -103
- openscvx-0.5.1.dev2/scripts/gen_ref_pages.py +0 -41
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/assets/logo.svg +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/release-drafter.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/branch-name.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/docs.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/lint.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/nightly.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/release-drafter.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/release.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/tests-integration.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/.github/workflows/tests-unit.yml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/LICENSE +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/Foundations/constraint_reformulation.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/Foundations/control_parameterization.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/Foundations/discretization.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/Foundations/ocp.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/Foundations/scvx.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/Foundations/time_dilation.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UnderTheHood/lowering_architecture.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UnderTheHood/vectorization_and_vmapping.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/00_introduction.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/01_hello_world_brachistochrone.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/02_drone_racing_constraints.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/03_obstacle_avoidance_vmap.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/04_viewpoint_constraints.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/05_visualization.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/06_logic.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/07_lie.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/UsersGuide/08_mpcc.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/favicon.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/images/ct-scvx_dark.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/images/ct-scvx_light.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/images/ctcs_dark.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/images/ctcs_light.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/images/problem_class_dark.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/images/problem_class_light.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/assets/logo.svg +0 -0
- {openscvx-0.5.1.dev2/figures → openscvx-0.5.2/docs/assets}/openscvx_logo_square.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/citation.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/examples.md +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/docs/javascripts/mathjax.js +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/abstract/impulsive.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/abstract/stl_integer_variable.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/abstract/stl_or.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/7_dof_arm.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/_camera.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/_render.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/_sensor_view.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/dr_vp_polytope.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/logo.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/animations/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/arm/3_dof_arm.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/arm/7_dof_arm.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/arm/7_dof_arm_collision.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/arm/7_dof_arm_vp.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/car/dubins_car.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/car/dubins_car_disjoint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/car/dubins_car_obstacle_conditional.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/car/dubins_car_obstacle_stl.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/car/dubins_car_stl_or.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/cinema_vp.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/dr_double_integrator.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/dr_vp.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/dr_vp_nodal.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/dr_vp_polytope.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/drone_racing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/logo.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/logo_utils/acl_logo.svg +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/logo_utils/svg_path_utils.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/obstacle_avoidance.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/obstacle_avoidance_nodal.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/drone/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/mpc/double_integrator_discrete.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/mpc/double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/mpc/dubins_car_circle_analytical.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/mpc/dubins_car_circle_discrete.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/mpc/realtime_double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/plotting.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/3DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/6DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/base_problems/3DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/base_problems/6DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/base_problems/cinema_vp_realtime_base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/base_problems/drone_racing_realtime_base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/base_problems/dubins_car_realtime_base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/base_problems/obstacle_avoidance_realtime_base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/cinema_vp_realtime.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/drone_racing_realtime.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/dubins_car_realtime.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/realtime/obstacle_avoidance_realtime.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/rocket/3DoF_pdg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/spacecraft/halo_orbit.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/spacecraft/hohmann_transfer.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/examples/spacecraft/proxops_cw.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/ctlos_cine.gif +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/ctlos_dr.gif +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/dtlos_cine.gif +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/dtlos_dr.gif +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/openscvx_logo.svg +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/oscvx_structure_full_dark.svg +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/figures/video_preview.png +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/material/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/__main__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/augmented_lagrangian.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/constant_proximal_weight.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/optimization_results.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/ramp_proximal_weight.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/algorithms/weights.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/config.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/linearize_discretize.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/linearize_discretize_sparse.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/sparse_utils/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/sparse_utils/bcoo_helpers.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/discretization/sparse_utils/sparse_jacobian.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/expert/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/expert/byof.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/expert/lowering.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/init/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/init/interpolation.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/init/inverse_kinematics.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/integrators/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/integrators/diffrax.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/integrators/runge_kutta.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/loader.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/cvxpy_constraints.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/cvxpy_variables.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/dynamics.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/jax_constraints.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/parameters.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/problem.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/lowered/unified.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/plotting.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/scp_iteration.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/animated.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/orbits.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/plotly_integration.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/primitives.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/plotting/viser/scp.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/problem.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/propagation/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/propagation/post_processing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/propagation/propagation.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/solvers/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/solvers/base.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/solvers/ptr_solver.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/augmentation.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/builder.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/constraint_set.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/arithmetic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/array.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/constraint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/control.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/expr.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/lie/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/lie/adjoint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/lie/se3.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/lie/so3.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/linalg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/logic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/math.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/parameter.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/spatial.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/state.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/stl.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/stljax.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/time.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/variable.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/expr/vmap.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lower.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/_lowerer.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/_registry.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/arithmetic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/array.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/constraint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/control.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/expr.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/linalg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/logic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/math.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/cvxpy/state.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/_lowerer.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/_registry.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/arithmetic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/array.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/constraint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/control.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/expr.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/lie.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/linalg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/logic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/math.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/spatial.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/state.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/stl.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/stljax.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/lowerers/jax/vmap.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/_registry.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/array.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/constraint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/lie.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/linalg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/logic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/math.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/parser.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/spatial.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/stl.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/stljax.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/parser/tokenizer.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/preprocessing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/problem.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/sparsity.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/symbolic/unified.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/utils/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/utils/cache.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/utils/caching.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/utils/printing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/utils/profiling.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx/utils/utils.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx.egg-info/dependency_links.txt +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx.egg-info/entry_points.txt +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/openscvx.egg-info/top_level.txt +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/setup.cfg +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/brachistochrone_analytical.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/expr/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/fixtures/brachistochrone.json +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/fixtures/brachistochrone.yaml +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/hohmann_analytical.py +0 -0
- {openscvx-0.5.1.dev2/tests/symbolic → openscvx-0.5.2/tests/integrations}/__init__.py +0 -0
- {openscvx-0.5.1.dev2/tests/symbolic/expr → openscvx-0.5.2/tests/symbolic}/__init__.py +0 -0
- {openscvx-0.5.1.dev2/tests/symbolic/parser → openscvx-0.5.2/tests/symbolic/expr}/__init__.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_arithmetic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_array.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_constraint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_expr.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_lie.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_linalg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_logic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_math.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_node_reference.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_parameters.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_scaling.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_spatial.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_variable.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/expr/test_vmap.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_array.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_constraint.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_lie.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_linalg.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_load.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_logic.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_math.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_parser.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_spatial.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_stl.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_tokenizer.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/parser/test_vmap.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_augmentation.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_hashing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_lower_cvxpy.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_lower_jax.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_preprocessing.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_sparsity.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/symbolic/test_unified.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_autotuning.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_cvxpygen_optional.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_expert.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_impulsive.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_init.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_integrators.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_loader.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_optimization_results.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_plotting.py +0 -0
- {openscvx-0.5.1.dev2 → openscvx-0.5.2}/tests/test_propagation.py +0 -0
|
@@ -12,6 +12,11 @@ jobs:
|
|
|
12
12
|
docs:
|
|
13
13
|
name: 📖 Documentation
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
|
+
env:
|
|
16
|
+
# Material stderr banner (MkDocs 2.0 blog); CI uses MkDocs 1.x + --strict.
|
|
17
|
+
NO_MKDOCS_2_WARNING: "true"
|
|
18
|
+
# ProperDocs may emit a follow-up WARNING; keep --strict clean.
|
|
19
|
+
DISABLE_MKDOCS_2_WARNING: "true"
|
|
15
20
|
|
|
16
21
|
steps:
|
|
17
22
|
- name: Checkout repository
|
|
@@ -38,20 +43,23 @@ jobs:
|
|
|
38
43
|
- name: Cache MkDocs build
|
|
39
44
|
uses: actions/cache@v4
|
|
40
45
|
with:
|
|
41
|
-
key: mkdocs-material-${{ hashFiles('mkdocs.yml', 'docs/**') }}
|
|
46
|
+
key: mkdocs-material-${{ hashFiles('mkdocs.yml', 'docs/**', 'material/overrides/**', 'scripts/gen_ref_pages.py', 'scripts/gen_example_pages.py', 'scripts/mkdocs_copy_viser_client_hook.py') }}
|
|
42
47
|
path: .cache
|
|
43
48
|
restore-keys: |
|
|
44
49
|
mkdocs-material-
|
|
45
50
|
|
|
46
51
|
- name: Install system dependencies
|
|
47
|
-
run:
|
|
52
|
+
run: >-
|
|
53
|
+
sudo apt-get update &&
|
|
54
|
+
sudo apt-get install -y pngquant libcairo2-dev libfreetype6-dev libffi-dev
|
|
55
|
+
libjpeg-dev libpng-dev zlib1g-dev
|
|
48
56
|
|
|
49
57
|
# - name: Install MkDocs Material Insiders
|
|
50
58
|
# run: uv pip install --system git+https://${{ secrets.MKDOCS_INSIDERS_TOKEN }}@github.com/squidfunk/mkdocs-material-insiders.git
|
|
51
59
|
|
|
52
60
|
- name: Install documentation tools
|
|
53
61
|
run: |
|
|
54
|
-
uv pip install --system mkdocs-material mkdocstrings-python
|
|
62
|
+
uv pip install --system "mkdocs-material[imaging]" mkdocstrings-python
|
|
55
63
|
uv pip install --system mkdocs-gen-files mkdocs-literate-nav mkdocs-section-index
|
|
56
64
|
uv pip install --system mike
|
|
57
65
|
|
|
@@ -205,8 +205,19 @@ check_lint.py
|
|
|
205
205
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
206
206
|
#.idea/
|
|
207
207
|
|
|
208
|
+
# MuJoCo runtime log
|
|
209
|
+
MUJOCO_LOG.TXT
|
|
210
|
+
|
|
208
211
|
# MkDocs Material Insiders (installed from GitHub in CI, not committed)
|
|
209
|
-
material/
|
|
210
|
-
#
|
|
212
|
+
# Ignore contents of material/ but not material/overrides/ (Git cannot un-ignore
|
|
213
|
+
# paths inside an ignored directory when the rule is material/).
|
|
214
|
+
material/*
|
|
211
215
|
!material/overrides/
|
|
216
|
+
!material/overrides/**
|
|
212
217
|
src/
|
|
218
|
+
|
|
219
|
+
# SPICE kernels for spacecrafts examples
|
|
220
|
+
examples/spacecraft/ker/
|
|
221
|
+
|
|
222
|
+
# Solver_data folder
|
|
223
|
+
solver_data/
|
|
@@ -20,7 +20,6 @@ pip install -e ".[test]"
|
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
For additional features, you can install optional dependencies:
|
|
23
|
-
- `pip install -e ".[gui]"` - GUI visualization tools
|
|
24
23
|
- `pip install -e ".[cvxpygen]"` - Code generation support
|
|
25
24
|
- `pip install -e ".[stl]"` - STL (Signal Temporal Logic) constraints
|
|
26
25
|
|
|
@@ -204,11 +203,17 @@ def solve(self, max_iterations: int = 100) -> OptimizationResult:
|
|
|
204
203
|
To preview documentation locally, first install the dependencies:
|
|
205
204
|
|
|
206
205
|
```bash
|
|
207
|
-
pip install mkdocs-material mkdocstrings-python mkdocs-gen-files mkdocs-literate-nav mkdocs-section-index
|
|
206
|
+
pip install "mkdocs-material[imaging]" mkdocstrings-python mkdocs-gen-files mkdocs-literate-nav mkdocs-section-index
|
|
208
207
|
```
|
|
209
208
|
|
|
209
|
+
The `social` plugin (enabled in `mkdocs.yml`) uses **CairoSVG**, which loads the native **Cairo** library. A `pip`-only `cairosvg` on macOS often cannot find `libcairo` and will spam warnings during `mkdocs build` / `mkdocs serve`. Install Cairo into the same environment (for example `conda install -c conda-forge cairo cairosvg`) or install Cairo via Homebrew so the dynamic linker can resolve it. Uninstalling `cairosvg` does not silence the build: the plugin will warn on every page that imaging dependencies are missing.
|
|
210
|
+
|
|
210
211
|
Then serve the documentation locally:
|
|
211
212
|
|
|
212
213
|
```bash
|
|
213
214
|
mkdocs serve
|
|
214
215
|
```
|
|
216
|
+
|
|
217
|
+
To silence MkDocs 2.0 / ProperDocs notices when building with **`--strict`**, set **`NO_MKDOCS_2_WARNING=true`** (Material’s stderr banner) and, if you use ProperDocs, **`DISABLE_MKDOCS_2_WARNING=true`** for the pip-style WARNING; the documentation workflow sets both for CI.
|
|
218
|
+
|
|
219
|
+
The version dropdown uses Material’s **mike** integration and expects a `versions.json` at the site root. Plain `mkdocs serve` does not run `mike deploy`, so the repo includes a minimal **`docs/versions.json`** (copied into the build) to avoid a 404 in local previews. On **GitHub Pages**, CI replaces the published root with **`mike deploy`**, which writes the real multi-version manifest. To preview multiple versions locally the same way as production, use **`mike serve`** after you have a `gh-pages` branch with deployed versions.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openscvx
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: A general Python-based successive convexification implementation which uses a JAX backend.
|
|
5
5
|
Author-email: Chris Hayner and Griffin Norris <haynec@uw.edu>
|
|
6
6
|
License: Apache Software License
|
|
7
|
-
Project-URL: Homepage, https://openscvx.github.io/
|
|
7
|
+
Project-URL: Homepage, https://openscvx.github.io/OpenSCvx/
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.11
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: cvxpy>=1.8.1
|
|
@@ -23,12 +23,6 @@ Requires-Dist: viser
|
|
|
23
23
|
Requires-Dist: matplotlib
|
|
24
24
|
Requires-Dist: pyyaml
|
|
25
25
|
Requires-Dist: pydantic>=2.0
|
|
26
|
-
Provides-Extra: gui
|
|
27
|
-
Requires-Dist: pyqtgraph; extra == "gui"
|
|
28
|
-
Requires-Dist: PyQt5; extra == "gui"
|
|
29
|
-
Requires-Dist: scipy; extra == "gui"
|
|
30
|
-
Requires-Dist: PyOpenGL; extra == "gui"
|
|
31
|
-
Requires-Dist: PyOpenGL_accelerate; extra == "gui"
|
|
32
26
|
Provides-Extra: cvxpygen
|
|
33
27
|
Requires-Dist: cvxpygen; extra == "cvxpygen"
|
|
34
28
|
Requires-Dist: qocogen; extra == "cvxpygen"
|
|
@@ -36,6 +30,9 @@ Provides-Extra: stl
|
|
|
36
30
|
Requires-Dist: stljax; extra == "stl"
|
|
37
31
|
Provides-Extra: lie
|
|
38
32
|
Requires-Dist: jaxlie; extra == "lie"
|
|
33
|
+
Provides-Extra: mjx
|
|
34
|
+
Requires-Dist: mujoco>=3.0; extra == "mjx"
|
|
35
|
+
Requires-Dist: mujoco-mjx>=3.0; extra == "mjx"
|
|
39
36
|
Provides-Extra: test
|
|
40
37
|
Requires-Dist: pytest; extra == "test"
|
|
41
38
|
Requires-Dist: scipy; extra == "test"
|
|
@@ -153,11 +150,11 @@ uv pip install openscvx
|
|
|
153
150
|
```
|
|
154
151
|
|
|
155
152
|
> [!TIP]
|
|
156
|
-
> **Optional
|
|
153
|
+
> **Optional dependencies**
|
|
157
154
|
>
|
|
158
|
-
> For
|
|
155
|
+
> For CVXPYGen code generation:
|
|
159
156
|
> ```bash
|
|
160
|
-
> pip install openscvx[
|
|
157
|
+
> pip install openscvx[cvxpygen]
|
|
161
158
|
> ```
|
|
162
159
|
|
|
163
160
|
> [!TIP]
|
|
@@ -192,13 +189,28 @@ source .venv/bin/activate
|
|
|
192
189
|
uv pip install -e .
|
|
193
190
|
```
|
|
194
191
|
|
|
195
|
-
|
|
192
|
+
> [!NOTE]
|
|
193
|
+
> **MuJoCo Menagerie (optional submodule)**
|
|
194
|
+
>
|
|
195
|
+
> Core OpenSCvx installs fine from a plain clone—you do **not** need the submodule unless you want bundled [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie) assets. To fetch it in one step, clone with `--recurse-submodules`, or add it later to `third_party/mujoco_menagerie` so `openscvx.integrations.menagerie` can load those MuJoCo XML/models/meshes without a separate checkout:
|
|
196
|
+
>
|
|
197
|
+
> ```bash
|
|
198
|
+
> git clone --recurse-submodules https://github.com/OpenSCvx/OpenSCvx.git
|
|
199
|
+
> ```
|
|
200
|
+
>
|
|
201
|
+
> After a clone without submodules, initialize Menagerie whenever you need it:
|
|
202
|
+
>
|
|
203
|
+
> ```bash
|
|
204
|
+
> git submodule update --init third_party/mujoco_menagerie
|
|
205
|
+
> ```
|
|
206
|
+
|
|
207
|
+
## Documentation
|
|
196
208
|
|
|
197
|
-
Check out the OpenSCvx documentation
|
|
209
|
+
Check out the OpenSCvx documentation:
|
|
198
210
|
|
|
199
|
-
- [Getting Started Docs](https://openscvx.github.io/OpenSCvx/latest/getting-started/)
|
|
200
211
|
- [Users Guide](https://openscvx.github.io/OpenSCvx/latest/UsersGuide/00_introduction/)
|
|
201
|
-
- [API Reference](https://openscvx.github.io/OpenSCvx/latest/Reference/
|
|
212
|
+
- [API Reference](https://openscvx.github.io/OpenSCvx/latest/Reference/)
|
|
213
|
+
- [Examples overview](https://openscvx.github.io/OpenSCvx/latest/examples/)
|
|
202
214
|
|
|
203
215
|
### Running the Examples
|
|
204
216
|
|
|
@@ -107,11 +107,11 @@ uv pip install openscvx
|
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
> [!TIP]
|
|
110
|
-
> **Optional
|
|
110
|
+
> **Optional dependencies**
|
|
111
111
|
>
|
|
112
|
-
> For
|
|
112
|
+
> For CVXPYGen code generation:
|
|
113
113
|
> ```bash
|
|
114
|
-
> pip install openscvx[
|
|
114
|
+
> pip install openscvx[cvxpygen]
|
|
115
115
|
> ```
|
|
116
116
|
|
|
117
117
|
> [!TIP]
|
|
@@ -146,13 +146,28 @@ source .venv/bin/activate
|
|
|
146
146
|
uv pip install -e .
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
> [!NOTE]
|
|
150
|
+
> **MuJoCo Menagerie (optional submodule)**
|
|
151
|
+
>
|
|
152
|
+
> Core OpenSCvx installs fine from a plain clone—you do **not** need the submodule unless you want bundled [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie) assets. To fetch it in one step, clone with `--recurse-submodules`, or add it later to `third_party/mujoco_menagerie` so `openscvx.integrations.menagerie` can load those MuJoCo XML/models/meshes without a separate checkout:
|
|
153
|
+
>
|
|
154
|
+
> ```bash
|
|
155
|
+
> git clone --recurse-submodules https://github.com/OpenSCvx/OpenSCvx.git
|
|
156
|
+
> ```
|
|
157
|
+
>
|
|
158
|
+
> After a clone without submodules, initialize Menagerie whenever you need it:
|
|
159
|
+
>
|
|
160
|
+
> ```bash
|
|
161
|
+
> git submodule update --init third_party/mujoco_menagerie
|
|
162
|
+
> ```
|
|
163
|
+
|
|
164
|
+
## Documentation
|
|
150
165
|
|
|
151
|
-
Check out the OpenSCvx documentation
|
|
166
|
+
Check out the OpenSCvx documentation:
|
|
152
167
|
|
|
153
|
-
- [Getting Started Docs](https://openscvx.github.io/OpenSCvx/latest/getting-started/)
|
|
154
168
|
- [Users Guide](https://openscvx.github.io/OpenSCvx/latest/UsersGuide/00_introduction/)
|
|
155
|
-
- [API Reference](https://openscvx.github.io/OpenSCvx/latest/Reference/
|
|
169
|
+
- [API Reference](https://openscvx.github.io/OpenSCvx/latest/Reference/)
|
|
170
|
+
- [Examples overview](https://openscvx.github.io/OpenSCvx/latest/examples/)
|
|
156
171
|
|
|
157
172
|
### Running the Examples
|
|
158
173
|
|