Library / SDK
appleseedhq/appleseed avatar
appleseedhq/appleseed

appleseed: a physically-based renderer whose last release tag is a 2019 beta

A modern open source rendering engine for animation and visual effects

2,326 stars353 forksC++MIT

At a glance

What is it?
An open source global illumination renderer for animation and visual effects, available as a portable C++ library, as standalone applications and as plugins for three host applications, with a pinned shading language release that holds its Python floor below 3.7 and commits continuing years after the last tag.
Who is it for?
Adopt appleseed if you are a small studio that wants a physically-based renderer whose source you own and can modify, and you are willing to build from the development branch, because that is the only version the repository actually offers after 2019.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 112 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The last tag is a beta from 2019, and the last commit is from 2026

Get the dates in order before anything else, because they define what you can actually install. The three release tags are 1.9.0-beta from May 2018, 2.0.0-beta from November 2018 and 2.1.0-beta from September 2019. All three are prereleases, and the most recent is nearly seven years old. The repository is not archived, and the last push was on 2026-06-11. So the project is being worked on and has not cut a release since 2019. The other metadata in the repository points the same way. The copyright notice reads 2010 to 2019, and one of the contribution links is a wiki page listing project ideas for a Summer of Code programme in 2019. So the repository's own written surface is anchored in 2019 while its source is not. The practical consequence is that there is no version choice to make. If you need appleseed today you take a build of the development branch or a binary from the project's download page, and you should record which commit or which build you used, because the tag list will not tell anyone what they have. For a studio this matters more than it would for a library, because a renderer is embedded in a pipeline and a shot delivered years later has to be reproducible on the same version. The project helps with that, and the section on citing is the reason.

A pinned shading language is what holds the Python floor down

The most technical sentence in this README is at the very top, in a section headed with a version number. It concerns OSL, the Open Shading Language, which is what lets a renderer accept shading programs rather than only fixed material models. The pinned version is 1.13.12.0, and the reason given is that the newer 1.14 release raised the minimum Python version to 3.7 from 2.7. So the renderer is deliberately running an older shading language release in order to keep its own Python requirement lower. That is a defensible trade, and it has consequences that are easy to miss. The package is advertised as a portable C++ library with C++ and Python APIs, so the Python surface is a real part of the product rather than an afterthought, and that surface is bounded by whatever the pinned dependency needs. If your studio's tooling has moved to Python 3.7 or later and you want to use modern language features in your shading or scripting code, this choice constrains you. The trade is not stated as a limitation, it is presented as a configuration, and that framing is worth noticing: an adopter has to work out for themselves that a third-party dependency's release history is now part of their own upgrade path. The related file in the repository is the third-party notices file at the top level, which is where a project with a dependency stack this size records what it is shipping.

Library, applications and plugins are three different ways in

The distribution story has three layers and they suit different users. The first is a portable C++ library exposing C++ and Python APIs, which is how you would embed the renderer in your own tool or automation. The second is a set of standalone applications for Windows, Linux and macOS, which is how a user renders without integrating anything. The third is native plugins for content creation applications, and those live in separate repositories: one for Maya, one for 3ds Max, and one for Blender, where the repository is named differently again, without the appleseed prefix. The plugins being separate is the important part. A DCC integration has to track the host application's own release cycle, so the version that works with a given host version is decided in that plugin's repository, not here. That is a reasonable division, and it means an adopter needs to evaluate two projects rather than one. There is a fourth path worth knowing about, because the project lists an integration with a commercial node-based tool from another vendor, into which appleseed is integrated. So a studio that already uses that tool gets appleseed through it and may never touch the standalone applications. Between the two build systems in the repository, an AppVeyor configuration alongside a Travis configuration, the Windows build is clearly the one being maintained, which matches the platform mix of the target audience.

Physically based global illumination, aimed squarely at small studios

The stated mission is unusually specific and it tells you who this is for. The engine is described as physically-based global illumination, primarily designed for animation and visual effects, and the mission is to provide individuals and small studios with a complete, reliable, fully open rendering package. Three words in that sentence carry the whole positioning: physically based, small studios, and fully open. Physically based global illumination means path tracing, which produces a better image and costs more time per frame than the approximations a commercial renderer will make. Fully open means the source is auditable, patchable and free of a licence server, which is what a studio with a pipeline problem wants and what a facility optimising for throughput will pay to avoid. So the project is explicitly not competing on speed. Its record of use is consistent with that: a television documentary, advertising work, promotional videos and an animation short, which is a portfolio of smaller productions rather than feature films. If your requirement is physically correct lighting and you have the time budget for it, the trade is good. If your requirement is finishing a shot this week, the comparison against a renderer that makes pragmatic approximations is not close, and the project would not claim otherwise.

Releases get DOIs, so a delivered shot can name the version that made it

