---
title: "package(id:_:)"
framework: packagedescription
role: symbol
role_heading: Type Method
path: "packagedescription/package/dependency/package(id:_:)-27raa"
---

# package(id:_:)

Adds a remote package dependency starting with a specific minimum version, up to but not including a specified maximum version.

## Declaration

```swift
static func package(id: String, _ range: Range<Version>) -> Package.Dependency
```

## Parameters

- `id`: The identity of the package.
- `range`: The custom version range requirement.

## Return Value

Return Value A Package.Dependency instance.

## Discussion

Discussion The following example allows the Swift Package Manager to pick versions 1.2.3, 1.2.4, 1.2.5, but not 1.2.6. .package(id: "scope.name", "1.2.3"..<"1.2.6"), The following example allows the Swift Package Manager to pick versions between 1.0.0 and 2.0.0 .package(id: "scope.name", .upToNextMajor(from: "1.0.0"), The following example allows the Swift Package Manager to pick versions between 1.0.0 and 1.1.0 .package(id: "scope.name", .upToNextMinor(from: "1.0.0"), If the package you depend on defines traits, the package manager uses the dependency with its default set of traits.

## See Also

### Creating a package dependency from a registry

- [package(id:from:)](packagedescription/package/dependency/package(id:from:).md)
- [package(id:from:traits:)](packagedescription/package/dependency/package(id:from:traits:).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)
