Skip to content
Octo × ArcPy PT Request an assessment

Octo for geoprocessing with ArcPy

The batch runs overnight. You decide the criteria.

Almost everything done in the ArcGIS Pro toolbox can run without opening the interface: through propy.bat on Windows, through the ArcGIS Server Python 3 runtime on Linux, scheduled and in parallel. Octo turns models into scripts, builds batches per municipality, writes Python toolboxes and reads the logs in the morning. Technical criteria, corrections to the official database and publishing to production stay with authorized people.

A terminal runs an ArcPy script and generates a suitability grid per municipality; Octo, in the center, takes the result to cadastral parcels with an overlap highlighted for review and to an overnight timeline that downloads, validates and publishes to staging $ propy.bat aptidao_lote.py base.gdb saida --processos 6 4106902 ok 12.4 s 4113700 ok 10.9 s 4115200 error → log SUITABILITY PER MUNICIPALITY RESTRICTION = 0 TOPOLOGY PENDING → REVIEWER 02:30 DOWNLOAD · SHA-256 VALIDATE · COUNT PUBLISH TO STAGING PRODUCTION: A PERSON arcpy.env.parallelProcessingFactor = "0" OCTO × ARCPY GEOPROCESSING A-01
ArcGIS Pro3.7May 2026 release
Python in Pro 3.73.133.13.13, according to the 3.7 release notes
Concurrent Use0not supported as of Pro 3.7
Sources14listed at the end of the page
01

What Octo does with ArcPy.

Six possible deliverables, drawn from the survey. All of them run on the client's licensed machine, with read access to the official database, and all go to review by whoever is responsible for the data.

Model becomes script

Starts from the ModelBuilder export (Export To Python File) and rewrites what it leaves out: iterators, logic, logging, error handling and an exit code for the scheduler.

Deliverable: reviewable script, rehearsed on a known case

Batches in parallel

Parameterizes by municipality, watershed or map sheet, with a rehearsal on a few cases, a simulation of the batch and one process per area, each with its own scratch geodatabase.

Deliverable: batch + report per area + log

Python toolboxes

Writes .pyt tools with parameters, validation and messages, so the team uses in the interface the same code that runs in the nightly batch.

Deliverable: toolbox with tools in order of use

Scheduling and log reading

Sets up the task (Run > Schedule in Pro or schtasks with propy.bat) and, in the morning, reads the summary and explains in plain language what ran, what stopped and why.

Deliverable: daily summary of the runs

License and version migration

Finds scripts that depend on Concurrent Use, on CheckOutExtension or on old Python before upgrading to Pro 3.7, which no longer supports Concurrent Use.

Deliverable: list of affected scripts and a proposed fix

ArcPy on the Linux server

Moves headless routines to the ArcGIS Server Python 3 runtime on Linux (package arcgis-server-py3), first checking which tools exist there.

Deliverable: nightly routine on the server the client already has
02

Eight arms, one geoprocessing batch.

The same Octo cycle, applied to ArcPy. Each arm has a narrow role; deciding the criteria, approving corrections and publishing to production are done by people.

  1. Discovery

    Surveys what already exists

    ArcGIS Pro and Server version, license type, extensions, ModelBuilder models, old scripts, scheduled tasks and where the data lives.

  2. Data

    Pins down references

    Coordinate system, cell size, snap raster, key fields (IBGE code, parcel registration number) and which is the official database and which is the working copy.

  3. Security

    Takes care of access and data

    Read access to the official database, no password in the script, portal token with a known lifetime. Cadastral and social registries hold personal data: assessed with the client (LGPD) before leaving the environment.

  4. Architecture

    Picks the path

    propy.bat or the Server runtime; script tool or .pyt; parallelProcessingFactor or one process per area; Pro scheduling or schtasks.

  5. Development

    Writes the script

    Python with ArcPy, a log per run, exit code, rehearsal on a few cases and a simulation mode, with the source of each syntax noted in the file.

  6. Review

    Checks against a known case

    Compares with a result already done by hand in Pro: same municipality, same criteria. Checks by the number and the map, not by the absence of errors.

  7. Release

    Delivers to staging

    Only with your OK, it runs on the licensed machine and publishes to the staging layer. Promotion to production is done by a person.

  8. Documentation

    Records what applies to your project

    Pro and Python version, weights, ranges, parameters and the result of each run. The batch for one study is not assumed ready for another.

