From 13f19b27a920b07053d4d271e0c802eed4561189 Mon Sep 17 00:00:00 2001 From: Pantelis Sopasakis Date: Sat, 28 Mar 2026 12:35:55 +0000 Subject: [PATCH 1/6] cleanup folder structure - fewer folders at / - remove appveyor.yml --- .github/dependabot.yml | 2 +- .github/workflows/ci.yml | 14 +- .github/workflows/clippy.yml | 13 +- .github/workflows/rustfmt.yml | 13 +- appveyor.yml | 74 - docs/{ => content}/algorithm.md | 0 docs/{ => content}/cite_open.md | 0 docs/{ => content}/contributing.mdx | 28 +- docs/{ => content}/docker.md | 0 docs/{ => content}/example-nav.md | 0 docs/{ => content}/example-nmpc.md | 0 docs/{ => content}/example_bnp_py.md | 0 docs/{ => content}/example_estimation_py.md | 0 docs/{ => content}/example_invpend_py.md | 0 docs/{ => content}/example_navigation_py.mdx | 0 .../example_navigation_ros_codegen.md | 0 docs/{ => content}/example_rosenbrock_py.mdx | 0 docs/{ => content}/example_tanks_py.md | 0 docs/{ => content}/faq.md | 0 docs/{ => content}/installation.md | 14 +- docs/{ => content}/matlab-examples.md | 0 docs/{ => content}/matlab-interface.md | 0 docs/{ => content}/open-intro.md | 0 docs/{ => content}/openrust-alm.md | 4 +- docs/{ => content}/openrust-arithmetic.mdx | 0 docs/{ => content}/openrust-basic.md | 6 +- docs/{ => content}/openrust-features.mdx | 0 docs/{ => content}/python-advanced.mdx | 2 +- docs/{ => content}/python-bindings.md | 0 docs/{ => content}/python-c.mdx | 0 docs/{ => content}/python-examples.md | 0 docs/{ => content}/python-interface.md | 0 docs/{ => content}/python-ocp-1.mdx | 0 docs/{ => content}/python-ocp-2.md | 0 docs/{ => content}/python-ocp-3.md | 0 docs/{ => content}/python-ocp-4.md | 0 docs/{ => content}/python-ros.md | 0 docs/{ => content}/python-ros2.mdx | 0 docs/{ => content}/python-tcp-ip.md | 0 docs/{ => content}/udp-sockets.md | 0 docs/sphinx/Makefile | 20 + docs/sphinx/make.bat | 35 + docs/sphinx/source/conf.py | 44 + docs/sphinx/source/index.rst | 27 + docs/website/README.md | 59 + docs/website/blog/2019-02-28-new-version.md | 20 + docs/website/blog/2019-03-01-blog.md | 10 + docs/website/blog/2019-03-02-superscs.md | 12 + docs/website/blog/2019-03-03-risk-averse.md | 10 + .../blog/2019-03-05-matlab-raspberry.md | 83 + docs/website/blog/2019-03-05-udp-sockets.md | 10 + docs/website/blog/2019-03-06-talk-to-us.md | 21 + .../blog/2019-03-15-pure-rust-optimization.md | 12 + docs/website/blog/2019-03-19-rust-robotics.md | 17 + .../blog/2019-03-21-fast-udp-connection.md | 13 + docs/website/blog/2022-07-30-blog.md | 12 + .../blog/2026-03-21-python-ocp-module.md | 34 + docs/website/docusaurus.config.js | 176 ++ docs/website/package.json | 19 + docs/website/publish.sh | 5 + docs/website/sidebars.js | 43 + docs/website/src/css/custom.css | 787 ++++++ docs/website/src/pages/help.js | 50 + docs/website/src/pages/index.js | 483 ++++ docs/website/src/pages/users.js | 47 + .../src/theme/prism-include-languages.js | 38 + docs/website/static/css/codeblock.css | 39 + docs/website/static/css/custom.css | 383 +++ docs/website/static/img/115ba54c2ad0.gif | Bin 0 -> 1368131 bytes docs/website/static/img/6f6ea4f8d194.gif | Bin 0 -> 7526601 bytes docs/website/static/img/about-open.png | Bin 0 -> 66162 bytes docs/website/static/img/bnp.png | Bin 0 -> 17752 bytes docs/website/static/img/bnp_1.png | Bin 0 -> 41115 bytes docs/website/static/img/bnp_2.png | Bin 0 -> 18190 bytes docs/website/static/img/bnp_3.png | Bin 0 -> 42929 bytes docs/website/static/img/bnp_4.png | Bin 0 -> 20773 bytes docs/website/static/img/bnp_5.png | Bin 0 -> 39491 bytes docs/website/static/img/bnp_6.png | Bin 0 -> 18613 bytes docs/website/static/img/box.png | Bin 0 -> 23829 bytes docs/website/static/img/bullseye.svg | 67 + docs/website/static/img/cart_schematic.jpg | Bin 0 -> 37496 bytes docs/website/static/img/chat.jpeg | Bin 0 -> 8837 bytes docs/website/static/img/docker.gif | Bin 0 -> 1594890 bytes docs/website/static/img/e8f236af8d38.gif | Bin 0 -> 2382005 bytes docs/website/static/img/edge_intelligence.png | Bin 0 -> 13402 bytes docs/website/static/img/examples_almpm.jpg | Bin 0 -> 23355 bytes docs/website/static/img/examples_bnp_nmpc.jpg | Bin 0 -> 21244 bytes .../img/examples_estimation_chaotic.jpg | Bin 0 -> 23774 bytes docs/website/static/img/examples_invpend.jpg | Bin 0 -> 22004 bytes .../img/examples_navigation_gvehicle.jpg | Bin 0 -> 21465 bytes .../static/img/examples_rosenbrock.jpg | Bin 0 -> 19979 bytes docs/website/static/img/examples_tanks.jpg | Bin 0 -> 23532 bytes .../img/external-link-square-alt-solid.svg | 1 + .../static/img/f1-10-main-car_orig.png | Bin 0 -> 168414 bytes docs/website/static/img/favicon.png | Bin 0 -> 4489 bytes docs/website/static/img/fbe.png | Bin 0 -> 50095 bytes docs/website/static/img/happy.png | Bin 0 -> 90555 bytes docs/website/static/img/hsk.png | Bin 0 -> 58372 bytes docs/website/static/img/husky.jpg | Bin 0 -> 58682 bytes docs/website/static/img/husky_video.mp4 | Bin 0 -> 1026602 bytes docs/website/static/img/i_tanks.png | Bin 0 -> 8620 bytes docs/website/static/img/invpend_1.png | Bin 0 -> 34218 bytes docs/website/static/img/invpend_2.png | Bin 0 -> 17995 bytes docs/website/static/img/lv-oc-sol-2.jpg | Bin 0 -> 100416 bytes docs/website/static/img/lv-oc-sol.jpg | Bin 0 -> 102084 bytes docs/website/static/img/matlab_logo.png | Bin 0 -> 22952 bytes docs/website/static/img/mav.png | Bin 0 -> 61536 bytes docs/website/static/img/mhe.png | Bin 0 -> 93069 bytes docs/website/static/img/microchip.svg | 67 + docs/website/static/img/mpc56.png | Bin 0 -> 100359 bytes docs/website/static/img/nav-oc-sol-refs.jpg | Bin 0 -> 112738 bytes docs/website/static/img/nav-oc-sol-theta.jpg | Bin 0 -> 94616 bytes .../website/static/img/nav-oc-sol-xy-obst.jpg | Bin 0 -> 97203 bytes docs/website/static/img/nav-oc-sol-xy.jpg | Bin 0 -> 97724 bytes docs/website/static/img/nav-oc-sol-xyt.jpg | Bin 0 -> 101707 bytes ...tructed_navigation_trajectories_python.png | Bin 0 -> 23359 bytes docs/website/static/img/ocp-inputs.png | Bin 0 -> 28520 bytes docs/website/static/img/ocp-states.png | Bin 0 -> 41435 bytes .../website/static/img/open-functionality.jpg | Bin 0 -> 31713 bytes docs/website/static/img/open-promo.gif | Bin 0 -> 461227 bytes docs/website/static/img/open.png | Bin 0 -> 2491 bytes docs/website/static/img/openbenchmark.png | Bin 0 -> 14592 bytes .../static/img/python-iface-workflow.jpg | Bin 0 -> 102584 bytes docs/website/static/img/python-interfaces.jpg | Bin 0 -> 68203 bytes docs/website/static/img/python_estimation.png | Bin 0 -> 67731 bytes .../static/img/python_estimation_data.png | Bin 0 -> 45081 bytes docs/website/static/img/rocket.svg | 1 + docs/website/static/img/ros2-robot.png | Bin 0 -> 14224 bytes docs/website/static/img/rpi.jpeg | Bin 0 -> 20895 bytes docs/website/static/img/rust1.jpeg | Bin 0 -> 29585 bytes docs/website/static/img/rustybot.jpeg | Bin 0 -> 24396 bytes docs/website/static/img/saturn.png | Bin 0 -> 3558 bytes docs/website/static/img/tanks_1.png | Bin 0 -> 26482 bytes docs/website/static/img/tanks_2.png | Bin 0 -> 20757 bytes docs/website/static/img/track.gif | Bin 0 -> 239870 bytes docs/website/static/img/udp_socket.png | Bin 0 -> 7149 bytes .../img/unobstructed_navigation_python.png | Bin 0 -> 25129 bytes ...tructed_navigation_trajectories_python.png | Bin 0 -> 17461 bytes docs/website/static/js/legacy-docs.js | 93 + docs/website/static/js/mathjax-config.js | 18 + matlab/OpEnTcpOptimizer.m | 898 +++++++ matlab/README.md | 8 +- matlab/nmpc_open_alm_constraints.mat | Bin 0 -> 1971772 bytes matlab/untitled.m | 8 + matlab/untitled2.m | 15 + matlab/untitled3.m | 15 + rust/Cargo.toml | 134 ++ Makefile.toml => rust/Makefile.toml | 2 +- rust/examples/README.md | 6 + rust/examples/alm_pm.rs | 99 + rust/examples/panoc_ex1.rs | 65 + rust/examples/panoc_ex2.rs | 72 + rust/examples/pm.rs | 114 + rust/katex-header.html | 20 + rust/src/alm/alm_cache.rs | 170 ++ rust/src/alm/alm_factory.rs | 599 +++++ rust/src/alm/alm_optimizer.rs | 1606 +++++++++++++ rust/src/alm/alm_optimizer_status.rs | 310 +++ rust/src/alm/alm_problem.rs | 193 ++ rust/src/alm/mod.rs | 105 + rust/src/alm/tests.rs | 918 +++++++ rust/src/cholesky_factorizer.rs | 317 +++ rust/src/constraints/affine_space.rs | 182 ++ rust/src/constraints/ball1.rs | 86 + rust/src/constraints/ball2.rs | 71 + rust/src/constraints/ballinf.rs | 78 + rust/src/constraints/ballp.rs | 303 +++ rust/src/constraints/cartesian_product.rs | 179 ++ rust/src/constraints/epigraph_squared_norm.rs | 177 ++ rust/src/constraints/finite.rs | 122 + rust/src/constraints/halfspace.rs | 110 + rust/src/constraints/hyperplane.rs | 109 + rust/src/constraints/mod.rs | 82 + rust/src/constraints/no_constraints.rs | 35 + rust/src/constraints/rectangle.rs | 106 + rust/src/constraints/simplex.rs | 105 + rust/src/constraints/soc.rs | 97 + rust/src/constraints/sphere2.rs | 101 + rust/src/constraints/tests.rs | 2134 +++++++++++++++++ rust/src/constraints/zero.rs | 38 + rust/src/core/fbs/fbs_cache.rs | 53 + rust/src/core/fbs/fbs_engine.rs | 110 + rust/src/core/fbs/fbs_optimizer.rs | 155 ++ rust/src/core/fbs/mod.rs | 54 + rust/src/core/fbs/tests.rs | 244 ++ rust/src/core/mod.rs | 72 + rust/src/core/panoc/mod.rs | 13 + rust/src/core/panoc/panoc_cache.rs | 307 +++ rust/src/core/panoc/panoc_engine.rs | 711 ++++++ rust/src/core/panoc/panoc_optimizer.rs | 454 ++++ rust/src/core/panoc/tests.rs | 218 ++ rust/src/core/problem.rs | 64 + rust/src/core/solver_status.rs | 87 + rust/src/lib.rs | 149 ++ rust/src/lipschitz_estimator.rs | 386 +++ rust/src/matrix_operations.rs | 335 +++ rust/src/mocks.rs | 303 +++ rust/src/numeric.rs | 10 + rust/src/tests.rs | 26 + 199 files changed, 16337 insertions(+), 129 deletions(-) delete mode 100644 appveyor.yml rename docs/{ => content}/algorithm.md (100%) rename docs/{ => content}/cite_open.md (100%) rename docs/{ => content}/contributing.mdx (93%) rename docs/{ => content}/docker.md (100%) rename docs/{ => content}/example-nav.md (100%) rename docs/{ => content}/example-nmpc.md (100%) rename docs/{ => content}/example_bnp_py.md (100%) rename docs/{ => content}/example_estimation_py.md (100%) rename docs/{ => content}/example_invpend_py.md (100%) rename docs/{ => content}/example_navigation_py.mdx (100%) rename docs/{ => content}/example_navigation_ros_codegen.md (100%) rename docs/{ => content}/example_rosenbrock_py.mdx (100%) rename docs/{ => content}/example_tanks_py.md (100%) rename docs/{ => content}/faq.md (100%) rename docs/{ => content}/installation.md (92%) rename docs/{ => content}/matlab-examples.md (100%) rename docs/{ => content}/matlab-interface.md (100%) rename docs/{ => content}/open-intro.md (100%) rename docs/{ => content}/openrust-alm.md (98%) rename docs/{ => content}/openrust-arithmetic.mdx (100%) rename docs/{ => content}/openrust-basic.md (98%) rename docs/{ => content}/openrust-features.mdx (100%) rename docs/{ => content}/python-advanced.mdx (99%) rename docs/{ => content}/python-bindings.md (100%) rename docs/{ => content}/python-c.mdx (100%) rename docs/{ => content}/python-examples.md (100%) rename docs/{ => content}/python-interface.md (100%) rename docs/{ => content}/python-ocp-1.mdx (100%) rename docs/{ => content}/python-ocp-2.md (100%) rename docs/{ => content}/python-ocp-3.md (100%) rename docs/{ => content}/python-ocp-4.md (100%) rename docs/{ => content}/python-ros.md (100%) rename docs/{ => content}/python-ros2.mdx (100%) rename docs/{ => content}/python-tcp-ip.md (100%) rename docs/{ => content}/udp-sockets.md (100%) create mode 100644 docs/sphinx/Makefile create mode 100644 docs/sphinx/make.bat create mode 100644 docs/sphinx/source/conf.py create mode 100644 docs/sphinx/source/index.rst create mode 100644 docs/website/README.md create mode 100644 docs/website/blog/2019-02-28-new-version.md create mode 100644 docs/website/blog/2019-03-01-blog.md create mode 100644 docs/website/blog/2019-03-02-superscs.md create mode 100644 docs/website/blog/2019-03-03-risk-averse.md create mode 100644 docs/website/blog/2019-03-05-matlab-raspberry.md create mode 100644 docs/website/blog/2019-03-05-udp-sockets.md create mode 100644 docs/website/blog/2019-03-06-talk-to-us.md create mode 100644 docs/website/blog/2019-03-15-pure-rust-optimization.md create mode 100644 docs/website/blog/2019-03-19-rust-robotics.md create mode 100644 docs/website/blog/2019-03-21-fast-udp-connection.md create mode 100644 docs/website/blog/2022-07-30-blog.md create mode 100644 docs/website/blog/2026-03-21-python-ocp-module.md create mode 100644 docs/website/docusaurus.config.js create mode 100644 docs/website/package.json create mode 100755 docs/website/publish.sh create mode 100644 docs/website/sidebars.js create mode 100644 docs/website/src/css/custom.css create mode 100644 docs/website/src/pages/help.js create mode 100644 docs/website/src/pages/index.js create mode 100644 docs/website/src/pages/users.js create mode 100644 docs/website/src/theme/prism-include-languages.js create mode 100644 docs/website/static/css/codeblock.css create mode 100644 docs/website/static/css/custom.css create mode 100644 docs/website/static/img/115ba54c2ad0.gif create mode 100644 docs/website/static/img/6f6ea4f8d194.gif create mode 100644 docs/website/static/img/about-open.png create mode 100644 docs/website/static/img/bnp.png create mode 100644 docs/website/static/img/bnp_1.png create mode 100644 docs/website/static/img/bnp_2.png create mode 100644 docs/website/static/img/bnp_3.png create mode 100644 docs/website/static/img/bnp_4.png create mode 100644 docs/website/static/img/bnp_5.png create mode 100644 docs/website/static/img/bnp_6.png create mode 100644 docs/website/static/img/box.png create mode 100644 docs/website/static/img/bullseye.svg create mode 100644 docs/website/static/img/cart_schematic.jpg create mode 100644 docs/website/static/img/chat.jpeg create mode 100644 docs/website/static/img/docker.gif create mode 100644 docs/website/static/img/e8f236af8d38.gif create mode 100644 docs/website/static/img/edge_intelligence.png create mode 100644 docs/website/static/img/examples_almpm.jpg create mode 100644 docs/website/static/img/examples_bnp_nmpc.jpg create mode 100644 docs/website/static/img/examples_estimation_chaotic.jpg create mode 100644 docs/website/static/img/examples_invpend.jpg create mode 100644 docs/website/static/img/examples_navigation_gvehicle.jpg create mode 100644 docs/website/static/img/examples_rosenbrock.jpg create mode 100644 docs/website/static/img/examples_tanks.jpg create mode 100644 docs/website/static/img/external-link-square-alt-solid.svg create mode 100644 docs/website/static/img/f1-10-main-car_orig.png create mode 100644 docs/website/static/img/favicon.png create mode 100644 docs/website/static/img/fbe.png create mode 100644 docs/website/static/img/happy.png create mode 100644 docs/website/static/img/hsk.png create mode 100644 docs/website/static/img/husky.jpg create mode 100644 docs/website/static/img/husky_video.mp4 create mode 100644 docs/website/static/img/i_tanks.png create mode 100644 docs/website/static/img/invpend_1.png create mode 100644 docs/website/static/img/invpend_2.png create mode 100644 docs/website/static/img/lv-oc-sol-2.jpg create mode 100644 docs/website/static/img/lv-oc-sol.jpg create mode 100644 docs/website/static/img/matlab_logo.png create mode 100644 docs/website/static/img/mav.png create mode 100644 docs/website/static/img/mhe.png create mode 100644 docs/website/static/img/microchip.svg create mode 100644 docs/website/static/img/mpc56.png create mode 100644 docs/website/static/img/nav-oc-sol-refs.jpg create mode 100644 docs/website/static/img/nav-oc-sol-theta.jpg create mode 100644 docs/website/static/img/nav-oc-sol-xy-obst.jpg create mode 100644 docs/website/static/img/nav-oc-sol-xy.jpg create mode 100644 docs/website/static/img/nav-oc-sol-xyt.jpg create mode 100644 docs/website/static/img/obstructed_navigation_trajectories_python.png create mode 100644 docs/website/static/img/ocp-inputs.png create mode 100644 docs/website/static/img/ocp-states.png create mode 100644 docs/website/static/img/open-functionality.jpg create mode 100644 docs/website/static/img/open-promo.gif create mode 100644 docs/website/static/img/open.png create mode 100644 docs/website/static/img/openbenchmark.png create mode 100644 docs/website/static/img/python-iface-workflow.jpg create mode 100644 docs/website/static/img/python-interfaces.jpg create mode 100644 docs/website/static/img/python_estimation.png create mode 100644 docs/website/static/img/python_estimation_data.png create mode 100644 docs/website/static/img/rocket.svg create mode 100644 docs/website/static/img/ros2-robot.png create mode 100644 docs/website/static/img/rpi.jpeg create mode 100644 docs/website/static/img/rust1.jpeg create mode 100644 docs/website/static/img/rustybot.jpeg create mode 100644 docs/website/static/img/saturn.png create mode 100644 docs/website/static/img/tanks_1.png create mode 100644 docs/website/static/img/tanks_2.png create mode 100644 docs/website/static/img/track.gif create mode 100644 docs/website/static/img/udp_socket.png create mode 100644 docs/website/static/img/unobstructed_navigation_python.png create mode 100644 docs/website/static/img/unobstructed_navigation_trajectories_python.png create mode 100644 docs/website/static/js/legacy-docs.js create mode 100644 docs/website/static/js/mathjax-config.js create mode 100644 matlab/OpEnTcpOptimizer.m create mode 100644 matlab/nmpc_open_alm_constraints.mat create mode 100644 matlab/untitled.m create mode 100644 matlab/untitled2.m create mode 100644 matlab/untitled3.m create mode 100644 rust/Cargo.toml rename Makefile.toml => rust/Makefile.toml (94%) create mode 100644 rust/examples/README.md create mode 100644 rust/examples/alm_pm.rs create mode 100644 rust/examples/panoc_ex1.rs create mode 100644 rust/examples/panoc_ex2.rs create mode 100644 rust/examples/pm.rs create mode 100644 rust/katex-header.html create mode 100644 rust/src/alm/alm_cache.rs create mode 100644 rust/src/alm/alm_factory.rs create mode 100644 rust/src/alm/alm_optimizer.rs create mode 100644 rust/src/alm/alm_optimizer_status.rs create mode 100644 rust/src/alm/alm_problem.rs create mode 100644 rust/src/alm/mod.rs create mode 100644 rust/src/alm/tests.rs create mode 100644 rust/src/cholesky_factorizer.rs create mode 100644 rust/src/constraints/affine_space.rs create mode 100644 rust/src/constraints/ball1.rs create mode 100644 rust/src/constraints/ball2.rs create mode 100644 rust/src/constraints/ballinf.rs create mode 100644 rust/src/constraints/ballp.rs create mode 100644 rust/src/constraints/cartesian_product.rs create mode 100644 rust/src/constraints/epigraph_squared_norm.rs create mode 100644 rust/src/constraints/finite.rs create mode 100644 rust/src/constraints/halfspace.rs create mode 100644 rust/src/constraints/hyperplane.rs create mode 100644 rust/src/constraints/mod.rs create mode 100644 rust/src/constraints/no_constraints.rs create mode 100644 rust/src/constraints/rectangle.rs create mode 100644 rust/src/constraints/simplex.rs create mode 100644 rust/src/constraints/soc.rs create mode 100644 rust/src/constraints/sphere2.rs create mode 100644 rust/src/constraints/tests.rs create mode 100644 rust/src/constraints/zero.rs create mode 100644 rust/src/core/fbs/fbs_cache.rs create mode 100644 rust/src/core/fbs/fbs_engine.rs create mode 100644 rust/src/core/fbs/fbs_optimizer.rs create mode 100644 rust/src/core/fbs/mod.rs create mode 100644 rust/src/core/fbs/tests.rs create mode 100644 rust/src/core/mod.rs create mode 100644 rust/src/core/panoc/mod.rs create mode 100644 rust/src/core/panoc/panoc_cache.rs create mode 100644 rust/src/core/panoc/panoc_engine.rs create mode 100644 rust/src/core/panoc/panoc_optimizer.rs create mode 100644 rust/src/core/panoc/tests.rs create mode 100644 rust/src/core/problem.rs create mode 100644 rust/src/core/solver_status.rs create mode 100644 rust/src/lib.rs create mode 100644 rust/src/lipschitz_estimator.rs create mode 100644 rust/src/matrix_operations.rs create mode 100644 rust/src/mocks.rs create mode 100644 rust/src/numeric.rs create mode 100644 rust/src/tests.rs diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 40f23173..9463fb9e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,6 +6,6 @@ version: 2 updates: - package-ecosystem: "cargo" - directory: "/" + directory: "/rust" schedule: interval: "weekly" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7afc917a..0f23e9ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,10 +36,12 @@ jobs: rustflags: "" - name: Cargo tests + working-directory: rust run: cargo test - name: Cargo tests (RP and JEM) if: runner.os != 'Windows' + working-directory: rust run: | cargo test --features rp cargo test --features jem @@ -79,7 +81,7 @@ jobs: with: python-version: "3.12" cache: "pip" - cache-dependency-path: open-codegen/pyproject.toml + cache-dependency-path: python/pyproject.toml - uses: egor-tensin/setup-clang@v1 if: runner.os == 'Linux' @@ -111,14 +113,14 @@ jobs: - name: Install Python package if: runner.os == 'Windows' - working-directory: open-codegen + working-directory: python run: | python -m pip install --upgrade pip python -m pip install . - name: Run Python test.py if: runner.os == 'Windows' - working-directory: open-codegen + working-directory: python env: PYTHONPATH: . run: python -W ignore test/test.py -v @@ -201,7 +203,7 @@ jobs: with: python-version: "3.12" cache: "pip" - cache-dependency-path: open-codegen/pyproject.toml + cache-dependency-path: python/pyproject.toml - name: Run OCP Python tests if: runner.os != 'Windows' @@ -209,14 +211,14 @@ jobs: - name: Install Python package if: runner.os == 'Windows' - working-directory: open-codegen + working-directory: python run: | python -m pip install --upgrade pip python -m pip install . - name: Run OCP Python tests if: runner.os == 'Windows' - working-directory: open-codegen + working-directory: python env: PYTHONPATH: . run: python -W ignore test/test_ocp.py -v diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml index aa1efe3d..594af46e 100644 --- a/.github/workflows/clippy.yml +++ b/.github/workflows/clippy.yml @@ -8,14 +8,11 @@ jobs: clippy_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@v5 + - uses: actions-rust-lang/setup-rust-toolchain@v1 with: - profile: minimal toolchain: stable - override: true components: clippy - - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --examples + - name: Cargo clippy + working-directory: rust + run: cargo clippy --all-targets --all-features --examples diff --git a/.github/workflows/rustfmt.yml b/.github/workflows/rustfmt.yml index 102f0e3d..aa7e8c7c 100644 --- a/.github/workflows/rustfmt.yml +++ b/.github/workflows/rustfmt.yml @@ -10,14 +10,11 @@ jobs: name: Rustfmt runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@v5 + - uses: actions-rust-lang/setup-rust-toolchain@v1 with: - profile: minimal toolchain: stable - override: true components: rustfmt - - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + - name: Cargo fmt + working-directory: rust + run: cargo fmt --all -- --check diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index e91d5115..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,74 +0,0 @@ -#This Appveyor configuration file is based on the configuration -#file of the following project: -# -#https://github.com/starkat99/appveyor-rust/ -# - -## Operating System (VM environment) ## - -# Rust needs at least Visual Studio 2013 Appveyor OS for MSVC targets. -os: Visual Studio 2015 - - -environment: - matrix: - -### MSVC Toolchains ### - - # Stable 64-bit MSVC - - channel: stable - target: x86_64-pc-windows-msvc - # Stable 32-bit MSVC - # - channel: stable - # target: i686-pc-windows-msvc - -### GNU Toolchains ### - - # Stable 64-bit GNU - # - channel: stable - # target: x86_64-pc-windows-gnu - # Stable 32-bit GNU - # - channel: stable - # target: i686-pc-windows-gnu - -### Allowed failures ### - -# See Appveyor documentation for specific details. In short, place any channel or targets you wish -# to allow build failures on (usually nightly at least is a wise choice). This will prevent a build -# or test failure in the matching channels/targets from failing the entire build. -#matrix: -# allow_failures: -# - channel: nightly - -# If you only care about stable channel build failures, uncomment the following line: - #- channel: beta - -## Install Script ## - -# This is the most important part of the Appveyor configuration. This installs the version of Rust -# specified by the 'channel' and 'target' environment variables from the build matrix. This uses -# rustup to install Rust. -# -# For simple configurations, instead of using the build matrix, you can simply set the -# default-toolchain and default-host manually here. -install: - - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe - - rustup-init -yv --default-toolchain %channel% --default-host %target% - - set PATH=%PATH%;%USERPROFILE%\.cargo\bin - - rustc -vV - - cargo -vV - -## Build Script ## - -# 'cargo test' takes care of building for us, so disable Appveyor's build stage. This prevents -# the "directory does not contain a project or solution file" error. -build: false - -# Uses 'cargo test' to run tests and build. Alternatively, the project may call compiled programs -#directly or perform other testing commands. Rust will automatically be placed in the PATH -# environment variable. -test_script: - - cargo add roots - - cargo add ndarray --features approx - - cargo build - - cargo test --verbose %cargoflags% diff --git a/docs/algorithm.md b/docs/content/algorithm.md similarity index 100% rename from docs/algorithm.md rename to docs/content/algorithm.md diff --git a/docs/cite_open.md b/docs/content/cite_open.md similarity index 100% rename from docs/cite_open.md rename to docs/content/cite_open.md diff --git a/docs/contributing.mdx b/docs/content/contributing.mdx similarity index 93% rename from docs/contributing.mdx rename to docs/content/contributing.mdx index 7671c872..a3541427 100644 --- a/docs/contributing.mdx +++ b/docs/content/contributing.mdx @@ -90,12 +90,12 @@ We follow [this style guide](https://www.python.org/dev/peps/pep-0008) and its [ ### Website -This documentation is generated with Docusaurus - read a detailed guide [here](https://github.com/alphaville/optimization-engine/blob/master/website/README.md). +This documentation is generated with Docusaurus - read a detailed guide [here](https://github.com/alphaville/optimization-engine/blob/master/docs/website/README.md). -- All docs are in `docs/` -- Blog entries are in `website/blog/` +- All docs are in `docs/content/` +- Blog entries are in `docs/website/blog/` -To start the website locally (at [http://localhost:3000/optimization-engine](http://localhost:3000/optimization-engine)) change directory to `website` and run `yarn start`. To update the website, execute `./publish.sh` (you need to be a collaborator on github). +To start the website locally (at [http://localhost:3000/optimization-engine](http://localhost:3000/optimization-engine)) change directory to `docs/website` and run `yarn start`. To update the website, execute `./publish.sh` from there (you need to be a collaborator on github). ## Using Git When using Git, keep in mind the following guidelines: @@ -172,9 +172,9 @@ This will have to be a new PR. Checklist: