Skip to content

Commit 96e3b6c

Browse files
authored
Expand Ruby and Python configuration option docs (#414)
1 parent ea290f1 commit 96e3b6c

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

fern/products/sdks/overview/python/configuration.mdx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@ groups:
2323
## SDK Configuration Options
2424
2525
<ParamField path="additional_init_exports" type="array" default="null" required={false} toc={true}>
26+
Additional modules or classes to export from the package's `__init__.py` file. This allows you to customize what's available when users import your package.
2627
</ParamField>
2728

2829
<ParamField path="default_bytes_stream_chunk_size" type="number" default="null" required={false} toc={true}>
2930
The chunk size to use (if any) when processing a response bytes stream within `iter_bytes` or `aiter_bytes` results in: `for chunk in response.iter_bytes(chunk_size=<default_bytes_stream_chunk_size>):`
3031
</ParamField>
3132

3233
<ParamField path="exclude_types_from_init_exports" type="bool" default="false" required={false} toc={true}>
34+
When enabled, excludes type definitions from being exported in the package's `__init__.py` file, reducing the public API surface.
3335
</ParamField>
3436

3537
<ParamField path="extra_dependencies" type="object" default="{}" required={false} toc={true}>
@@ -42,12 +44,15 @@ groups:
4244
</ParamField>
4345

4446
<ParamField path="extra_dev_dependencies" type="object" default="{}" required={false} toc={true}>
47+
Specify additional development dependencies to include in the generated SDK's setup configuration. These are dependencies used for development and testing but not required by end users.
4548
</ParamField>
4649

4750
<ParamField path="extras" type="object" default="{}" required={false} toc={true}>
51+
Define optional dependency groups that users can install with your package using pip extras (e.g., `pip install your-package[extra-name]`).
4852
</ParamField>
4953

5054
<ParamField path="flat_layout" type="bool" default="false" required={false} toc={true}>
55+
When enabled, generates a flatter package structure by reducing nested directories and modules.
5156
</ParamField>
5257

5358
<ParamField path="follow_redirects_by_default" type="bool" default="true" required={false} toc={true}>
@@ -63,6 +68,7 @@ groups:
6368
</ParamField>
6469

6570
<ParamField path="include_union_utils" type="bool" default="false" required={false} toc={true}>
71+
When enabled, generates utility methods for working with union types, including factory methods and visitor patterns.
6672
</ParamField>
6773

6874
<ParamField path="inline_path_params" type="bool" default="false" required={false} toc={true}>
@@ -98,20 +104,23 @@ groups:
98104
</ParamField>
99105

100106
<ParamField path="pyproject_toml" type="string" default="null" required={false} toc={true}>
107+
Path to a custom `pyproject.toml` template file to use instead of the default generated one.
101108
</ParamField>
102109

103110
<ParamField path="should_generate_websocket_clients" type="bool" default="false" required={false} toc={true}>
104111
Feature flag that enables generation of Python websocket clients.
105112
</ParamField>
106113

107114
<ParamField path="skip_formatting" type="bool" default="false" required={false} toc={true}>
115+
When enabled, skips code formatting (like black) on the generated Python code.
108116
</ParamField>
109117

110118
<ParamField path="timeout_in_seconds" type="number | 'infinity'" default="60" required={false} toc={true}>
111119
By default, the generator generates a client that times out after 60 seconds. You can customize this value by providing a different number or setting to `infinity` to get rid of timeouts.
112120
</ParamField>
113121

114122
<ParamField path="use_api_name_in_package" type="bool" default="false" required={false} toc={true}>
123+
When enabled, includes the API name as part of the package structure and naming.
115124
</ParamField>
116125

117126
<ParamField path="use_inheritance_for_extended_models" type="bool" default="true" required={false} toc={true}>

fern/products/sdks/overview/ruby/configuration.mdx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,20 @@ groups:
1919
## SDK Configuration Options
2020
2121
<ParamField path="clientClassName" type="string" required={false} toc={true}>
22+
The name of the generated client class. This allows you to customize the class name that users will instantiate when using your SDK.
2223
</ParamField>
23-
2424
<ParamField path="defaultTimeoutInSeconds" type="number | 'infinity'" required={false} toc={true}>
25+
The default timeout for network requests in seconds. In the generated client, this can be overridden at the request level. Set to 'infinity' to disable timeouts.
2526
</ParamField>
26-
2727
<ParamField path="extraDependencies" type="ExtraDependenciesSchema" required={false} toc={true}>
28+
Specify additional dependencies to include in the generated SDK's gemspec. This is useful when you need to add custom gems that your SDK depends on.
2829
</ParamField>
29-
3030
<ParamField path="extraDevDependencies" type="ExtraDependenciesSchema" required={false} toc={true}>
31+
Specify additional development dependencies to include in the generated SDK's gemspec. These are dependencies used for development and testing but not required by end users.
3132
</ParamField>
32-
3333
<ParamField path="flattenModuleStructure" type="boolean" default="false" required={false} toc={true}>
34+
When enabled, flattens the module structure of the generated SDK. This creates a simpler namespace hierarchy by reducing nested modules.
3435
</ParamField>
35-
3636
<ParamField path="useProvidedDefaults" type="boolean" required={false} toc={true}>
37+
When enabled, the SDK will use default values specified in your API definition. This allows you to leverage defaults defined in your Fern specification within the generated Ruby client.
3738
</ParamField>

0 commit comments

Comments
 (0)