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.3.tar.gz (142.7 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.3-cp39-abi3-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

vignemale-0.1.3-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.3-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.3-cp39-abi3-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

vignemale-0.1.3-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.3.tar.gz.

File metadata

  • Download URL: vignemale-0.1.3.tar.gz
  • Upload date:
  • Size: 142.7 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.3.tar.gz
Algorithm Hash digest
SHA256 d5ebf8f05475a12eeeba0f22a00bef6cbf06bef09b380fead24e8368da4e67ce
MD5 e25a0a040dafb89718c214e5dd49b133
BLAKE2b-256 7d7a73ce51dd043d098df45bf2bdbd36bebb985e2b2be852387ac7e994468a18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vignemale-0.1.3-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.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7630508079ddd97bfa90ba7d6d3d51bb5c1880ca4bbbd331600e84e910256a16
MD5 1587e3cab6e576c0e4de88f188ad98cc
BLAKE2b-256 40d70bb6f4caffa86d245cf41a74fe04b115913b35d73857ca5a88773c843812

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdd6f28d6b575bda7002cf938b891b869ba25c03a10e5bd259d87674aeacca65
MD5 3719bf92675ed304dbcb861a2c7c3463
BLAKE2b-256 a18ad55ad8cff437365b5ccf0e96bde9ebd4a18be72938aaa1ffa4ae050dcbf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7d41fe80ee5827335bfc2d053fdd598ec826b758ec49894c2ed276f38303128b
MD5 00adcc34cf38fe4997f452a0d466d1b8
BLAKE2b-256 1d8207339b03444e379bac8086940c88fd38055e1d7dc0e988b13a431dc376a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.3-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8aa72e258979cff53b5f93fdd5e36c99fd8f53b178afa5518ce8e1227cc989da
MD5 cabffe72dc098e1dbfcb678a07150309
BLAKE2b-256 ce48cb6eba580f07d4c18770338979fd6583987babcbc7ffcef773ba4f5bf98d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.3-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4ac43f0d9bb1f551ecb95e1cba9d8388e5aa898fd8cac6c703b228c75ab8bd07
MD5 73334a1f312945ca486d4920900031db
BLAKE2b-256 5bbd59397f075a5f120ce168aac2256ec6f6ac1f5e547dab4143f2c608ca6b72

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