skillfed

pyral

Python toolkit for Rally REST API

pyral v1.7.0 81.3K downloads/30d#14,235 on PyPI93
Permissive license BSD-3-Clause AGING released

What it is and what it does

pyral wraps the Rally REST API in a Python interface that abstracts away JSON serialization and HTTP plumbing. You instantiate a Rally client with your subscription credentials, then call methods like get(), create(), update(), and delete() to work with artifacts (TestCase, Defect, UserStory, etc.) as Python objects. The toolkit's main convenience is transparent object traversal: when you access a related attribute like story.Tasks, pyral automatically fetches the linked objects without requiring explicit API calls in your code.

The package is built on requests and targets modern Python (3.12+). It's stable and production-ready but aging—the last release was in October 2025. It's most useful for teams already invested in Rally who need to automate bulk operations, integrate Rally data into other systems, or script repetitive project-management tasks from Python.

Use it for:

  • Bulk-create or bulk-update defects, test cases, or user stories in Rally from a CSV or database source.
  • Query Rally artifacts by criteria (e.g., all open defects in a project) and export results to a report or external system.
  • Automate workspace and project enumeration for multi-tenant Rally subscriptions.
  • Integrate Rally data into CI/CD pipelines—e.g., link build artifacts to test results or defects.
  • Migrate or synchronize Rally data with another project-management or issue-tracking system.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pyral is a Python toolkit that lets you create, read, update, and delete artifacts and entities in Rally via its REST API, with automatic lazy-loading of related objects.

Yes, if you use Rally and need programmatic access to its data. The package is stable, has low install friction, and carries no known vulnerabilities. The main caveat is age: last release was 287 days ago, so verify that the Rally REST API hasn't drifted and that the package still meets your Python version and requests requirements before committing to production use.

Install

pyral on PyPI

pip

pip install pyral

uv

uv add pyral

poetry

poetry add pyral

Installing pyral

Before you install

Low install friction with a single dependency on requests. The package is in production/stable status but aging—last release was 287 days ago. Repository remains active with recent commits and modest community engagement (93 stars).

License in practice

BSD-3-Clause is permissive, allowing commercial and private use with minimal restrictions; you must include a copy of the license and retain copyright notices.

Quickstart

pip install pyral

import sys
from pyral import Rally, rallyWorkset

server, user, password, apikey, workspace, project = rallyWorkset([])
rally = Rally(server, user, password, apikey=apikey, workspace=workspace, project=project)
response = rally.get('TestCase', fetch=True, query='FormattedID = "TC1184"')
for testcase in response:
    print(testcase.Name)

Requires requests 2.32.x or better; requires valid Rally subscription credentials (server, user/password or API key, workspace, project).

Verify before relying

  • Whether the package works with Python versions beyond 3.14 or if 3.14 is the current maximum supported.
  • Current state of Rally REST API compatibility—whether the toolkit remains aligned with recent Rally service changes.
  • Whether lazy-loading of related objects (e.g., story.Tasks) incurs automatic API calls and potential rate-limit implications.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 1 — requests
Maintenance aging — 287 days since the last release
Last repo commit
First released
Downloads 81,342/month — #14,235 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyral-1.7.0-py3-none-any.whl

Keywords: rally, api

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries

Tags

rally rest api python clientrally project management sdkagile artifact management pythonrally defect tracking apirally workspace automationrally testcase query pythonrally api integration toolkit
rally-integrationrest-clientproject-management

More Libraries packages