Summary
Shares a package by uploading to ArcGIS Online or ArcGIS Enterprise.
Usage
Supported package types include the following:
- Geoprocessing packages (.gpk, .gpkx)
- Layer packages (.lpk, .lpkx)
- Locator packages (.gcpk)
- Map packages (.mpk, .mpkx)
- Tile packages (.tpk, .tpkx)
- Mobile map packages (.mmpk)
- Scene layer packages (.slpk)
- Vector tile packages (.vtpk)
- Project packages and project templates (.ppkx, .aptx)
You will not be able to enter your ArcGIS Online or ArcGIS Enterprise user name and password when using this tool inside ArcGIS Pro. The tool will obtain your credentials from ArcGIS Pro itself. You must be signed in and connected to ArcGIS Online or ArcGIS Enterprise before you can share a package with this tool.
To share a package with ArcGIS Online or ArcGIS Enterprise, a summary and one or more tags are required. The required summary and tags, along with optional package description and credits, will be used when searching for packages online.
If a package of the same name already exists in your ArcGIS Online or ArcGIS Enterprise organization, it will be overwritten.
If you share a tile package, scene layer package, or vector tile package, you have the option to publish the package automatically as a web layer of the corresponding type. (A tile package is published as a web tile layer, a scene layer package as a web scene layer, and a vector tile package as a vector tile layer.) To publish a web layer successfully, you must have the necessary privileges in your active portal account.
To share a package to ArcGIS Online with a public account, your Esri Global Account needs to be registered as a member of ArcGIS Online. To create and register an Esri Global Account, go to arcgis.com/home/signup.html.
Note:
This tool may have limited use in a Python script outside of ArcGIS applications when sharing a package to a portal that uses OAUTH2 authentication. ArcGIS Online for example, uses this authentication method. To authenticate, you must connect directly to the portal from the application. You will only be able to use this tool in a Python script if the application is open and connected to the portal, or you're connecting to a portal that uses traditional authentication mechanisms and allows the user name and password to be passed in.
Syntax
arcpy.management.SharePackage(in_package, username, password, summary, tags, {credits}, {public}, {groups}, {organization}, {publish_web_layer}, {portal_folder})
Parameter | Explanation | Data Type |
in_package |
Input layer (.lpk, .lpkx), scene layer (.slpk), map (.mpk, .mpkx), geoprocessing (.gpk, .gpkx), tile (.tpk, .tpkx), mobile map (.mmpk), vector tile (.vtpk), address locator (.gcpk), or project (.ppkx, .aptx) package file. | File |
username | The ArcGIS Online or ArcGIS Enterprise user name. This parameter will have limited use from a Python script when sharing a package to a portal that uses OAUTH2 authentication. See the usage notes for more information. | String |
password | The ArcGIS Online or ArcGIS Enterprise password. This parameter will have limited use from a Python script when sharing a package to a portal that uses OAUTH2 authentication. See the usage notes for more information. | Encrypted String |
summary | Summary of the package. The summary is displayed in the item information of the package on ArcGIS Online or ArcGIS Enterprise. | String |
tags | Tags used to describe and identify the package. Individual tags are separated using either a comma or semicolon. | String |
credits (Optional) | Credits for the package. This is generally the name of the organization that is given credit for authoring and providing the content for the package. | String |
public (Optional) | Specifies whether input package will be shared and available to everybody.
| Boolean |
groups [group_name,...] (Optional) | List of groups to share package with. | String |
organization (Optional) | Specifies whether the input package will be available within your organization only or shared publicly to everyone.
| Boolean |
publish_web_layer (Optional) | Specifies whether the package will be published as a web layer to your portal. Only tile packages, vector tile packages, and scene layer packages are supported.
| Boolean |
portal_folder (Optional) | Specifies an existing folder or the name of a new folder on the portal for the package. If a web layer is published, it is stored in the same folder. | String |
Derived Output
Name | Explanation | Data Type |
out_results | The result of uploading the package and publishing the web layer if specified. Returns True on success. | Boolean |
package_item_id | The portal item ID of the package. | String |
publish_results | The JSON response containing the service URL and portal item ID of the web layer. | String |
Code sample
The following script uploads a layer package to the active portal.
import arcpy
arcpy.SharePackage_management(r"C:\states.lpkx", "username", "password",
"My Summary", "tag1, tag2", "My Credits",
"MYGROUPS", "My Group")
The following script uploads a tile package to the active portal and publishes it as a web layer.
import arcpy
arcpy.SharePackage_management(r"C:\states.tpk", "username", "password",
"My Summary", "tag1, tag2", "My Credits",
"MYGROUPS", "My Group", "MYORGANIZATION", "TRUE",
"My Folder")
The following script finds all map packages that reside in a specified folder and uploads them to the active portal.
# Name: SharePackageExample.py
# Description: Find all map packages that reside in a specified folder
# and upload them to the active portal.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/data/my_packages"
# Loop through the workspace to find all map packages
for mpkx in arcpy.ListFiles("*.mpkx"):
print("Uploading " + mpkx)
arcpy.SharePackage_management(mpkx, "username", "password",
"My Summary", "tag1, tag2",
"My Credits", "MYGROUPS", "My Group")
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes