# Create a PyPI Repository

To install or publish PyPI packages, creation of a PyPI repository is required. Check out [Nexus Repository Management](https://help.sonatype.com/en/repository-management.html "Repository Management") and [Repository Types](https://help.sonatype.com/en/repository-types.html "Repository Types") to learn more.

## PyPI Proxy Repository

Use Nexus proxy repository when you want to download packages and centralize package caching of external dependencies. To learn more, check [Proxy Repositories](https://help.sonatype.com/en/repository-types.html#proxy-repository-type "Proxy Repository Type").

To create a new PyPI proxy repository, take the following steps:

1. Navigate to _Settings_ → _Repository_ → _Repositories_.
2. Select the _Create repository_ button.
3. From the list of Recipes, select _pypi (proxy)_.
4. In the form that appears, complete the required fields.
   - Repository Name, for example _pypi-proxy_
   - Remote storage URL, for example [https://pypi.org/](https://pypi.org/) or [https://pypi.python.org/](https://pypi.python.org/) as long as redirects are maintained
   - Blob store
5. Complete the additional fields for configurations you want to add for your repository. Available configurations differ by repository format and type. See [Configurable Repository Fields](https://help.sonatype.com/en/configurable-repository-fields.html "Configurable Repository Fields") for more details.
6. Select _Create repository_.

**Note**  
- PyPI proxy repositories now support remote URLs that serve packages from either the `/simple` endpoint or the root index. This adds support for repositories such as [https://pypi.nvidia.com](https://pypi.nvidia.com/), which do not follow the `/simple` convention. Configuration is available in the UI during PyPI proxy repository creation and through the REST API.
- When Nexus Repository proxies PyPI content, it rewrites the simple index response body. As a result, the ETag values displayed in the Browse UI and returned to clients differ from the ETag that Nexus sends upstream to PyPI on conditional `GET` requests.

## PyPI Hosted Repository

Use Nexus hosted repository when you want to publish and store your own internal artifacts and third-party components, so they can be consumed via Nexus. To learn more, check [Hosted Repositories](https://help.sonatype.com/en/repository-types.html#hosted-repository-type "Hosted Repository Type").

To create a new PyPI hosted repository, take the following steps:

1. Navigate to _Settings_ → _Repository_ → _Repositories_.
2. Select the _Create repository_ button.
3. From the list of Recipes, select _pypi (hosted)_.
4. In the form that appears, complete the required fields.
   - Repository Name, for example _pypi-internal_
   - Blob store
5. Complete the additional fields for configurations you want to add for your repository. Available configurations differ by repository format and type. See [Configurable Repository Fields](https://help.sonatype.com/en/configurable-repository-fields.html "Configurable Repository Fields") for more details.
6. Select _Create repository_.

## PyPI Group Repository

Use Nexus group repository when you want to combine multiple other repositories (proxy, hosted, and other groups) and expose them through a single URL. To learn more, check [Group Repositories](https://help.sonatype.com/en/repository-types.html#group-repository-type "Group Repository Type").

To create a new PyPI group repository, take the following steps:

1. Navigate to _Settings_ → _Repository_ → _Repositories_.
2. Select the _Create repository_ button.
3. From the list of Recipes, select _pypi (group)_.
4. In the form that appears, complete the required fields.
   - Repository Name, for example _pypi-group_
   - Blob store
   - Member repositories in the desired order
5. Complete the additional fields for configurations you want to add for your repository. Available configurations differ by repository format and type. See [Configurable Repository Fields](https://help.sonatype.com/en/configurable-repository-fields.html "Configurable Repository Fields") for more details.
6. Select _Create repository_.
