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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

vignemale-0.1.2-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.2.tar.gz.

File metadata

  • Download URL: vignemale-0.1.2.tar.gz
  • Upload date:
  • Size: 141.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.2.tar.gz
Algorithm Hash digest
SHA256 2abb4c0fd0e1d96206309c14b7160b4841a27cffba696b40136cc0606287c697
MD5 0f5da5046990b383cc59db191412002a
BLAKE2b-256 c00d4a892d955fb5d1d58da0ef0d3b0d36ddea752cb1cd9c5d98324b20517383

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vignemale-0.1.2-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.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 786030251d4e23a3cfad123a3cd5d74fafa4c2ed8164245aafb1c1dabb9c1e13
MD5 50a0953559170536c5d8cfe64b371edd
BLAKE2b-256 52723fc70817e54b0adad0fb9f9799d7ca02541df832abe1a86775a82667c75d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53a2a6f37401661153742c439809b597be76b078680a36ae7438e7b15f7e46e9
MD5 91523aa2a08d64924b103003ab93bba4
BLAKE2b-256 9ac31f6aec9f3d73afcdd8efc239b2051476bba6b14053df28d66feec9b402b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 49499a28efb60d0c2568cf0823fd74507eebb8232c35c22846890e39134db3f2
MD5 f7c41e70d4eb21c262ece1b3c81d9df3
BLAKE2b-256 70ebdc8a0b3c07816f7dab7827482d1af26b86b848f2f7a13f7cf7d3aa706550

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fac360eb1bd5ccf97bb0383940d9f12d0793f28d865400316dbc22cb685659c5
MD5 79fa355fcde47e79481e00ae4cbbb4d2
BLAKE2b-256 af541b951db3ed28fd034999505a37d87def10b1bf69bcb5030523ed53d809d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vignemale-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 582e159925647443c566252276015d59e7119c16eeb67b5642605bf977978f75
MD5 3a1769490529a3328a0e7aa9216bfed3
BLAKE2b-256 3445ef66696b5c5ebadf613ab91c930fce6bcec9c6d25bf58e248d601bdfb674

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