Publishing developer packages
Developer packages enable distribution and sharing of custom Python files used in Instabase, such as functions and libraries.
You can publish a developer package to the Marketplace by creating a developer package directory structure anywhere in the Instabase Explorer. Then, right-click the content directory and select Package. An .ibsolution
file is generated at the same level as the solution directory with the name and version specified in the solution’s JSON metadata. After manually packaging a custom app, use Marketplace Admin to publish the app to the Marketplace.
Developer package contents
Developer packages consist of the package payload stored in a src
directory and a JSON file that includes package metadata. Developer packages may optionally include a read me and screenshots.
├── solution
│ ├── src
│ ├── package.json
│ ├── readme.md
│ ├── screenshots
Package payload
The package payload is a src
directory that contains your custom Python files.
JSON file
A JSON file describes the solution metadata.
Required fields:
-
name
- Unique name for the developer package. -
version
- Semantic version in major.minor.patch format. -
short_description
- Short description that displays in the Marketplace. -
long_description
- Long description of the developer package. -
authors
- Solution author or authors. -
accelerator_type
-package
. -
industry
-Financial Services
,Healthcare
,Insurance
,Public Sector
, orShared Services
. -
business_vertical
-Asset & Wealth Management
,Business & Commercial Banking
,Corporate & Investment Banking
, orRetail & Consumer Banking
. -
package_type
-integration
,refiner
,step
, orvalidation
. -
function_type
-formatting
,integrations
,machine learning
,parsing
, orvalidating
.
Optional fields:
-
icon_url
- Path to optional icon. Always"icon.png"
. -
beta
-true
adds a visual beta tag to the developer package. -
encryption_config
- Dictionary that specifies the encryption protocol to use. Theencryption_type
must be specified with the valuev1
.
Here’s an example package.json
file for a custom library solution:
{
"name": "ib_classifier_docsplitting",
"version": "1.0.1",
"keywords": "python, package, utilities, refiner",
"category": "classifier",
"short_description": "Classifier for variable-length document bundles",
"long_description": "The docsplitting classifier learns to split a PDF bundle of documents, and predict the class of each document. Import FirstPageDocsplittingClassifier from docsplit_classifier in the solution.",
"authors": ["Instabase"],
"beta": true,
"solution_type": "pypkg",
"encryption_config": {
"encryption_type": "v1"
}
}
Read me
An optional readme.md
file describes the solution package. The read me may describe use cases, benefits, and instructions.
Screenshots
Optional screenshots in a screenshots/
folder illustrate how the solution works.