Observed since 20 Oct, 17:51 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Publication-ready academic GIS study-area maps in a few lines of Python.
Publication-ready study area maps for research — in a few lines of Python.
Website · Documentation · Source
AcadGIS is a Python package (and a no-code web app) for making publication-ready study area
maps, choropleth and the full thematic-map catalogue, locator insets, terrain relief, raster &
vector layers, satellite basemaps and river maps — for research papers, theses and reports.
Name a place, add your data, and export a journal-ready figure in a few lines: no QGIS, ArcGIS
or shapefiles required. Everything works through a single import acadgis as agis.
import acadgis as agis
sa = agis.StudyArea("Iraq").zoom_into("Babil")
sa.figure(suptitle="Study Area: Babil Governorate, Iraq")
sa.save("study_area.png", dpi=300)
Curated raster & satellite (NDVI · land cover · DEM · basemaps · roads) · study-area layouts · sea/ocean · choropleth · isopleth / isolines · dot-density · world thematic maps — every figure made with import acadgis as agis.
pip install acadgis # core (offline demo data + plotting)
pip install "acadgis[full]" # + live download, fuzzy matching, terrain, drainage
Optional extras: acadgis[download] (any-country boundaries via pygadm), acadgis[match]
(fuzzy names), acadgis[terrain] (DEM relief), acadgis[drainage] (streams from a DEM).
Bangladesh, Iraq, India and the USA ship bundled — everything works offline.
mapclassify schemes.study_area() builds the whole multi-panel figure in one call
(single, two, cascade, series, grid) with uniform or custom panel sizes,
customizable connectors and region highlighting.sea=True (or agis.add_sea) draws a clean ocean around coastal countries
(source="ne10m" for crisp coasts); sliver-free, landlocked is a no-op.add_raster (any GeoTIFF: continuous / categorical / RGB), add_layer
(any vector, auto-styled, label control), add_basemap/add_satellite (6 tile
styles), add_topography, add_cities, add_roads, and curated real data:
add_landcover (ESA WorldCover 10 m) + add_ndvi (Sentinel-2).add_heatmap), interpolated
isopleth surfaces and labelled isolines (interpolate_field →
add_isopleth/add_contours), dot-density (dot_density), bivariate
choropleths with a 2-D legend (bivariate), Dorling / non-contiguous
cartograms (cartogram).import acadgis as agis
gdf = agis.load_boundaries("Bangladesh", level="district") # auto-download + cache
agis.plot(gdf, palette="spectral", title="Bangladesh — Districts")
agis.choropleth(gdf, df, value="incidence", palette="magma") # messy names welcome
ax = agis.plot(gdf, highlight="Comilla")
agis.points(ax, survey_df, value="value", size_by="value", cmap="magma", legend=True)
dem = agis.load_dem("Bagrote Valley")
agis.relief(dem, hillshade=True, ocean_color="#cce5f0")
agis.study_area("Bangladesh", # whole layout, one call
steps=[("division", "Dhaka"), ("district", "Madaripur")],
template="cascade", terrain=True)
Apache License 2.0.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 5 Jul 2026 | 16 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:51 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:9115a81bfeacb560994472660621d6cfbbf26e29395b7a419176cfcd66ac766f