Welcome to PyIonic’s documentation!¶
PyIonic is a Python library to interact with Ion Channel’s API. With PyIonic it should be very easy for a user to interact with Ion Channel and get their data.
Quick Start¶
Install PyIonic:
pip install pyionic
Set the IONCHANNEL_SECRET_KEY:
export IONCHANNEL_SECRET_KEY=####IONCHANNEL_SECRET_KEY####
Examples¶
Sample code to report the name, id, and source of all of the projects in a team.
users = core.Users()
team_id = list(users.get_self()['data']['teams'].keys())[0]
projects = core.Projects()
print('--------------------------------')
for project in projects.get_projects(team_id)['data']:
print('Name: %s' % project['name'])
print('ID: %s' % project['id'])
print('Source: %s' % project['source'])
print('--------------------------------')
Sample code to get an analysis for all projects in a team. Reports the name, id, source and if the project passed the last analysis.
users = core.Users()
team_id = list(users.get_self()['data']['teams'].keys())[0]
projects = core.Projects()
analysis = core.Analysis()
print('--------------------------------')
for project in projects.get_projects(team_id)['data']:
print('Name: %s' % project['name'])
print('ID: %s' % project['id'])
print('Source: %s' % project['source'])
analysis_id = analysis.get_analysis_summery(
team_id=team_id,
project_id=project['id']
)['data']['id']
if analysis.get_analysis(
team_id=team_id,
project_id=project['id'],
analysis_id=analysis_id
)['data']['status'] == 'finished':
print('Scan is good!')
print('--------------------------------')
Sample code to count all of the vulnerabilities for Python 3.4
vuln = core.Vulnerability()
vulnerabilities = vuln.get_vulnerabilities('python', '3.4')
print('%s total vulnerabilities found.' % vulnerabilities['meta']['total_count'])
Tests¶
To setup tests you must first export a valid token for the pyionic test team:
export IONCHANNEL_SECRET_KEY=####IONCHANNEL_SECRET_KEY####
Then run:
pipenv run python setup.py test