Metadata-Version: 2.4
Name: utic-dev-tools
Version: 0.2.6
Summary: Dev tools for Unstructured.io ecosystem.
Requires-Python: >=3.12
Requires-Dist: orjson
Requires-Dist: requests
Requires-Dist: utic-public-types
Description-Content-Type: text/markdown

# Introduction

A collection of Types and Schemas for use in 
various projects in the Unstructured ecosystem.

The project is intended to be very lightweight, and to play the role of the abstraction
in "Concretions can depend on abstractions, but not vice-versa".

In other words, this project should exclusively define types and remain lightweight enough
to encourage other projects to take it on as a dependency. Ideally, the project would itself
have no dependencies. For rapid development in early phases, we take a dependency on Pydantic
for easier modeling.

Right now, it is mostly utilized for defining unstructured's plugin architecture to
enable developers to define their own plugins.


## Requirements

- Python 3.12
- `uv`: `pip install uv`


## Quick start

- `make install`
- `make test`


## `unstructured-plugins` command

Example:

```
unstructured-plugins publish plugin_hello_world:PLUGIN_MANIFIEST --registry http://localhost:8080/
```

args:
- `--registry`: URL to registry to publish to.
- `--registry-project`: Some registries require objects to be organized into projects
- `--registry-username`
- `--registry-password`
- `--channel`: "Channel" or tag to push or read from
- `--from-channel`: Used for promoting from one channel to another


Configs can also be provided as env vars:
- `PLUGIN_REGISTRY`
- `PLUGIN_REGISTRY_USERNAME`
- `PLUGIN_REGISTRY_PASSWORD`
- `PLUGIN_REGISTRY_PROJECT`
- `PLUGIN_REGISTRY_VERIFY_SSL`