Are there any known issues with an encrypted toolbox in ArcPro?

128
1
Jump to solution
07-06-2022 02:49 PM
DuncanHornby
MVP Frequent Contributor

Hi,

I've been thinking of migrating a large ArcMap AddIn to the geoprocessing framework of ArcPro 3.0. I would like to protect the python source code by encrypting the toolbox through the process of embedding a script into the toolbox.

I have a couple of questions that may be an experienced python toolbox developer can answer?

  1. Are there any known issues with the size of the script that can be embedded? I have seen some old threads on this forum where someone was embedding a script that was greater than 7000 lines and this seemed to corrupt the toolbox, does such a limit exist for ArcPro, especially the newer atbx format?
  2. Playing around with the embedding option I note than none of the validation code is encrypted, is this correct? Seems like an oversight to me as one may be putting proprietary code in this part, especially the isLicensed function?

@DrewFlater tagging you in this as you were able to answer a previous question about the new atbx format. May be you know or know someone who can offer an answer?

1 Solution

Accepted Solutions
DrewFlater
Esri Contributor

Hi @DuncanHornby ,

There are no known limitations with file or content size that can result in corruption for the new toolbox format. We have some sample toolboxes that have migrated to the new atbx, and the source code contained in them is in the size of several thousand lines of code. 

Validation code is not encrypted. In the future we will make the validation page inaccessible until the encryption password is provided, but this won't be available until Pro 3.1 or later. Your specialized isLicensed code could import an encrypted module within the atbx and call a function to return True/False - this is theoretical I haven't tried it yet. 

View solution in original post

1 Reply
DrewFlater
Esri Contributor

Hi @DuncanHornby ,

There are no known limitations with file or content size that can result in corruption for the new toolbox format. We have some sample toolboxes that have migrated to the new atbx, and the source code contained in them is in the size of several thousand lines of code. 

Validation code is not encrypted. In the future we will make the validation page inaccessible until the encryption password is provided, but this won't be available until Pro 3.1 or later. Your specialized isLicensed code could import an encrypted module within the atbx and call a function to return True/False - this is theoretical I haven't tried it yet.