> For the complete documentation index, see [llms.txt](https://api.pyblish.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api.pyblish.com/pyblish.api/contextplugin.md).

# ContextPlugin

Process once, with [Context](https://github.com/pyblish/api/tree/9d41e509649f2dfb91bc4d595aebabed2dc0512f/pages/context.md) as input.

| Source                                                                                                               | Added |
| -------------------------------------------------------------------------------------------------------------------- | ----- |
| [Link](https://github.com/pyblish/pyblish-base/blob/f695fad94b995915495b4123c503f24d3419429a/pyblish/plugin.py#L350) | 1.3.0 |

Inherits [Plugin](/pyblish.api/plugin.md)

## Public Functions

| Output | Method                                                                                             |
| -----: | -------------------------------------------------------------------------------------------------- |
|        | [process](/pyblish.api/contextplugin/contextplugin.process.md)([context](/pyblish.api/context.md)) |

## Usage

The `ContextPlugin` is used for processing an entire scene or workspace. It is typically used during the collection portion of publishing, where data is identified and encapsulated in one or more [Instances](https://github.com/pyblish/api/tree/9d41e509649f2dfb91bc4d595aebabed2dc0512f/pages/instance.md), but can in general be used for any processing that doesn't require access to any particular [Instance](https://github.com/pyblish/api/tree/9d41e509649f2dfb91bc4d595aebabed2dc0512f/pages/instance.md).

## Example

```python
import pyblish.api as pyblish

class MyCollector(pyblish.ContextPlugin):
    order = pyblish.CollectorOrder

    def process(self, context):
        context.create_instance("MyInstance")
```
