---
title: "package(id:from:traits:)"
framework: packagedescription
role: symbol
role_heading: Type Method
path: "packagedescription/package/dependency/package(id:from:traits:)"
---

# package(id:from:traits:)

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

## Declaration

```swift
static func package(id: String, from version: Version, traits: Set<Package.Dependency.Trait> = [.defaults]) -> Package.Dependency
```

## Parameters

- `id`: The identity of the package.
- `version`: The minimum version requirement.
- `traits`: The trait configuration of this dependency. The default value enables the default traits of the package.

## 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(id: "scope.name", from: "1.2.3"),

## See Also

### Creating a package dependency from a registry

- [package(id:from:)](packagedescription/package/dependency/package(id:from:).md)
- [package(id:_:)](packagedescription/package/dependency/package(id:_:)-27raa.md)
- [package(id:_:traits:)](packagedescription/package/dependency/package(id:_:traits:)-5rb8r.md)
- [package(id:_:)](packagedescription/package/dependency/package(id:_:)-6anr7.md)
- [package(id:_:traits:)](packagedescription/package/dependency/package(id:_:traits:)-5x94p.md)
- [package(id:exact:)](packagedescription/package/dependency/package(id:exact:).md)
- [package(id:exact:traits:)](packagedescription/package/dependency/package(id:exact:traits:).md)
