An open platform for sharing PythonSCAD designs, source code, and knowledge.
PyForge is an open platform for sharing 3D designs created with PythonSCAD — a powerful scripting approach to parametric 3D modelling. Whether you are an experienced designer or just starting out, this is the place to share what you build, learn from others, and grow together as a community.
The idea behind PyForge is simple: great designs should not live on a single hard drive. By sharing source code alongside finished models, we make it possible for others to understand how a design was made, adapt it to their own needs, and build on each other's work.
PyForge is not a marketplace. There are no transactions, no licences to negotiate, and no paywalls. Everything shared here is freely available for personal use. The only thing we ask in return is that you contribute back — share your own work, leave feedback, and help others when you can.
PythonSCAD has a steep learning curve. By publishing source code with every design, experienced users help newcomers understand real-world scripting patterns and techniques.
Stuck on a design challenge? Post your work-in-progress and ask the community. The comment section on every design is the right place to ask technical questions, request improvements, or start a discussion.
Found an elegant solution to a common problem? Built something you are proud of? Upload it and let others benefit. Every design adds to a growing library of reusable, open source 3D models.
Browsing other people's work is one of the best ways to discover new techniques, creative approaches, and possibilities you had not considered before.
Sharing your work on PyForge is straightforward. A free account is required to upload.
Register with your email address. You will receive a verification link before you can upload.
Fill in a clear title, a description that explains what the design does, and relevant tags so others can find it easily.
Use the file picker to add your files in one go. Source files (.scad, .py, .3mf, .json, .txt, .md) and images can be mixed together — PyForge will sort them automatically. 3mf files are preferred over stl files, you can also use the 3mf file to generate a great looking cover.
This is the one firm expectation on PyForge: every design must include the original source file. A rendered 3MF alone is not enough. The source is what makes a design truly reusable.
A good cover image helps others decide whether a design is relevant to them. Create a cover from the uploaded 3mf file(s) in the edit function, or include a clear render or photo. The first image you upload becomes the cover automatically, but you can change this later in the edit screen.
Click 'Publish design'. Your design is immediately visible to all visitors. You can edit or delete it at any time from your design page.
PyForge offers several ways to discover what has been shared.
The search bar at the top of every page searches across titles, descriptions, and tags simultaneously. Just start typing and press Enter.
On the Browse page you will find a tag cloud below the search bar. Click one or more tags to narrow the results. Tags are cumulative — selecting 'gear' and 'parametric' shows only designs that have both.
Use the Designer dropdown on the Browse page to see all work by a specific creator.
The home page always shows the most recently uploaded designs, so checking back regularly is the easiest way to stay up to date.
Every design has a comment section. Use it to ask questions about how something was built, report an issue you found, suggest an improvement, or simply let the creator know their work was useful to you. Positive feedback matters — a short 'thank you' or a compliment goes a long way.
If you want to be notified when new comments are posted or when a design is updated, use the '🔔 Stay informed' widget on the design page. You will receive an email notification and can unsubscribe at any time via the link in the email.
Please keep the conversation constructive and respectful. This is a community built on goodwill.
Every design uploaded to PyForge must include the original PythonSCAD source file. This is not optional. A design without source code cannot be learned from, adapted, or verified — which defeats the purpose of this platform. Uploads that consist only of compiled output (STL, 3MF) without accompanying source will be removed.
All designs and source code shared on PyForge are provided as-is, without any warranty of fitness for a particular purpose, structural integrity, safety, or correctness. PyForge does not review, validate, or endorse any uploaded content.
The use of any design — whether printed, machined, or otherwise manufactured — is entirely at your own risk. PyForge accepts no liability for any damage, loss, injury, or other consequence arising from the use of designs found on this platform.
Source code may be freely used, modified, and adapted for personal, non-commercial use. Designers retain moral credit for their work. If you build on someone else's design, acknowledging the original creator in your own upload is good practice and appreciated by the community.