openscvx 0.5.2.dev2__tar.gz → 2.dev1__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.2.dev2 → openscvx-2.dev1}/.github/workflows/_docs.yml +11 -3
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.gitignore +4 -2
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/CONTRIBUTING.md +7 -2
- {openscvx-0.5.2.dev2/openscvx.egg-info → openscvx-2.dev1}/PKG-INFO +10 -16
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/README.md +7 -7
- openscvx-2.dev1/docs/assets/viser-client/index.html +20 -0
- openscvx-2.dev1/docs/assets/viser-recordings/drone_racing.viser +0 -0
- openscvx-2.dev1/docs/assets/viser-recordings/franka_fr3v2_pick_place.viser +0 -0
- openscvx-2.dev1/docs/index.md +38 -0
- openscvx-2.dev1/docs/versions.json +7 -0
- openscvx-2.dev1/examples/_viser_embed_export.py +174 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/arm/franka_fr3v2_pick_place.py +107 -82
- openscvx-2.dev1/figures/openscvx_logo_square.png +0 -0
- openscvx-2.dev1/material/overrides/assets/stylesheets/custom.css +465 -0
- openscvx-2.dev1/material/overrides/assets/stylesheets/home-dropin.css +231 -0
- openscvx-2.dev1/material/overrides/assets/stylesheets/home-hero.css +930 -0
- openscvx-2.dev1/material/overrides/assets/stylesheets/home-viser.css +138 -0
- openscvx-2.dev1/material/overrides/home.html +21 -0
- openscvx-2.dev1/material/overrides/main.html +11 -0
- openscvx-2.dev1/material/overrides/partials/home-diagram.html +71 -0
- openscvx-2.dev1/material/overrides/partials/home-dropin-banner.html +41 -0
- openscvx-2.dev1/material/overrides/partials/home-hero.html +25 -0
- openscvx-2.dev1/material/overrides/partials/home-pipeline.html +90 -0
- openscvx-2.dev1/material/overrides/partials/home-viser-strip.html +72 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/mkdocs.yml +18 -9
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/_version.py +3 -3
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/server.py +2 -2
- {openscvx-0.5.2.dev2 → openscvx-2.dev1/openscvx.egg-info}/PKG-INFO +10 -16
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx.egg-info/SOURCES.txt +15 -36
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx.egg-info/requires.txt +0 -7
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/pyproject.toml +2 -9
- openscvx-2.dev1/scripts/gen_example_pages.py +239 -0
- openscvx-2.dev1/scripts/gen_ref_pages.py +187 -0
- openscvx-2.dev1/scripts/mkdocs_copy_viser_client_hook.py +52 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_examples.py +1 -1
- openscvx-0.5.2.dev2/docs/getting-started.md +0 -239
- openscvx-0.5.2.dev2/docs/index.md +0 -9
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/1-background.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/1-background@1x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/1-background@2x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/1-background@3x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/1-background@4x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/2-mars.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/2-mars@1x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/2-mars@2x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/2-mars@3x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/2-mars@4x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/3-moon.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/3-moon@1x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/3-moon@2x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/3-moon@3x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/3-moon@4x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/4-sat1.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/4-sat1@1x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/4-sat1@2x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/4-sat1@3x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/4-sat1@4x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/5-space.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/5-space@1x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/5-space@2x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/5-space@3x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/5-space@4x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/6-earth.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/6-earth@1x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/6-earth@2x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/6-earth@3x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/images/layers/6-earth@4x.avif +0 -0
- openscvx-0.5.2.dev2/material/overrides/assets/javascripts/parallax.js +0 -54
- openscvx-0.5.2.dev2/material/overrides/assets/logo.svg +0 -1
- openscvx-0.5.2.dev2/material/overrides/assets/stylesheets/custom.css +0 -135
- openscvx-0.5.2.dev2/material/overrides/assets/stylesheets/parallax.css +0 -216
- openscvx-0.5.2.dev2/material/overrides/home.html +0 -26
- openscvx-0.5.2.dev2/material/overrides/main.html +0 -8
- openscvx-0.5.2.dev2/material/overrides/partials/parallax/hero.html +0 -46
- openscvx-0.5.2.dev2/material/overrides/partials/parallax.html +0 -7
- openscvx-0.5.2.dev2/scripts/gen_example_pages.py +0 -103
- openscvx-0.5.2.dev2/scripts/gen_ref_pages.py +0 -41
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/assets/logo.svg +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/release-drafter.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/branch-name.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/docs.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/lint.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/nightly.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/release-drafter.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/release.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/tests-integration.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.github/workflows/tests-unit.yml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/.gitmodules +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/LICENSE +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/Foundations/constraint_reformulation.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/Foundations/control_parameterization.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/Foundations/discretization.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/Foundations/ocp.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/Foundations/scvx.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/Foundations/time_dilation.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UnderTheHood/lowering_architecture.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UnderTheHood/vectorization_and_vmapping.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/00_introduction.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/01_hello_world_brachistochrone.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/02_drone_racing_constraints.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/03_obstacle_avoidance_vmap.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/04_viewpoint_constraints.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/05_visualization.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/06_logic.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/07_lie.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/UsersGuide/08_mpcc.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/favicon.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/images/ct-scvx_dark.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/images/ct-scvx_light.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/images/ctcs_dark.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/images/ctcs_light.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/images/problem_class_dark.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/images/problem_class_light.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/assets/logo.svg +0 -0
- {openscvx-0.5.2.dev2/figures → openscvx-2.dev1/docs/assets}/openscvx_logo_square.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/citation.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/examples.md +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/docs/javascripts/mathjax.js +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/abstract/brachistochrone.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/abstract/impulsive.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/abstract/stl_integer_variable.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/abstract/stl_or.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/7_dof_arm.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/_camera.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/_render.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/_sensor_view.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/dr_vp_polytope.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/franka_fr3v2_pick_place.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/logo.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/animations/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/arm/3_dof_arm.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/arm/7_dof_arm.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/arm/7_dof_arm_collision.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/arm/7_dof_arm_vp.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/arm/franka_fr3v2_viewplanning.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/car/dubins_car.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/car/dubins_car_disjoint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/car/dubins_car_obstacle_conditional.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/car/dubins_car_obstacle_stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/car/dubins_car_stl_or.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/car/dubins_car_waypoint_stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/cinema_vp.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/dr_double_integrator.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/dr_vp.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/dr_vp_nodal.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/dr_vp_polytope.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/drone_racing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/logo.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/logo_utils/acl_logo.svg +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/logo_utils/svg_path_utils.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/obstacle_avoidance.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/obstacle_avoidance_nodal.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/drone/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mjx/cartpole_mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mjx/double_cartpole_mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mjx/skydio_x2_mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mjx/triple_cartpole_3d_mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mjx/triple_cartpole_game.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mjx/triple_cartpole_mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mpc/double_integrator_discrete.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mpc/double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mpc/dubins_car_circle_analytical.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mpc/dubins_car_circle_discrete.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/mpc/realtime_double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/plotting.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/plotting_viser.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/3DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/6DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/base_problems/3DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/base_problems/6DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/base_problems/cinema_vp_realtime_base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/base_problems/drone_racing_realtime_base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/base_problems/dubins_car_realtime_base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/base_problems/obstacle_avoidance_realtime_base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/cinema_vp_realtime.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/drone_racing_realtime.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/dubins_car_realtime.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/realtime/obstacle_avoidance_realtime.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/rocket/3DoF_pdg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/rocket/6DoF_pdg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/spacecraft/halo_orbit.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/spacecraft/hohmann_transfer.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/examples/spacecraft/proxops_cw.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/ctlos_cine.gif +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/ctlos_dr.gif +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/dtlos_cine.gif +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/dtlos_dr.gif +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/openscvx_logo.svg +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/oscvx_structure_full_dark.svg +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/figures/video_preview.png +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/material/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/__main__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/augmented_lagrangian.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/constant_proximal_weight.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/optimization_results.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/penalized_trust_region.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/ramp_proximal_weight.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/algorithms/weights.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/config.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/discretize_linearize.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/linearize_discretize.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/linearize_discretize_sparse.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/sparse_utils/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/sparse_utils/bcoo_helpers.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/discretization/sparse_utils/sparse_jacobian.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/expert/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/expert/byof.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/expert/lowering.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/expert/validation.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/init/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/init/interpolation.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/init/inverse_kinematics.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/integrations/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/integrations/menagerie.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/integrations/mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/integrators/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/integrators/diffrax.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/integrators/runge_kutta.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/loader.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/cvxpy_constraints.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/cvxpy_variables.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/dynamics.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/jax_constraints.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/parameters.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/problem.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/lowered/unified.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/plotting.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/scp_iteration.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/animated.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/orbits.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/plotly_integration.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/primitives.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/plotting/viser/scp.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/problem.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/propagation/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/propagation/post_processing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/propagation/propagation.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/solvers/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/solvers/base.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/solvers/ptr_solver.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/augmentation.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/builder.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/constraint_set.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/arithmetic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/array.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/constraint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/control.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/expr.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/lie/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/lie/adjoint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/lie/se3.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/lie/so3.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/linalg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/logic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/math.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/parameter.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/spatial.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/state.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/stljax.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/time.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/variable.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/expr/vmap.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/hashing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lower.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/_lowerer.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/_registry.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/arithmetic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/array.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/constraint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/control.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/expr.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/linalg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/logic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/math.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/cvxpy/state.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/_lowerer.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/_registry.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/arithmetic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/array.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/constraint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/control.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/expr.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/lie.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/linalg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/logic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/math.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/spatial.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/state.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/stljax.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/lowerers/jax/vmap.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/_registry.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/array.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/constraint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/lie.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/linalg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/logic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/math.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/parser.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/spatial.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/stljax.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/parser/tokenizer.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/preprocessing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/problem.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/sparsity.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/symbolic/unified.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/utils/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/utils/cache.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/utils/caching.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/utils/printing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/utils/profiling.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx/utils/utils.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx.egg-info/dependency_links.txt +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx.egg-info/entry_points.txt +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/openscvx.egg-info/top_level.txt +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/setup.cfg +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/brachistochrone_analytical.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/expr/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/expr/test_gmsr.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/fixtures/brachistochrone.json +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/fixtures/brachistochrone.yaml +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/hohmann_analytical.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/integrations/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/integrations/test_mjx.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_arithmetic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_array.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_constraint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_expr.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_lie.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_linalg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_logic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_math.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_node_reference.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_parameters.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_scaling.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_spatial.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_variable.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/expr/test_vmap.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_array.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_constraint.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_lie.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_linalg.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_load.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_logic.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_math.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_parser.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_spatial.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_stl.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_tokenizer.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/parser/test_vmap.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_augmentation.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_hashing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_lower_cvxpy.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_lower_jax.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_preprocessing.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_sparsity.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/symbolic/test_unified.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_autotuning.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_brachistochrone.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_cvxpygen_optional.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_discretization.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_expert.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_impulsive.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_init.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_integrators.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_loader.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_optimization_results.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/tests/test_plotting.py +0 -0
- {openscvx-0.5.2.dev2 → openscvx-2.dev1}/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
|
|
|
@@ -209,7 +209,9 @@ check_lint.py
|
|
|
209
209
|
MUJOCO_LOG.TXT
|
|
210
210
|
|
|
211
211
|
# MkDocs Material Insiders (installed from GitHub in CI, not committed)
|
|
212
|
-
material/
|
|
213
|
-
#
|
|
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/*
|
|
214
215
|
!material/overrides/
|
|
216
|
+
!material/overrides/**
|
|
215
217
|
src/
|
|
@@ -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:
|
|
3
|
+
Version: 2.dev1
|
|
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"
|
|
@@ -156,11 +150,11 @@ uv pip install openscvx
|
|
|
156
150
|
```
|
|
157
151
|
|
|
158
152
|
> [!TIP]
|
|
159
|
-
> **Optional
|
|
153
|
+
> **Optional dependencies**
|
|
160
154
|
>
|
|
161
|
-
> For
|
|
155
|
+
> For CVXPYGen code generation:
|
|
162
156
|
> ```bash
|
|
163
|
-
> pip install openscvx[
|
|
157
|
+
> pip install openscvx[cvxpygen]
|
|
164
158
|
> ```
|
|
165
159
|
|
|
166
160
|
> [!TIP]
|
|
@@ -210,13 +204,13 @@ uv pip install -e .
|
|
|
210
204
|
> git submodule update --init third_party/mujoco_menagerie
|
|
211
205
|
> ```
|
|
212
206
|
|
|
213
|
-
##
|
|
207
|
+
## Documentation
|
|
214
208
|
|
|
215
|
-
Check out the OpenSCvx documentation
|
|
209
|
+
Check out the OpenSCvx documentation:
|
|
216
210
|
|
|
217
|
-
- [Getting Started Docs](https://openscvx.github.io/OpenSCvx/latest/getting-started/)
|
|
218
211
|
- [Users Guide](https://openscvx.github.io/OpenSCvx/latest/UsersGuide/00_introduction/)
|
|
219
|
-
- [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/)
|
|
220
214
|
|
|
221
215
|
### Running the Examples
|
|
222
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]
|
|
@@ -161,13 +161,13 @@ uv pip install -e .
|
|
|
161
161
|
> git submodule update --init third_party/mujoco_menagerie
|
|
162
162
|
> ```
|
|
163
163
|
|
|
164
|
-
##
|
|
164
|
+
## Documentation
|
|
165
165
|
|
|
166
|
-
Check out the OpenSCvx documentation
|
|
166
|
+
Check out the OpenSCvx documentation:
|
|
167
167
|
|
|
168
|
-
- [Getting Started Docs](https://openscvx.github.io/OpenSCvx/latest/getting-started/)
|
|
169
168
|
- [Users Guide](https://openscvx.github.io/OpenSCvx/latest/UsersGuide/00_introduction/)
|
|
170
|
-
- [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/)
|
|
171
171
|
|
|
172
172
|
### Running the Examples
|
|
173
173
|
|