diff --git a/.changeset/brave-camels-trade.md b/.changeset/brave-camels-trade.md new file mode 100644 index 000000000..54c3b8750 --- /dev/null +++ b/.changeset/brave-camels-trade.md @@ -0,0 +1,5 @@ +--- +'@gitbook/react-openapi': minor +--- + +Add Python support in Code Samples diff --git a/packages/react-openapi/src/code-samples.ts b/packages/react-openapi/src/code-samples.ts index b75bebb4f..23e4bb60b 100644 --- a/packages/react-openapi/src/code-samples.ts +++ b/packages/react-openapi/src/code-samples.ts @@ -65,6 +65,25 @@ export const codeSampleGenerators: CodeSampleGenerator[] = [ return lines.map((line, index) => (index > 0 ? indent(line, 2) : line)).join(separator); }, }, + { + id: 'python', + label: 'Python', + syntax: 'python', + generate: ({ method, url, headers, body }) => { + let code = 'import requests\n\n'; + code += `response = requests.${method.toLowerCase()}(\n`; + code += indent(`"${url}",\n`, 4); + if (headers) { + code += indent(`headers=${JSON.stringify(headers)},\n`, 4); + } + if (body) { + code += indent(`json=${JSON.stringify(body)}\n`, 4); + } + code += ')\n'; + code += `data = response.json()`; + return code; + }, + }, ]; function indent(code: string, spaces: number) {