Python client for Perforce Helix Swarm (review board)
Project description
Package supports sync and async syntax with same code base.
from helixswarm import SwarmAsyncClient, SwarmClient
Documentation
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.
Latest version of code can be download from official page: https://www.perforce.com/downloads/helix-swarm
Official REST API documentation
API |
Date |
Notes |
---|---|---|
October 2019 |
Integration with CI tools |
|
April 2018 |
Review append and replace changelist, 2fa, mark comment as read |
|
December 2017 |
Default reviewers |
|
October 2017 |
Groups as review participants, groups as moderators of project |
|
May 2017 |
Activity dashboard, archiving reviews, cleaning reviews, for voting reviews |
|
v5 |
October 2016 |
Limiting comments to a specific review version |
October 2016 |
Private projects, file-level and line-level inline comments |
|
v3 |
September 2016 |
Comments management |
May 2016 |
Projects, groups |
|
October 2015 |
Author filter to the list reviews endpoint |
|
January 201 |
Required reviewers |
|
July 2014 |
Initial |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file helixswarm-0.7.4.tar.gz
.
File metadata
- Download URL: helixswarm-0.7.4.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b03654b810c9a3594faaf850e3f5563088abdc8d2b769782bcb641258cf7f2a7 |
|
MD5 | 2814223bbaea17aaebf87600467c228d |
|
BLAKE2b-256 | 09be1f9f833f37720fba730c003d047c99fd958942337692bf5c7bdcd1797065 |
File details
Details for the file helixswarm-0.7.4-py3-none-any.whl
.
File metadata
- Download URL: helixswarm-0.7.4-py3-none-any.whl
- Upload date:
- Size: 38.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ee3b54125e54a81fbbea56e078f7cc30ab2556a1b845a5f08d2765a8e50b512 |
|
MD5 | 138478b5edb7951423f98035e446ab09 |
|
BLAKE2b-256 | 3dd31104bbd5a766c75e0621e30d90263114df2b94ffecd4a5df57cae34ca07b |