Commit 10e68d42 authored by Peter Bittner's avatar Peter Bittner Committed by Peter Bittner

Fix spelling of PyPI, the Python Package Index

parent a93a8a2b
...@@ -82,7 +82,7 @@ export const PACKAGE_REGISTRY_TABS = [ ...@@ -82,7 +82,7 @@ export const PACKAGE_REGISTRY_TABS = [
type: PackageType.NUGET, type: PackageType.NUGET,
}, },
{ {
title: s__('PackageRegistry|PyPi'), title: s__('PackageRegistry|PyPI'),
type: PackageType.PYPI, type: PackageType.PYPI,
}, },
]; ];
......
...@@ -18,7 +18,7 @@ export const getPackageTypeLabel = packageType => { ...@@ -18,7 +18,7 @@ export const getPackageTypeLabel = packageType => {
case PackageType.NUGET: case PackageType.NUGET:
return s__('PackageType|NuGet'); return s__('PackageType|NuGet');
case PackageType.PYPI: case PackageType.PYPI:
return s__('PackageType|PyPi'); return s__('PackageType|PyPI');
case PackageType.COMPOSER: case PackageType.COMPOSER:
return s__('PackageType|Composer'); return s__('PackageType|Composer');
......
# frozen_string_literal: true # frozen_string_literal: true
# Display package version data acording to PyPi # Display package version data acording to PyPI
# Simple API: https://warehouse.pypa.io/api-reference/legacy/#simple-project-api # Simple API: https://warehouse.pypa.io/api-reference/legacy/#simple-project-api
module Packages module Packages
module Pypi module Pypi
...@@ -12,7 +12,7 @@ module Packages ...@@ -12,7 +12,7 @@ module Packages
@project = project @project = project
end end
# Returns the HTML body for PyPi simple API. # Returns the HTML body for PyPI simple API.
# Basically a list of package download links for a specific # Basically a list of package download links for a specific
# package # package
def body def body
......
---
title: Fix spelling of PyPI
merge_request: 44058
author: Peter Bittner (@bittner)
type: other
...@@ -181,7 +181,7 @@ successfully, you must replicate their data using some other means. ...@@ -181,7 +181,7 @@ successfully, you must replicate their data using some other means.
| [Maven Repository](../../../user/packages/maven_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [Maven Repository](../../../user/packages/maven_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default |
| [Conan Repository](../../../user/packages/conan_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [Conan Repository](../../../user/packages/conan_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default |
| [NuGet Repository](../../../user/packages/nuget_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [NuGet Repository](../../../user/packages/nuget_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default |
| [PyPi Repository](../../../user/packages/pypi_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [PyPI Repository](../../../user/packages/pypi_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default |
| [Composer Repository](../../../user/packages/composer_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [Composer Repository](../../../user/packages/composer_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default |
| [Versioned Terraform State](../../terraform_state.md) | **Yes** (13.5) | No | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_terraform_state_version_replication`, enabled by default | | [Versioned Terraform State](../../terraform_state.md) | **Yes** (13.5) | No | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_terraform_state_version_replication`, enabled by default |
| [External merge request diffs](../../merge_request_diffs.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/33817) | No | Via Object Storage provider if supported. Native Geo support (Beta). | | | [External merge request diffs](../../merge_request_diffs.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/33817) | No | Via Object Storage provider if supported. Native Geo support (Beta). | |
......
...@@ -14,7 +14,7 @@ The Packages feature allows GitLab to act as a repository for the following: ...@@ -14,7 +14,7 @@ The Packages feature allows GitLab to act as a repository for the following:
| Software repository | Description | Available in GitLab version | | Software repository | Description | Available in GitLab version |
| ------------------- | ----------- | --------------------------- | | ------------------- | ----------- | --------------------------- |
| [PyPi Repository](../../user/packages/pypi_repository/index.md) | The GitLab PyPi Repository enables every project in GitLab to have its own space to store [PyPi](https://pypi.org/) packages. | 12.10+ | | [PyPI Repository](../../user/packages/pypi_repository/index.md) | The GitLab PyPI Repository enables every project in GitLab to have its own space to store [PyPI](https://pypi.org/) packages. | 12.10+ |
| [Composer Repository](../../user/packages/composer_repository/index.md) | The GitLab Composer Repository enables every project in GitLab to have its own space to store [Composer](https://getcomposer.org/) packages. | 13.1+ | | [Composer Repository](../../user/packages/composer_repository/index.md) | The GitLab Composer Repository enables every project in GitLab to have its own space to store [Composer](https://getcomposer.org/) packages. | 13.1+ |
| [NuGet Repository](../../user/packages/nuget_repository/index.md) | The GitLab NuGet Repository enables every project in GitLab to have its own space to store [NuGet](https://www.nuget.org/) packages. | 12.8+ | | [NuGet Repository](../../user/packages/nuget_repository/index.md) | The GitLab NuGet Repository enables every project in GitLab to have its own space to store [NuGet](https://www.nuget.org/) packages. | 12.8+ |
| [Conan Repository](../../user/packages/conan_repository/index.md) | The GitLab Conan Repository enables every project in GitLab to have its own space to store [Conan](https://conan.io/) packages. | 12.4+ | | [Conan Repository](../../user/packages/conan_repository/index.md) | The GitLab Conan Repository enables every project in GitLab to have its own space to store [Conan](https://conan.io/) packages. | 12.4+ |
......
...@@ -4,14 +4,14 @@ group: Package ...@@ -4,14 +4,14 @@ group: Package
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
--- ---
# GitLab PyPi Repository # GitLab PyPI Repository
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/208747) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/208747) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/221259) to GitLab Core in 13.3. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/221259) to GitLab Core in 13.3.
With the GitLab PyPi Repository, every project can have its own space to store PyPi packages. With the GitLab PyPI Repository, every project can have its own space to store PyPI packages.
The GitLab PyPi Repository works with: The GitLab PyPI Repository works with:
- [pip](https://pypi.org/project/pip/) - [pip](https://pypi.org/project/pip/)
- [twine](https://pypi.org/project/twine/) - [twine](https://pypi.org/project/twine/)
...@@ -20,13 +20,13 @@ The GitLab PyPi Repository works with: ...@@ -20,13 +20,13 @@ The GitLab PyPi Repository works with:
You need a recent version of [pip](https://pypi.org/project/pip/) and [twine](https://pypi.org/project/twine/). You need a recent version of [pip](https://pypi.org/project/pip/) and [twine](https://pypi.org/project/twine/).
## Enabling the PyPi Repository ## Enabling the PyPI Repository
NOTE: **Note:** NOTE: **Note:**
This option is available only if your GitLab administrator has This option is available only if your GitLab administrator has
[enabled support for the Package Registry](../../../administration/packages/index.md). [enabled support for the Package Registry](../../../administration/packages/index.md).
After the PyPi Repository is enabled, it is available for all new projects After the PyPI Repository is enabled, it is available for all new projects
by default. To enable it for existing projects, or if you want to disable it: by default. To enable it for existing projects, or if you want to disable it:
1. Navigate to your project's **Settings > General > Visibility, project features, permissions**. 1. Navigate to your project's **Settings > General > Visibility, project features, permissions**.
...@@ -37,8 +37,8 @@ You should then be able to see the **Packages & Registries** section on the left ...@@ -37,8 +37,8 @@ You should then be able to see the **Packages & Registries** section on the left
## Getting started ## Getting started
This section covers creating a new example PyPi package to upload. This is a This section covers creating a new example PyPI package to upload. This is a
quickstart to test out the **GitLab PyPi Registry**. If you already understand how quickstart to test out the **GitLab PyPI Registry**. If you already understand how
to build and publish your own packages, move on to the [next section](#adding-the-gitlab-pypi-repository-as-a-source). to build and publish your own packages, move on to the [next section](#adding-the-gitlab-pypi-repository-as-a-source).
### Create a project ### Create a project
...@@ -152,10 +152,10 @@ And confirm your output matches the below: ...@@ -152,10 +152,10 @@ And confirm your output matches the below:
mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz
``` ```
Our package is now all set up and ready to be uploaded to the **GitLab PyPi Our package is now all set up and ready to be uploaded to the **GitLab PyPI
Package Registry**. Before we do so, we next need to set up authentication. Package Registry**. Before we do so, we next need to set up authentication.
## Adding the GitLab PyPi Repository as a source ## Adding the GitLab PyPI Repository as a source
### Authenticating with a personal access token ### Authenticating with a personal access token
...@@ -256,7 +256,7 @@ TWINE_PASSWORD=<personal_access_token or deploy_token> TWINE_USERNAME=<username ...@@ -256,7 +256,7 @@ TWINE_PASSWORD=<personal_access_token or deploy_token> TWINE_USERNAME=<username
``` ```
If you did not follow the guide above, then you need to ensure your package If you did not follow the guide above, then you need to ensure your package
has been properly built and you [created a PyPi package with `setuptools`](https://packaging.python.org/tutorials/packaging-projects/). has been properly built and you [created a PyPI package with `setuptools`](https://packaging.python.org/tutorials/packaging-projects/).
You can then upload your package using the following command: You can then upload your package using the following command:
......
...@@ -18281,7 +18281,7 @@ msgstr "" ...@@ -18281,7 +18281,7 @@ msgstr ""
msgid "PackageRegistry|Published to the %{project} Package Registry %{datetime}" msgid "PackageRegistry|Published to the %{project} Package Registry %{datetime}"
msgstr "" msgstr ""
msgid "PackageRegistry|PyPi" msgid "PackageRegistry|PyPI"
msgstr "" msgstr ""
msgid "PackageRegistry|Recipe: %{recipe}" msgid "PackageRegistry|Recipe: %{recipe}"
...@@ -18365,7 +18365,7 @@ msgstr "" ...@@ -18365,7 +18365,7 @@ msgstr ""
msgid "PackageType|NuGet" msgid "PackageType|NuGet"
msgstr "" msgstr ""
msgid "PackageType|PyPi" msgid "PackageType|PyPI"
msgstr "" msgstr ""
msgid "Packages" msgid "Packages"
......
...@@ -101,7 +101,7 @@ describe('Getters PackageDetails Store', () => { ...@@ -101,7 +101,7 @@ describe('Getters PackageDetails Store', () => {
${packageWithoutBuildInfo} | ${'Maven'} ${packageWithoutBuildInfo} | ${'Maven'}
${npmPackage} | ${'NPM'} ${npmPackage} | ${'NPM'}
${nugetPackage} | ${'NuGet'} ${nugetPackage} | ${'NuGet'}
${pypiPackage} | ${'PyPi'} ${pypiPackage} | ${'PyPI'}
`(`package type`, ({ packageEntity, expectedResult }) => { `(`package type`, ({ packageEntity, expectedResult }) => {
beforeEach(() => setupState({ packageEntity })); beforeEach(() => setupState({ packageEntity }));
......
...@@ -385,7 +385,7 @@ exports[`packages_list_app renders 1`] = ` ...@@ -385,7 +385,7 @@ exports[`packages_list_app renders 1`] = `
</b-tab-stub> </b-tab-stub>
<b-tab-stub <b-tab-stub
tag="div" tag="div"
title="PyPi" title="PyPI"
titlelinkclass="gl-tab-nav-item" titlelinkclass="gl-tab-nav-item"
> >
<template> <template>
...@@ -400,7 +400,7 @@ exports[`packages_list_app renders 1`] = ` ...@@ -400,7 +400,7 @@ exports[`packages_list_app renders 1`] = `
class="svg-250 svg-content" class="svg-250 svg-content"
> >
<img <img
alt="There are no PyPi packages yet" alt="There are no PyPI packages yet"
class="gl-max-w-full" class="gl-max-w-full"
src="helpSvg" src="helpSvg"
/> />
...@@ -416,7 +416,7 @@ exports[`packages_list_app renders 1`] = ` ...@@ -416,7 +416,7 @@ exports[`packages_list_app renders 1`] = `
<h1 <h1
class="h4" class="h4"
> >
There are no PyPi packages yet There are no PyPI packages yet
</h1> </h1>
<p> <p>
......
...@@ -37,7 +37,7 @@ describe('Packages shared utils', () => { ...@@ -37,7 +37,7 @@ describe('Packages shared utils', () => {
${'maven'} | ${'Maven'} ${'maven'} | ${'Maven'}
${'npm'} | ${'NPM'} ${'npm'} | ${'NPM'}
${'nuget'} | ${'NuGet'} ${'nuget'} | ${'NuGet'}
${'pypi'} | ${'PyPi'} ${'pypi'} | ${'PyPI'}
${'composer'} | ${'Composer'} ${'composer'} | ${'Composer'}
${'foo'} | ${null} ${'foo'} | ${null}
`(`package type`, ({ packageType, expectedResult }) => { `(`package type`, ({ packageType, expectedResult }) => {
......
This diff is collapsed.
# frozen_string_literal: true # frozen_string_literal: true
RSpec.shared_examples 'PyPi package creation' do |user_type, status, add_member = true| RSpec.shared_examples 'PyPI package creation' do |user_type, status, add_member = true|
RSpec.shared_examples 'creating pypi package files' do RSpec.shared_examples 'creating pypi package files' do
it 'creates package files' do it 'creates package files' do
expect { subject } expect { subject }
...@@ -106,7 +106,7 @@ RSpec.shared_examples 'PyPi package creation' do |user_type, status, add_member ...@@ -106,7 +106,7 @@ RSpec.shared_examples 'PyPi package creation' do |user_type, status, add_member
end end
end end
RSpec.shared_examples 'PyPi package versions' do |user_type, status, add_member = true| RSpec.shared_examples 'PyPI package versions' do |user_type, status, add_member = true|
context "for user type #{user_type}" do context "for user type #{user_type}" do
before do before do
project.send("add_#{user_type}", user) if add_member && user_type != :anonymous project.send("add_#{user_type}", user) if add_member && user_type != :anonymous
...@@ -123,7 +123,7 @@ RSpec.shared_examples 'PyPi package versions' do |user_type, status, add_member ...@@ -123,7 +123,7 @@ RSpec.shared_examples 'PyPi package versions' do |user_type, status, add_member
end end
end end
RSpec.shared_examples 'PyPi package download' do |user_type, status, add_member = true| RSpec.shared_examples 'PyPI package download' do |user_type, status, add_member = true|
context "for user type #{user_type}" do context "for user type #{user_type}" do
before do before do
project.send("add_#{user_type}", user) if add_member && user_type != :anonymous project.send("add_#{user_type}", user) if add_member && user_type != :anonymous
...@@ -140,7 +140,7 @@ RSpec.shared_examples 'PyPi package download' do |user_type, status, add_member ...@@ -140,7 +140,7 @@ RSpec.shared_examples 'PyPi package download' do |user_type, status, add_member
end end
end end
RSpec.shared_examples 'process PyPi api request' do |user_type, status, add_member = true| RSpec.shared_examples 'process PyPI api request' do |user_type, status, add_member = true|
context "for user type #{user_type}" do context "for user type #{user_type}" do
before do before do
project.send("add_#{user_type}", user) if add_member && user_type != :anonymous project.send("add_#{user_type}", user) if add_member && user_type != :anonymous
...@@ -155,13 +155,13 @@ RSpec.shared_examples 'rejects PyPI access with unknown project id' do ...@@ -155,13 +155,13 @@ RSpec.shared_examples 'rejects PyPI access with unknown project id' do
let(:project) { OpenStruct.new(id: 1234567890) } let(:project) { OpenStruct.new(id: 1234567890) }
context 'as anonymous' do context 'as anonymous' do
it_behaves_like 'process PyPi api request', :anonymous, :not_found it_behaves_like 'process PyPI api request', :anonymous, :not_found
end end
context 'as authenticated user' do context 'as authenticated user' do
subject { get api(url), headers: basic_auth_header(user.username, personal_access_token.token) } subject { get api(url), headers: basic_auth_header(user.username, personal_access_token.token) }
it_behaves_like 'process PyPi api request', :anonymous, :not_found it_behaves_like 'process PyPI api request', :anonymous, :not_found
end end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment