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
Init
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
README.md Init 1 year ago
flake.lock Init 1 year ago
flake.nix Init 1 year ago
requirements.txt Init 1 year ago
setup.py Init 1 year ago

README.md

openscad-http-api

WIP. Only a proof-of-concept.

See Known Issues for security implications.

Usage

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 http://127.0.0.1:5000/api/render/cube -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

License

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