Skip to main content
Modules are a key component in Kodexa. They are a way to bring intelligent processing to documents, supporting both pluggable parsing, transformation and labeling of documents. While many products have a concept of a module, we think of modules in Kodexa as being a bit different. We think of modules as not just the code and processing, but how the user will experience the module. This means that when we are looking at developing a module we are looking at the user experience and the module code.

Anatomy of a Module

Module deployment pipeline A module is made up of a few key concepts:
  • Module Code — The code that is used to parse, transform and label documents
  • Inference Options — The options that are used to run the module
  • Module Taxonomy — The taxonomy that is used to define the structure of labels that the module uses to “guide” the extraction process
  • Additional Taxonomy Options — Additional options that the module can add to Taxonomies that we will be using for extraction
These different parts of the module allow you to build and deploy modules that provide rich ways in which you can capture knowledge about the documents from the user.

Module Types

Every module has a moduleType field that determines how the platform uses it. There are two module types:

Model Modules (moduleType: model)

Model modules are the traditional Kodexa modules — Python executable code that processes documents. They are used with scheduled jobs, pipelines, and assistants. A model module contains:
  • Python code with a handle_event() entry point
  • A reference to a module runtime that provides the execution environment
  • Optional inference options, taxonomy definitions, and sidecars
This is the default module type. Existing modules without an explicit moduleType are treated as models.

Skill Modules (moduleType: skill)

Skill modules are file packs (prompts, configurations, knowledge files) that agents can discover and use. Unlike model modules, skills are not executed directly — they are downloaded into the agent’s container and made available as readable directories. Skills are ideal for packaging:
  • Prompt templates and system instructions
  • Configuration files (e.g., tool definitions, workflows)
  • Knowledge files and reference data
See Module Skills for details on creating and using skill modules.