---
title: "package(name:url:from:)"
framework: swift-package-manager
role: symbol
role_heading: Type Method
path: "swift-package-manager/documentation/packagedescription/package/dependency/package(name:url:from:)"
---

# package(name:url:from:)

Adds a remote package dependency with a version requirement, starting with the given minimum version, going up to the next major version.

## Declaration

```swift
static func package(name: String, url: String, from version: Version) -> Package.Dependency
```

## Parameters

- `name`: The name of the Swift package or nil to deduce the name from the package’s Git URL.
- `url`: The valid Git URL of the package.
- `version`: The minimum version requirement.

## Return Value

Return Value A Package.Dependency instance.

## Discussion

Discussion This is the recommended way to specify a remote package dependency. It allows you to specify the minimum version you require, allows updates that include bug fixes and backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency. This approach provides the maximum flexibility on which version to use, while making sure you don’t update to a version with breaking changes, and helps to prevent conflicts in your dependency graph. The following example allows the Swift package manager to select a version like a 1.2.3, 1.2.4, or 1.3.0, but not 2.0.0. .package(url: "https://example.com/example-package.git", from: "1.2.3"),

## See Also

### Deprecated methods

- [package(name:url:_:)](swift-package-manager/documentation/packagedescription/package/dependency/package(name:url:_:)-6k3na.md)
- [package(name:url:_:)](swift-package-manager/documentation/packagedescription/package/dependency/package(name:url:_:)-nqbk.md)
- [package(name:url:_:)](swift-package-manager/documentation/packagedescription/package/dependency/package(name:url:_:)-7zltl.md)
- [package(name:url:branch:)](swift-package-manager/documentation/packagedescription/package/dependency/package(name:url:branch:).md)
- [package(name:url:revision:)](swift-package-manager/documentation/packagedescription/package/dependency/package(name:url:revision:).md)
- [package(url:_:)](swift-package-manager/documentation/packagedescription/package/dependency/package(url:_:)-4tkwi.md)
- [name](swift-package-manager/documentation/packagedescription/package/dependency/name.md)
- [url](swift-package-manager/documentation/packagedescription/package/dependency/url.md)
- [requirement](swift-package-manager/documentation/packagedescription/package/dependency/requirement-swift.property.md)
- [Package.Dependency.Requirement](swift-package-manager/documentation/packagedescription/package/dependency/requirement-swift.enum.md)
