Tools
PEP8 Conversion
Request
Ensure a Python code follows PEP8 style. The /ai/tools/pep8-convert
API accepts requests in the following format:
PEP8ConvertRequest Model - Request to convert Python code to PEP8 style. | |
---|---|
files | File Array Files present in the project in which the algorithm is. |
Example |
{ "files": "[{"name": "file.py", "content": "fileContent"}]" ] } |
File Model - File for a AI. | |
---|---|
name | string Name of a file. |
content | string Contents of the file. |
Example |
{ "name": "string", "content": "string" } |
Responses
The /ai/tools/pep8-convert
API provides a response in the following format:
200 Success
PEP8ConvertResponse Model - Response to a PEP8 conversion request. | |
---|---|
state | string State of PEP8 conversion. |
version | string Version of the response. |
payload | dict PEP8 converted code. |
payloadType | string Type of the payload, e.g. StringDict. |
Example |
{ "state": "End", "version": 2.0, "payload": { "utils.py": "def add(a,b):\n return a+b\n" }, "payloadType": "StringDict" } |
401 Authentication Error
UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. | |
---|---|
www_authenticate | string Header |
Examples
The following example demonstates PEP8 conversion of python codes through the cloud API.
from base64 import b64encode from hashlib import sha256 from time import time from requests import get, post BASE_URL = 'https://www.quantconnect.com/api/v2/' # You need to replace these with your actual credentials. # You can request your credentials at https://www.quantconnect.com/settings/ # You can find our organization ID at https://www.quantconnect.com/organization/ USER_ID = 0 API_TOKEN = '____' ORGANIZATION_ID = '____' def get_headers(): # Get timestamp timestamp = f'{int(time())}' time_stamped_token = f'{API_TOKEN}:{timestamp}'.encode('utf-8') # Get hased API token hashed_token = sha256(time_stamped_token).hexdigest() authentication = f'{USER_ID}:{hashed_token}'.encode('utf-8') authentication = b64encode(authentication).decode('ascii') # Create headers dictionary. return { 'Authorization': f'Basic {authentication}', 'Timestamp': timestamp } # Authenticate to verify credentials response = post(f'{BASE_URL}/authenticate', headers = get_headers()) print(response.json()) # -------------------- ### PEP8 Conversion # Send a POST request to the /ai/tools/pep8-convert endpoint to convert code to PEP8 syntax response = post(f'{BASE_URL}/ai/tools/pep8-convert', headers=get_headers(), json={ "files": [ # List of files to convert { "name": "utils.py", # Name of the file "content": ''' # region imports from AlgorithmImports import * # endregion class Project(QCAlgorithm): def Initialize(self): self.AddEquity("SPY", Resolution.Minute) ''' # Content of the file (Python code) } ] }) # Parse the JSON response into python managable dict result = response.json() # Check if the request was successful and print the PEP8 conversion results if result['success']: print("PEP8 Conversion Results:") print(result)