Skip to main content

A custom Poetry command for IVCAP deployments

Project description

poetry-plugin-ivcap

A custom Poetry plugin that adds a poetry ivcap command for local and Docker-based deployments.

Example Configuration

Add to your pyproject.toml:

[tool.poetry-plugin-ivcap]
service-file = "service.py"
service-id = "urn:ivcap:service:ac158a1f-dfb4-5dac-bf2e-9bf15e0f2cc7"
port = 8077
# docker
# docker-run-opts = { port = 8079 }```

## Installation

```bash
poetry self add poetry-plugin-ivcap

Usage

poetry ivcap run
poetry ivcap docker-build
poetry ivcap docker-run
poetry ivcap docker-publish
poetry ivcap service-register
poetry ivcap create-service-idget
poetry ivcap tool-register

To get help on the currently installed version

% poetry ivcap

IVCAP plugin

Supporting the development of services and tools for the IVCAP platform

Available subcommands:
    run                 Run the service locally
    docker-build        Build the docker image for this service
    docker-run          Run the service's docker image locally
    docker-publish      Publish the service's docker image to IVCAP
    service-register    Register the service with IVCAP
    create-service-id   Create a unique service ID for the service
    tool-register       Register the service as an AI Tool with IVCAP

Example:
  poetry ivcap run

Configurable optiosn in pyproject.toml:

  [tool.poetry-plugin-ivcap]
  service-file = "service.py"  # The Python file that implements the service
  service-file = "service.py"
  service-id = "urn:ivcap:service:ac158a1f-dfb4-5dac-bf2e-9bf15e0f2cc7" # A unique identifier for the service

  docker-build-template = "docker buildx build -t #DOCKER_NAME#  ."
  docker-run-template = "docker run -rm -p #PORT#:#PORT#"

Development

Test the plugin as part of the "global" installed poetry

# 1) remove any existing installed copy first
poetry self remove poetry-plugin-ivcap

# 2) install this checkout as an editable plugin
poetry self add -e $PWD

# 3) verify Poetry sees the plugin
poetry self show plugins

Switch back:

poetry self remove poetry-plugin-ivcap
poetry self add poetry-plugin-ivcap@latest

Build the Plugin Package

poetry build

This creates .whl and .tar.gz files in the dist/ directory.

Publish to PyPI

Create an account at https://pypi.org/account/register/

Add your credentials:

poetry config pypi-token.pypi <your-token>

Publish:

poetry publish --build

Optional: Test on TestPyPI First

To verify your setup without publishing to the real PyPI:

poetry config repositories.test-pypi https://test.pypi.org/legacy/
poetry publish -r test-pypi --build

Then test installing via:

poetry self add --source test-pypi poetry-plugin-deploy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poetry_plugin_ivcap-0.6.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

poetry_plugin_ivcap-0.6.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file poetry_plugin_ivcap-0.6.1.tar.gz.

File metadata

  • Download URL: poetry_plugin_ivcap-0.6.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.10 Darwin/24.6.0

File hashes

Hashes for poetry_plugin_ivcap-0.6.1.tar.gz
Algorithm Hash digest
SHA256 ebcffe323128aef9af12a2628acb3ab01010b9c603dbd39f72ded3fbd170b5ec
MD5 d2d368254a9b30c7268f593f351f27cd
BLAKE2b-256 6022a2291f28750e6ebd2f14fff6f106aa62b265ae325ffc0968b8cc2960fd6f

See more details on using hashes here.

File details

Details for the file poetry_plugin_ivcap-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for poetry_plugin_ivcap-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a44000a837db4ff862765a73d314df0075257ee7a24c80904da1fa1c95d0131
MD5 2a121c7dbd60683d63752156a0d1faff
BLAKE2b-256 3aa0da684046996b43797c71ef654690f8874b6443ed9c1f5e3e4fe5c250d7df

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page