There is a short section on citing, and it is the most unusual thing in this README. The project states that its releases have DOIs for scientific citation, and carries a badge for it. A digital object identifier is an archival identifier, and the reference points at a repository that mints them for published artefacts. Applying that to a rendering engine means a specific build can be cited the way a paper is cited, permanently and independently of any web page. For an industry with production timelines measured in years, that is not a vanity gesture. A shot delivered in 2026 may need to be re-rendered in 2031 for a re-release, on a machine that no longer exists, by someone who was not at the studio when it was made. If the build that produced it has an identifier, that re-render is a solvable problem. If the only available artefacts are beta tags from 2019 and a moving development branch, it is not. The same thinking explains the decision to keep a third-party notices file and a copyright notice in the repository: for a project whose output is pixels someone signs off on, provenance is part of the deliverable. Most software projects treat this as bureaucracy. Here it is arguably the feature.

A coding philosophy wiki, a Summer of Code list, and a copyright line that stopped in 2019

The contribution section points at four wiki pages and one of them dates the project precisely. There is a page on how to build from source, a page on coding philosophy and guidelines, a page of developer and contributor documentation, and a page listing detailed project ideas for a Summer of Code programme in 2019. That last link is the fossil that tells you the most. Participation in a Summer of Code programme is a strong forcing function for documentation discipline and code style, because a large cohort of temporary contributors has to be onboarded and their patches reviewed, and it explains both the coding philosophy page and the international contributor base the overview describes. It also dates the last period of that influx, since the ideas list is not being updated. The repository files are consistent with a well-run but now quieter project. There is an editor configuration, a git attributes file, a pre-commit-adjacent editor setup, a build definition in CMake with a matching directory of CMake modules, and a third-party notices file:

bash
LICENSE.txt
THIRDPARTIES.txt

There is also a sandbox directory and a scripts directory, which is what a project that lets artists try things without committing them would keep. Two build configurations for continuous integration sit in the tree, one for a general-purpose service and one for Windows, and the Windows one is the more likely to be current given the target audience. None of this is evidence of abandonment. It is evidence of a volunteer project that did the hard work of establishing process, and whose written surface has not been revisited since.

Where this renderer is the wrong choice

Three cases, plainly. If your production is real-time, interactive or preview-driven, a physically-based global illumination renderer is the wrong category of tool, because the whole approach trades time for correctness. If your studio needs a guaranteed supported release with a service-level agreement behind it, this is the wrong project, because there has been no tagged release since 2019 and the work is on a development branch, which means your pipeline's reproducibility depends on a commit identifier you have to record yourself. And if your team cannot build from source, the standalone applications and the host plugins are the only routes in, so you are accepting a binary's provenance without the source next to it. Set against that, the case for it is specific and strong. You want the source. You want a physically based renderer you can modify, because your studio's pipeline is not standard and every commercial renderer is a black box you argue with. You want global illumination without a licence server. And you want an engine small enough that a handful of volunteers can hold it in their heads, which is the same property that makes it tractable and the same property that explains why the release history stopped.

Editorial conclusion

Adopt appleseed if you are a small studio that wants a physically-based renderer whose source you own and can modify, and you are willing to build from the development branch, because that is the only version the repository actually offers after 2019. Do not adopt it expecting a recent tagged release, since the three release tags visible here are all betas from 2018 and 2019 while the last push was on 2026-06-11, and the downloads page rather than the tag list is where binaries come from. Two things to check before you commit a pipeline to it. Read the pinned shading language version, because the renderer deliberately holds an older OSL release to keep its Python minimum below 3.7, so a Python floor in your own tooling is constrained by that choice. And confirm the plugin you need exists for your host application, since the Maya, 3ds Max and Blender integrations are separate repositories maintained outside this one. The citation DOIs are a genuine advantage for long-lived production work, and they are unusual enough to be worth knowing about.

Frequently asked questions

What is the latest appleseed release?

The most recent tags are 2.1.0-beta from 2019-09-03, 2.0.0-beta from 2018-11-02 and 1.9.0-beta from 2018-05-01, so all three are prereleases from 2018 and 2019. The last push to the repository was on 2026-06-11 and the repository is not archived.

Why does appleseed pin an older Open Shading Language version?

The README states it uses OSL v1.13.12.0 because the newer v1.14 release raised the Python minimum to 3.7 from 2.7. Holding the older shading language release is what keeps the Python requirement of the library's Python API lower.

How can appleseed be used, and what are the DCC integrations?

As a portable C++ library with C++ and Python APIs, as standalone applications for Windows, Linux and macOS, and as native plugins. The plugins live in separate repositories for Maya, for 3ds Max and for Blender, and appleseed is also integrated into another vendor's node-based tool.

Do appleseed releases have DOIs?

Yes. The README states that releases have DOIs for scientific citation and points at an archival record, which means a specific build can be cited permanently. That matters for re-rendering a delivered shot years later on the same version.

What is the target audience for appleseed?

The stated mission is to provide individuals and small studios with a complete, reliable, fully open rendering package, for animation and visual effects work. The recorded use includes a television documentary, advertising, promotional videos and an animation short.

Official sources

  1. appleseedhq/appleseed on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/appleseedhq-appleseed.svg)](https://hysenlabs.com/projects/appleseedhq-appleseed)