whatisgithub

What is openscad-packer?

nascentmaker/openscad-packer — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A command line tool that bundles an OpenSCAD 3D model and all its library dependencies into one file, ready to upload to sites like Printables.

Mindmap

mindmap
  root((OpenSCAD Packer))
    What it does
      Bundle OpenSCAD files
      Tree shake unused code
      Preserve customizer comments
    Tech stack
      Python
      uv
      OpenSCAD
    Use cases
      Prepare a model for Printables
      Share a design without library setup
      Keep customizer sliders working
    Audience
      Makers
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Combine an OpenSCAD design and its library dependencies into one file to upload to Printables, Thingiverse, or MakerWorld.

USE CASE 2

Share a 3D printable design with someone who does not have the same OpenSCAD libraries installed.

USE CASE 3

Keep a model's parameter sliders and labeled sections working after bundling it into a single file.

USE CASE 4

Strip out unused library code from a large OpenSCAD dependency to keep the shared file small.

What is it built with?

PythonuvOpenSCAD

How does it compare?

nascentmaker/openscad-packer0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultyeasymoderatehard
Complexity2/54/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires Python 3.11+ and the uv tool, install is a single uv tool install command.

You can use and modify it, but if you run a modified version as a network service you must share your source code, and any derivative work must stay under the same license.

So what is it?

OpenSCAD Packer is a command line tool that takes a 3D model written in OpenSCAD, a programming language for describing shapes for 3D printing, and combines it with all of the separate library files it depends on into one single file. Instead of sharing a project as a folder full of files that require the recipient to have the same libraries already installed, this tool bundles everything together, and it only keeps the parts of each library that are actually used, so the result stays reasonably small even when pulling from large libraries. The reason this matters is that popular 3D printing model sites like Printables, Thingiverse, and MakerWorld let people upload a single OpenSCAD file and let visitors adjust its parameters through a built in customizer, without needing OpenSCAD installed themselves. The problem is that these sites only accept one file, so any design that uses a separate library such as BOSL2 or NopSCADlib cannot be uploaded as is. OpenSCAD Packer solves this by automatically combining everything into one file ready to upload, while keeping the special comments in the file that OpenSCAD's customizer reads to build things like sliders and labeled sections. To install it, you need Python 3.11 or later along with a tool called uv, and then you can install the packer globally with a single command. Using it is a matter of running the pack command on your main OpenSCAD file, optionally saving the result to a file and pointing it at any extra folders where your libraries live. The project also includes its own test suite and development setup for anyone who wants to contribute to the tool itself, using the same uv tool for managing the Python environment. OpenSCAD Packer is released under the GNU Affero General Public License version 3.

Copy-paste prompts

Prompt 1
Show me how to install OpenSCAD Packer with uv and pack my first .scad file.
Prompt 2
Explain the difference between how this tool handles use versus include statements.
Prompt 3
Walk me through pointing OpenSCAD Packer at extra library folders with the -L option.
Prompt 4
Help me set up the developer environment for this project and run its test suite.

Frequently asked questions

What is openscad-packer?

A command line tool that bundles an OpenSCAD 3D model and all its library dependencies into one file, ready to upload to sites like Printables.

What language is openscad-packer written in?

Mainly Python. The stack also includes Python, uv, OpenSCAD.

What license does openscad-packer use?

You can use and modify it, but if you run a modified version as a network service you must share your source code, and any derivative work must stay under the same license.

How hard is openscad-packer to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is openscad-packer for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.