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.0.tar.gz (12.7 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.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poetry_plugin_ivcap-0.6.0.tar.gz
  • Upload date:
  • Size: 12.7 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.0.tar.gz
Algorithm Hash digest
SHA256 c0f84709817c004c6d7831688a18648e99840831c6448aaf027f900ba187248a
MD5 d5525da2a8eb65ff4f0cd7673c761e1c
BLAKE2b-256 79abc0cfd1c830fbb899f22299962a1d9e229e7850a23105bd280e4f776c0f16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for poetry_plugin_ivcap-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7be2f5c227d6ff2b8fcca377b891e5cad708f395e25c78e184a92fa1f6c7a0f
MD5 b7c12009918d97f42e2d135579ffd930
BLAKE2b-256 2a08819f39bdf166009d892a3ef09225e22aff4291e5a15bbeac666ab3f02e8d

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