Octo works with read access and as support. It does not edit the official database, publish to production or issue technical reports or decisions: that belongs to authorized people.

03

Each task, its path.

The criteria Octo uses to choose. Always on the client's licensed machine, with the documentation for the installed version.

TaskPathNote
Running an ArcPy script without opening Propropy.bat script.pyUses the active Pro environment
Installing an extra packageClone arcgispro-py3 (conda proclone or conda create --clone ... --pinned)Do not touch the default environment
Turning a script into a toolPython toolbox (.pyt) or script toolSame tool for a person and for the batch
Reusing an existing modelModelBuilder > Export To Python FileIterators and logic are rewritten
Running at a set timeRun > Schedule in Pro, or schtasks + .batNamed User with "Sign in automatically"
Speeding up a toolarcpy.env.parallelProcessingFactorOnly in tools that honor the environment
Running on LinuxArcGIS Server Python 3 runtime (arcgis-server-py3)Not every tool exists there
Publishing a layer by scriptFeatureSharingDraft + StageService + UploadServiceDefinitionStaging by script; production with a person
04

From one-off script to nightly routine.

Three steps. Each one only makes sense after the previous one has shown results in your geoprocessing team.

A proposal, not a promise

1 Today

On-demand scripts

You describe the workflow you do in Pro and Octo proposes the script, rehearsed on a case you already know.

  • ModelBuilder model becomes a script with logging
  • Inventory of scripts affected by the end of Concurrent Use
  • Verification against a result done by hand
Benefit: fewer repeated clicks, the same rule every time
2 Next

Batches and in-house tools

Studies repeated by area now run in batch, and routines become Python toolboxes the team uses in the interface.

  • Batch per municipality with a comparative report
  • Topological validation with proposals for review
  • .pyt toolbox with parameter validation
Benefit: the team reviews one report, not fifty maps
3 Later

Monitored nightly routine

Scheduled pipelines in Pro or on ArcGIS Server on Linux, with a summary read by Octo every morning.

  • Download, validate, process and publish to staging
  • Automatic stop when the source changes format
  • Record of version, parameters and result of each night
Benefit: the update does not depend on someone remembering
05

Confirmed by source.

Each point below has a source published by the vendor, the project or the responsible agency. The sources are in the next section.

4

points with a published source, each with its reference alongside.

ConfirmedConcurrent Use ended in Pro 3.7
The Concurrent Use license type was retired in July 2025 and is not supported as of ArcGIS Pro 3.7; in 3.7, Single Use licenses must be reauthorized. The CheckOutExtension page says the function no longer performs any action as of 3.7.Source: ArcGIS Pro FAQ; CheckOutExtension reference (doc.esri.com)
ConfirmedScheduling uses the Windows Task Scheduler
Run > Schedule uses the Windows Task Scheduler, runs in a standalone Python process and works for every tool, including models and script tools. With Named User, the login must have "Sign in automatically", and the token expires according to the portal's setting.Source: Schedule geoprocessing tools (doc.esri.com)
ConfirmedPython and environment in 3.7
Python 3.13.13, pandas 3.0.0 and NumPy 2.3.5 in the default environment; cloning without downloading packages, also on a disconnected machine; tools accept pathlib.Path and cursors gained SHAPE@GEOJSON.Source: What's new in ArcGIS Pro 3.7 (doc.esri.com)
ConfirmedArcPy on Linux
On Linux, ArcPy comes through the conda package arcgis-server-py3 at the ArcGIS Server version, with ARCGISHOME pointing to the installation; without the package, the server's Python runs through Wine. Some toolboxes are not included in this runtime.Source: Python 3 runtime for ArcGIS Server on Linux (ArcGIS Enterprise documentation)
06

What Octo does and what stays with you.

Octo prepares everything, but does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

Gathers, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.

Deliverable: material ready for review

Your team reviews

The licensed professional reviews what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.

Step: review by whoever signs

Who signs

Octo does not sign. Designs, technical reports, ART/RRT, accountability reports and any official document are still signed by the licensed professional at the company or agency: here, the professional of record for the map or survey.

Signature: professional of record for the map or survey
07

Sources.

Esri and Microsoft documentation used in the survey, accessed October 29, 2026.

Your Pro workflow, running without you clicking.

The assessment starts with a model or a study your team already does by hand, without touching the official database. You get a proposal for what can be automated, rehearsed on a known case, and decide with it in hand.