Skip to main content

Thingiverse Publisher

A small tool for publishig things to Thingiverse.

The tool is very rudimentary and needs some code-clenup, but it does it's job, which is to upload a 3D model to Thingiverse. It is in a very early stage of development, so expect breaking changes.

Pre-requisites

  • Python 3.10 or later
  • A Thingiverse account
  • A Thingiverse Bearer token

Installing

From the project directory:

pip install .

For an editable install (development):

pip install -e .

This installs the thingiverse-publisher command on your PATH.

Configuring

Place a file .thingiverse_publisher.json in your home directory with the following content (see below on how to get a bearer token):

{
  "bearer_token": "123456789abcdef123456789abcdef12"
  "username": "nomike"
}

Place a file .thingiverse_publisher.json in the directory of your 3D model. The file should look like this:

{
  "thing": {
    "name": "i3 PTFE tube cutting measure",
    "category": "Art",
    "tags": [
      "foo",
      "bar",
      "baz"
    ],
    "instructions": "Print and enjoy",
    "is_wip": true,
    "license": "gpl3",
  },
  "files": [
    "i3-ptfe-tube-cutting-measure.scad",
    "i3-ptfe-tube-cutting-measure.stl"
  ],
  "images": []
}

Available license options

Thingiverse currently does not document which licenses you can use in the API. This interface does not seem to be symetric though. What you get as a value for "license" in a response, is not accepted as a value in a request. I've created a support case for getting a list of valid options with thingiverse, and I'm currently waiting for a response.

Valid options I have found so far are:

cc: Creative Commons - Attribution

Getting a Bearer Token

  1. Go to https://www.thingiverse.com/apps/create
  2. Fill in the form
  3. Click on "Create Application"
  4. Copy the "Client ID" and "Client Secret" to a safe place
  5. Open a browser and go to https://www.thingiverse.com/login/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code
  6. Click on "Allow"
  7. Copy the code from the address bar
  8. Open a terminal and run the following command:
curl -X POST -d "client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&code=YOUR_CODE&grant_type=authorization_code" https://www.thingiverse.com/login/oauth/access_token
  1. Copy the access_token to your .thingiverse_publisher.json file

Metadata

Release files for thingiverse-publisher 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thingiverse-publisher 0.6.0
File Size Uploaded Provenance
thingiverse_publisher-0.6.0.tar.gz 18.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for thingiverse-publisher 0.6.0
File Interpreter ABI Platform
thingiverse_publisher-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.1 kB

Release files / thingiverse_publisher-0.6.0.tar.gz

Download URL thingiverse_publisher-0.6.0.tar.gz
Size 18.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1c18f0104fff8746c43148ac992b9c2054c59b29c34e6147e61161309bff54ff
BLAKE2b-256 checksum
How to use checksums
2342bdde6d63316b006c24914a01f6103ac85bce5478c3a409edc4d4df9488b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 15, 2026.

Transparency log

Release files / thingiverse_publisher-0.6.0-py3-none-any.whl

Download URL thingiverse_publisher-0.6.0-py3-none-any.whl
Size 19.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b9625acfec174d066f542ce69e6ebdd8e9406ce3f9039a8e602bd02c77f93f86
BLAKE2b-256 checksum
How to use checksums
5e6f10951cce914bd86d06d17a65f028e4858bcff0079e7929f911c52ba87f97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 15, 2026.

Transparency log

Security for thingiverse-publisher 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for thingiverse_publisher-0.6.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page