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
11 months ago
openscad-http-api Init 11 months ago
templates Init 11 months ago
.gitignore Init 11 months ago
LICENSE Init 11 months ago Init 11 months ago
flake.lock Init 11 months ago
flake.nix Init 11 months ago
requirements.txt Init 11 months ago Init 11 months 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.