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