You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Simon Bruder 4444edf95d
2 years ago
openscad-http-api Init 2 years ago
templates Init 2 years ago
.gitignore Init 2 years ago
LICENSE Init 2 years ago Init 2 years ago
flake.lock Init 2 years ago
flake.nix Init 2 years ago
requirements.txt Init 2 years ago Init 2 years ago


WIP. Only a proof-of-concept.

See Known Issues for security implications.


For development:

FLASK_DEBUG=1 FLASK_APP=openscad-http-api nix develop -c python3 -m flask run

It makes the templates in the template directory relative to where you run that command available at /api/render/<template> on the port printed to stdout.

You can test that it works by rendering the provided default model:

curl -XPOST -H "Content-Type: application/json" -d '{"size": 10}'

It should print out the STL representation of a 10×10×10 cube.

Known Issues

  • Does not sanitise user input, so arbitrary OpenSCAD code can be executed.
  • Does not validate user input
  • Not optimised for performance


GNU Affero General Public License version 3 (only). See LICENSE for details.