You can not 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
1 year ago
openscad-http-api Init 1 year ago
templates Init 1 year ago
.gitignore Init 1 year ago
LICENSE Init 1 year ago Init 1 year ago
flake.lock Init 1 year ago
flake.nix Init 1 year ago
requirements.txt Init 1 year ago Init 1 year 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.