<commit_before># Package Registry Service

* Proposal: [SE-0292](0292-package-registry-service.md)
* Authors: [<NAME>](https://github.com/clarkbw),
           [<NAME>](https://github.com/whitneyimura),
           [<NAME>](https://github.com/mattt)
* Review Manager: [<NAME>](https://github.com/tomerd)
* Status: **Active Review (March 25 - April 5 2021)**
* Implementation: [apple/swift-package-manager#3023](https://github.com/apple/swift-package-manager/pull/3023)
* Review: [Review](https://forums.swift.org/t/se-0292-package-registry-service/)
* Previous Revision:
  [1](https://github.com/apple/swift-evolution/blob/b48527526b5748a60b0b23846d5880e9cc2c4711/proposals/0292-package-registry-service.md)

## Introduction

Swift Package Manager downloads dependencies using Git.
Our proposal defines a standard web service interface
that it can also use to download dependencies from a package registry.

Swift-evolution thread:
[Swift Package Registry Service](https://forums.swift.org/t/swift-package-registry-service/37219)

## Motivation

A package dependency is currently specified by a URL to its source repository.
When Swift Package Manager builds a project for the first time,
it clones the Git repository for each dependency
and attempts to resolve the version requirements from the available tags.

Although Git is a capable version-control system,
it's not well-suited to this kind of workflow for the following reasons:

* **Reproducibility**:
  A version tag in the Git repository for a dependency<commit_msg>Update status for SE-0292 to "Returned for revision" (#1364)<commit_after># Package Registry Service

* Proposal: [SE-0292](0292-package-registry-service.md)
* Authors: [<NAME>](https://github.com/clarkbw),
           [<NAME>](https://github.com/whitneyimura),
           [<NAME>](https://github.com/mattt)
* Review Manager: [<NAME>](https://github.com/tomerd)
* Status: **Returned for revision**
* Implementation: [apple/swift-package-manager#3023](https://github.com/apple/swift-package-manager/pull/3023)
* Review: 
  [1](https://forums.swift.org/t/se-0292-package-registry-service/)
  [2](https://forums.swift.org/t/se-0292-2nd-review-package-registry-service/)
* Previous Revision:
  [1](https://github.com/apple/swift-evolution/blob/b48527526b5748a60b0b23846d5880e9cc2c4711/proposals/0292-package-registry-service.md)
  [2](https://github.com/apple/swift-evolution/blob/53bd6d3813c40ebd07701727c8cfb6fedd751e2a/proposals/0292-package-registry-service.md)

## Introduction

Swift Package Manager downloads dependencies using Git.
Our proposal defines a standard web service interface
that it can also use to download dependencies from a package registry.

Swift-evolution thread:
[Swift Package Registry Service](https://forums.swift.org/t/swift-package-registry-service/37219)

## Motivation

A package dependency is currently specified by a URL to its source repository.
When Swift Package Manager builds a project for the first time,
it clones the Git repository for each dependency
and attempts to resolve the version requirements from the available tags.

Although Git is a capable version-control system,
it's not well-suited to this kind of workflow for the following reasons:

* **Reproducibility**:
  A version tag in the Git repository for a dependency
{'fraction_non_alphanumeric': 0.11546642357945913, 'fraction_numerical': 0.05165603160133698, 'mean_word_length': 4.963768115942029, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3422185', 'n_tokens_mistral': 1106, 'n_tokens_neox': 964, 'n_words': 277}