Skip to main content

Vignemale — déploie tes agents IA en production sur Scaleway, depuis Python.

Project description

Vignemale

Déploie tes agents IA et tes APIs en production sur Scaleway, directement depuis ton code Python.

Vignemale est un framework Infrastructure-from-Code : tu déclares ton infra (base de données, bucket, secrets) dans le code, et Vignemale s'occupe du reste — provisioning, câblage, serveur HTTP. Pas de YAML, pas de Terraform.

pip install vignemale          # le runtime + le SDK
pip install "vignemale[cli]"   # + l'outil en ligne de commande (run/check/gen/build)

Exemple

Une API todo complète avec Postgres — en un seul fichier, zéro configuration :

from pydantic import BaseModel
from vignemale import api, log, HTTPError, SQLDatabase

# Le code DÉCLARE la base : au `run`, Vignemale provisionne le Postgres local tout
# seul ; en prod, le DSN injecté dans l'environnement prend le relais.
db = SQLDatabase("todo")

db.execute("""
    CREATE TABLE IF NOT EXISTS todos (
        id BIGSERIAL PRIMARY KEY, title TEXT NOT NULL, done BOOLEAN NOT NULL DEFAULT FALSE
    )
""")

class NewTodo(BaseModel):
    title: str

class Todo(BaseModel):
    id: int
    title: str
    done: bool

@api(method="POST", path="/todos")
def create_todo(body: NewTodo) -> Todo:
    row = db.query_row(
        "INSERT INTO todos (title) VALUES ($1) RETURNING id, title, done", body.title,
    )
    log.info("todo créé", todo_id=row["id"])
    return Todo(**row)

@api(method="GET", path="/todos/{todo_id}")
def get_todo(todo_id: int) -> Todo:
    row = db.query_row("SELECT id, title, done FROM todos WHERE id = $1", todo_id)
    if row is None:
        raise HTTPError(404, "todo introuvable")
    return Todo(**row)
vignemale run app.py     # docker + base + DSN : automatique
curl -X POST 127.0.0.1:8080/todos -d '{"title":"acheter du pain"}'

Les endpoints @api sont typés avec Pydantic : validation des requêtes/réponses, erreurs HTTP propres, logs structurés — tout est inclus.

Ce que le SDK expose

Brique Rôle
@api endpoint HTTP typé (Pydantic)
SQLDatabase Postgres déclaré dans le code (pool + requêtes + transactions)
Bucket stockage objet S3-compatible (Scaleway / MinIO / AWS)
Secret secrets résolus depuis l'environnement
Service / call appels service-à-service signés
log logs structurés JSON

Le cœur est écrit en Rust (binding PyO3) : serveur HTTP, pools, TLS — la seule dépendance Python en production est pydantic.

Licence

MPL-2.0 — cœur ouvert.

Code source & documentation →

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

vignemale-0.1.1.tar.gz (140.0 kB view details)

Uploaded Source

Built Distributions

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

vignemale-0.1.1-cp39-abi3-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

vignemale-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

vignemale-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

vignemale-0.1.1-cp39-abi3-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

vignemale-0.1.1-cp39-abi3-macosx_10_12_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file vignemale-0.1.1.tar.gz.

File metadata

  • Download URL: vignemale-0.1.1.tar.gz
  • Upload date:
  • Size: 140.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vignemale-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cebef69eb55b693802a7ab762d644fc0abbf21f40d7b62ec5d73a22849f6dc7a
MD5 8a9be26c5139551a89bf89ae610b0f68
BLAKE2b-256 f4fe69834985cf5cb00b38c472dfeee6e3133208bad70059d3f10c907907d4e4

See more details on using hashes here.

File details

Details for the file vignemale-0.1.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: vignemale-0.1.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vignemale-0.1.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b80668f88f10add02815e958b5f596c3df4ccfa860c4764308f8ae5c98ae0568
MD5 2ad1a3092e4eb341ba360afe0d6e19a3
BLAKE2b-256 29f2792f657ff28161ad2832df470a518037a26a8d9e4c661315c1ee4cc459ce

See more details on using hashes here.

File details

Details for the file vignemale-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vignemale-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26fc3c827f74be183423fb2dec19d41c7e83bd85fc6a8991995184c977a30358
MD5 f2b9712f78c39982c150bf10057b2d9d
BLAKE2b-256 c001924e3933096aa00f323bc60a0abf2502c616aa9b731a3d42f05cdf2e509b

See more details on using hashes here.

File details

Details for the file vignemale-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vignemale-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e6ad6a07a2e7c5c91bac35b754a391a0627b67f8446c420b4a121663417ee50c
MD5 c6ba5c91f8651c9905eadc0347b2ca80
BLAKE2b-256 6c002a49872848577a30cbf5fba6867f828063ae2ca82b44d0d1485c0926ade7

See more details on using hashes here.

File details

Details for the file vignemale-0.1.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vignemale-0.1.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ed6f0723de69724a25917d3def40f7aaa953c441549bf22e01dc0ed247c6639
MD5 f35b239edb5e0800d0c4f60f286d25d2
BLAKE2b-256 9e6b3eef32ae612b485a05bd3da6aa71fda48cfc4527596b9140f388de684747

See more details on using hashes here.

File details

Details for the file vignemale-0.1.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for vignemale-0.1.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 977f1f56ce263c0c068b7a380967611a0c3932372f1ddaccf04f358c80004a7a
MD5 2f37499e9c76844a983d2340942fe2a3
BLAKE2b-256 3f4591bebcb42049cbacd89d0ea698fd071795607ff6aa6537df503af896692e

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