Skip to main content

Python client for Helix Swarm

Build status Docs status Coverage status Version status Downloads status 1 Downloads status 2


Package supports sync and async syntax with same code base.

from helixswarm import SwarmAsyncClient, SwarmClient

Documentation

Read the Docs

Official REST API PDF

Installation

There are two identical packages: helix-swarm and alias helixswarm, alias was created one year later due name confusion, to be import name and package name will the same.

pip3 install helixswarm

Examples

Get review info:

from helixswarm import SwarmClient

client = SwarmClient('http://server/api/v9', 'user', 'password')
review = client.reviews.get_info(12345)
print(review['review']['author'])

Add comment to review in async way (be careful SwarmAsyncClient must be called inside async function):

import asyncio
from helixswarm import SwarmAsyncClient

async def example():
    client = SwarmAsyncClient('http://server/api/v5', 'user', 'password')
    await client.comments.add('reviews/12345', 'my awesome comment')

asyncio.run(example())

Update credentials handler:

import requests
from helixswarm import SwarmClient

def get_credentials():
    response = requests.get(...).json()
    return response['user'], response['password']

client = SwarmClient(
    'http://server/api/v9',
    'user',
    'password',
    auth_update_callback=get_credentials
)

# let's suppose credentials are valid now
review = client.reviews.get_info(12345)
print(review['review']['author'])

# now, after some time, password of user somehow changed, so our callback
# will be called, new credentials will be using for retry and future
# here we get also correct review data instead of SwarmUnauthorizedError
# exception
review = client.reviews.get_info(12345)
print(review['review']['author'])

Testing

Prerequisites: tox

Then just run tox, all dependencies and checks will run automatically

tox

Contributing

Feel free to any contributions.

Mirror repositories of review board source code:

Latest version of code can be download from official page: https://www.perforce.com/downloads/helix-swarm

Official REST API documentation

API

Date

Notes

v10

October 2019

Integration with CI tools

v9

April 2018

Review append and replace changelist, 2fa, mark comment as read

v8

December 2017

Default reviewers

v7

October 2017

Groups as review participants, groups as moderators of project

v6

May 2017

Activity dashboard, archiving reviews, cleaning reviews, for voting reviews

v5

October 2016

Limiting comments to a specific review version

v4

October 2016

Private projects, file-level and line-level inline comments

v3

September 2016

Comments management

v2

May 2016

Projects, groups

v1.2

October 2015

Author filter to the list reviews endpoint

v1.1

January 201

Required reviewers

v1

July 2014

Initial

Metadata

Release files for helix-swarm 0.7.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for helix-swarm 0.7.4
File Size Uploaded
helix-swarm-0.7.4.tar.gz 27.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for helix-swarm 0.7.4
File Interpreter ABI Platform
helix_swarm-0.7.4-py3-none-any.whl Python 3 none any Details

Total release size: 66.5 kB

Release files / helix-swarm-0.7.4.tar.gz

Download URL helix-swarm-0.7.4.tar.gz
Size 27.6 kB
Tags Source
SHA-256 checksum
How to use checksums
405c7cd55bc4b32285c0a9c646176c223977eca5dc420e82572e23561593c528
BLAKE2b-256 checksum
How to use checksums
85d93a2bfb0bd97d9124decba07c5703f3d88e71219d7863c12138b162cbbbdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release files / helix_swarm-0.7.4-py3-none-any.whl

Download URL helix_swarm-0.7.4-py3-none-any.whl
Size 38.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a91c50e7b3e5262b21cbf2b70c81689a14170ebef24f68883fa17820aa304492
BLAKE2b-256 checksum
How to use checksums
212fdc3ae98d5d2720eea4d926ebe09a96e7ece27d658340a791c57f68440333
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.7.4 This release

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page