# 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](https://api.pyblish.com/pyblish.api/plugin)

## Public Functions

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

## 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")
```
