# Python quickstart

> Learn how to generate a Python SDK with Fern. Step-by-step guide to configure generators.yml, run fern generate, and create client libraries.

Generate a Python SDK by following the instructions on this page.

<Info>
  This page assumes that you have:

  * An initialized `fern` folder. See [Set up the `fern`
    folder](/sdks/overview/quickstart).
  * A GitHub repository for your SDK. See [Project Structure](/sdks/overview/project-structure).
</Info>

<Steps>
  ### Pass `fern check`

  Run `fern check` to ensure that your API definition is valid. If there are any errors,
  fix them before proceeding.

  <Note>
    If you're using an OpenAPI Specification, check out all of our
    [supported extensions](/learn/api-definition/openapi/extensions).
  </Note>

  ### Add the SDK generator

  Run the following command to add the Python SDK generator to `generators.yml`:

  ```bash
  fern add fern-python-sdk --group python-sdk
  ```

  <Note>
    `python-sdk` is the name of the `generators.yml` group that configures your Python
    SDK's output location and other metadata. You can customize this group name to
    differentiate between multiple SDKs across different languages (e.g.,
    `ruby-sdk`, etc) in your organization.
  </Note>

  This command adds the following `group` to `generators.yml`:

  ```yaml title="generators.yml"
    python-sdk: # group name
      generators:
        - name: fernapi/fern-python-sdk
          version: 4.50.1
          output:
            location: local-file-system
            path: ../sdks/python
  ```

  ### Generate the SDK

  Run the following command to generate your SDK:

  ```bash
  fern generate --group python-sdk
  ```

  <Note>
    If you have multiple APIs, use the [`--api` flag](/cli-api-reference/cli-reference/commands#api) to specify the API you want to generate:

    ```bash
    fern generate --group python-sdk --api your-api-name
    ```
  </Note>

  This creates a `sdks` folder in your current directory. The resulting folder structure looks like this:

  <Files>
    <Folder name="fern" comment="created by fern init" />

    <Folder name="sdks" defaultOpen comment="created by fern generate --group python-sdk">
      <Folder name="python" defaultOpen>
        <File name="__init__.py" />

        <File name="client.py" />

        <Folder name="core" />

        <Folder name="imdb" defaultOpen comment="or the name of your API">
          <Folder name="errors" />

          <Folder name="types" />
        </Folder>
      </Folder>
    </Folder>
  </Files>

  <Note>
    Some files, including 

    `pyproject.toml`

     and 

    `README.md`

    , are only generated on paid plans.
    To get the fully generated SDK, schedule a


    [demo](https://buildwithfern.com/contact)

     or 

    [email
    us](mailto:support@buildwithfern.com)

    .
  </Note>
</Steps>