--- id: openjd-sessions version: "0.10.14" license: Apache-2.0 license_treatment: permissive maintenance: active --- # 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. License: permissive · Maintenance: active · Downloads: 117.4K/mo ## 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 above — verify before relying. Provides a runtime library for executing Open Job Description jobs in isolated sessions, with support for multi-step workflows, parameter spaces, and optional user impersonation on POSIX and Windows systems. 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 pip install openjd-sessions uv add openjd-sessions poetry add openjd-sessions ## Installing openjd-sessions 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. 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=...) Requires Python 3.9 or higher. On Linux/macOS, sudo access is needed. On Windows, CPython implementation is required (not PyPy or other variants). 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_current - Install friction: low - Maintenance: active - Downloads: 117.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags job execution runtime library, open job description sessions, render job orchestration, multi-step task runner, session-based job execution, portable job specification, workflow parameter iteration, job-orchestration, render-farm, workflow-execution [View on SkillFed](https://skillfed.io/packages/openjd-sessions) · [View on PyPI](https://pypi.org/project/openjd-sessions/)