arcgis
ArcGIS API for Python
Decision gist · record as of 2026-08-14
Yes, if you work with ArcGIS services or Esri data and need programmatic access from Python. The library is actively maintained, has low install friction, and integrates well with the scientific Python stack. However, review the Esri MLA license terms carefully before use in commercial or redistributed contexts, and be aware that the 25 runtime dependencies create a substantial environment footprint.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11–3.14; ArcGIS services may require authentication or API credentials for full functionality.
- Low install friction with a pure-wheel distribution.
- Active maintenance status and support for current Python versions (3.11–3.14).
License · maintenance · safety
(unclear) — Licensed under Esri Master License Agreement (MLA), not an open-source license. License treatment is unclear in the system; review the MLA terms directly before use in commercial or redistributed contexts.
last release 2026-04-21 (115 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 229,270 downloads/mo, #9,135 on PyPI
Alternatives
Verify before relying
pip install arcgis
from arcgis.gis import GIS
gis = GIS()
map_widget = gis.map()- Whether Esri MLA permits commercial use or redistribution without additional licensing.
- Whether the 25 runtime dependencies can coexist peacefully in environments with conflicting versions of numpy, pandas, or matplotlib.
- Specific performance or memory overhead of the full dependency tree in production deployments.
What it is and what it does
The ArcGIS API for Python is Esri's official library for working with ArcGIS services and geospatial data in Python. It provides tools for vector and raster analysis, geocoding, routing, map visualization, and GIS administration—all backed by Esri's Web GIS infrastructure and curated geographic datasets. The library integrates with the scientific Python ecosystem (numpy, pandas, matplotlib, dask) and supports Jupyter notebooks for interactive exploration.
You use it to query and analyze maps and spatial data, create web-based visualizations, perform geocoding and routing operations, and manage GIS resources like users, groups, and data items. It works with both Esri's ready-to-use datasets and your own data, making it suitable for spatial data science, cartography, and enterprise GIS administration workflows.
Use it for
- Perform vector and raster spatial analysis on geographic datasets using Esri's curated data sources.
- Build interactive web maps and visualizations in Jupyter notebooks with rich geospatial rendering.
- Geocode addresses and compute routes and directions programmatically.
- Administer GIS resources—users, groups, and information items—in an ArcGIS organization.
- Integrate spatial analysis into data science pipelines using pandas and dask for large-scale processing.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with ArcGIS services or Esri data and need programmatic access from Python.
The library is actively maintained, has low install friction, and integrates well with the scientific Python stack. However, review the Esri MLA license terms carefully before use in commercial or redistributed contexts, and be aware that the 25 runtime dependencies create a substantial environment footprint.
Install
arcgis on PyPI
Before you install
Low install friction with a pure-wheel distribution. Active maintenance status and support for current Python versions (3.11–3.14). Heavy dependency footprint (25 runtime packages including numpy, pandas, matplotlib, dask) means a substantial environment; verify compatibility with your existing stack.
Requires Python 3.11–3.14; ArcGIS services may require authentication or API credentials for full functionality.
License in practice
Licensed under Esri Master License Agreement (MLA), not an open-source license. License treatment is unclear in the system; review the MLA terms directly before use in commercial or redistributed contexts.
Quickstart
pip install arcgis
from arcgis.gis import GIS
gis = GIS()
map_widget = gis.map()
Verify before relying
- Whether Esri MLA permits commercial use or redistribution without additional licensing.
- Whether the 25 runtime dependencies can coexist peacefully in environments with conflicting versions of numpy, pandas, or matplotlib.
- Specific performance or memory overhead of the full dependency tree in production deployments.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release <3.15,>=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 25 packagespillowurllib3cachetoolslxmlcryptographypandasnumpymatplotlibkeyringpylercujsontruststorepywin32geometrequestsrequests-oauthlibrequests_toolbeltpyspnegodaskmatplotlib-inlinepyarrowpuremagicpydanticnetworkxwebsocket-client |
| Maintenance | Actively maintained 115 days since the last release |
| First released | |
| Downloads | 229,270 / month, #9,135 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: Other/Proprietary LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTP :: Site ManagementTopic :: Scientific/Engineering :: GISTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: VisualizationTopic :: Software Development :: Libraries :: Python Modules |
Evidence: arcgis-2.4.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “web gis mapping”
- arcgisAccess Esri's ArcGIS services and geospatial data through Python,…
- GeoAlchemy2GeoAlchemy2 extends SQLAlchemy to work with spatial databases,…
- mercantileMercantile converts between geographic coordinates, Web Mercator…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also mapbox · pyshp · arcgis2geojson · geopandas · access · whitebox · leafmap · geodatasets · osmium · rasterstats