openjd-sessions
Provides a library that can be used to build a runtime that is able to run Jobs in a Session as defined by Open Job Description.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, carries a permissive Apache-2.0 license, and installs with low friction. It fills a specific niche for portable job execution in render and compute workflows. Install if you need standards-based job orchestration; skip if you're building a general-purpose task queue or don't require the Open Job Description specification.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or higher.
- On Linux/macOS, sudo access is needed.
- On Windows, CPython implementation is required (not PyPy or other variants).
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), which allows free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-08-11 (3 days) · last repo commit 2026-08-14 · 10 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 117,426 downloads/mo, #12,163 on PyPI
Alternatives
Verify before relying
from openjd.sessions import Session, ActionState, ActionStatus
from openjd.model import create_job, decode_job_template, preprocess_job_parameters
from threading import Event
job_template = decode_job_template(template={...})
job_parameters = preprocess_job_parameters(job_template=job_template, job_parameter_values={...}, ...)
action_event = Event()
def callback(session_id: str, status: ActionStatus) -> None:
if status.state != ActionState.RUNNING:
action_event.set()
with Session(session_id="demo", job_parameter_values=job_parameters, callback=callback) as session:
session.run_task(step_script=..., task_parameter_values=...)- Whether the library handles concurrent session execution or is single-session only
- Performance characteristics when running large parameter spaces or many tasks
- Exact scope of user impersonation support on Windows (description excerpt cuts off mid-sentence)
What it is and what it does
openjd-sessions is a Python runtime library for the Open Job Description specification, a portable format for defining render and compute jobs. It manages the execution of jobs within isolated sessions, handling multi-step workflows, parameter iteration, environment setup/teardown, and optional user impersonation. The library works across Linux, macOS, and Windows, and integrates with the openjd-model package to parse and validate job templates.
You use it by decoding a job template, preprocessing parameters, then creating a Session that runs tasks asynchronously via callbacks. The library handles process lifecycle, environment variables, and user context switching—useful for studios and render farms that need portable, secure job execution across different systems without reimplementing job orchestration logic.
Use it for
- Building a render farm controller that executes standardized job definitions across multiple machines
- Running multi-step data processing pipelines with isolated environments and parameter sweeps
- Executing untrusted or user-submitted jobs in isolated user contexts for security
- Orchestrating complex VFX or animation workflows with job templates that are portable between studios
- Iterating over parameter spaces (e.g., frame ranges, quality levels) with automatic task distribution
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, carries a permissive Apache-2.0 license, and installs with low friction. It fills a specific niche for portable job execution in render and compute workflows. Install if you need standards-based job orchestration; skip if you're building a general-purpose task queue or don't require the Open Job Description specification.
Install
openjd-sessions on PyPI
Before you install
Low friction installation with a pure Python wheel. The package is actively maintained with a recent release and no known vulnerabilities. It requires openjd-model, psutil, and pywin32 as runtime dependencies.
Requires Python 3.9 or higher. On Linux/macOS, sudo access is needed. On Windows, CPython implementation is required (not PyPy or other variants).
License in practice
Licensed under Apache-2.0 (permissive), which allows free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
from openjd.sessions import Session, ActionState, ActionStatus
from openjd.model import create_job, decode_job_template, preprocess_job_parameters
from threading import Event
job_template = decode_job_template(template={...})
job_parameters = preprocess_job_parameters(job_template=job_template, job_parameter_values={...}, ...)
action_event = Event()
def callback(session_id: str, status: ActionStatus) -> None:
if status.state != ActionState.RUNNING:
action_event.set()
with Session(session_id="demo", job_parameter_values=job_parameters, callback=callback) as session:
session.run_task(step_script=..., task_parameter_values=...)
Verify before relying
- Whether the library handles concurrent session execution or is single-session only
- Performance characteristics when running large parameter spaces or many tasks
- Exact scope of user impersonation support on Windows (description excerpt cuts off mid-sentence)
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesopenjd-modelpsutilpywin32 |
| Maintenance | Actively maintained 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 117,426 / month, #12,163 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries |
Evidence: openjd_sessions-0.10.14-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “job execution runtime library”
- openjd-sessionsProvides a runtime library for executing Open Job Description jobs in…
- nflx-genie-clientA Python client library for interacting with Netflix Genie, a…
- jobflowJobflow is a Python library for defining and executing computational…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also openjd-model · nox · jobflow · schedule · timeloop · ppft · pulsar-galaxy-lib · custodian · APScheduler · pgqueuer