Youcadb
CLI de diagnostic et de configuration pour bases de données PostgreSQL et MySQL.
Youcadb analyse votre projet, y détecte le langage et le framework, se connecte à votre moteur de base de données, crée bases et utilisateurs, puis exécute un diagnostic complet de l'environnement — le tout depuis une unique interface en ligne de commande.
Pourquoi Youcadb ?
Mettre en place une base de données en développement est une tâche répétitive et source
d'erreurs : créer la base, créer l'utilisateur, accorder les droits, rester cohérent avec le
fichier .env, puis comprendre pourquoi une connexion échoue… Youcadb automatise tout cela :
- Un seul outil pour l'initialisation, la création et le diagnostic — fini le jonglage
entre
psql/mysql, Docker et les fichiers de configuration. - Des commandes sûres et idempotentes — re-exécutables sans rien casser : la base et l'utilisateur ne sont créés que s'ils n'existent pas encore.
- La détection plutôt que la configuration — Youcadb lit votre projet (langage, framework, drivers) et recommande le moteur adapté (Python, Node.js, PHP, Ruby, Java, .NET ; FastAPI, Django, Express, Laravel, Rails, Spring Boot, ASP.NET Core…).
- La sécurité par défaut — aucun mot de passe dans l'historique du shell, aucun secret
affiché sur la sortie standard, et alerte si votre base est exposée sur
0.0.0.0ou si un secret est versionné dans Git. - Multiplateforme — Linux, macOS et Windows, avec des guides d'installation et de démarrage natifs et une solution de repli Docker.
Installation
pip install youcadb # CLI de base (sans drivers)
pip install youcadb[postgres] # + psycopg (PostgreSQL)
pip install youcadb[mysql] # + pymysql (MySQL)
pip install youcadb[all] # les deux drivers
Prise en main rapide
# Initialise la configuration à la racine du projet
youcadb init --no-interactive
# Crée la base de données de manière interactive (nom, utilisateur, mot de passe)
youcadb create postgres
# Non interactif : noms et hôtes via les options, secrets via variables d'environnement
YOUCADB_PASSWORD=s3cret \
YOUCADB_ADMIN_PASSWORD=postgres \
youcadb create postgres \
--name my_app_db \
--user app_user \
--no-interactive
# État de la connexion
youcadb status
# Diagnostic complet de l'environnement
youcadb doctor
# Génère .env depuis le .youcadb.toml courant
youcadb config generate
Consultez youcadb --help pour la liste complète des commandes et options.
Configuration
Youcadb enregistre ses réglages dans .youcadb.toml à la racine du projet :
[project]
name = "myproject"
[database]
engine = "postgres"
host = "localhost"
port = 5432
name = "myproject"
user = "app_user"
password = "s3cret" # uniquement si stocké dans le fichier
Les fichiers .env générés sont ajoutés au .gitignore par défaut.
Mots de passe & sécurité
Youcadb n'accepte jamais de secrets via les options de la ligne de commande : les mots de passe ne peuvent pas fuiter dans l'historique du shell. Ils sont fournis de manière interactive (saisie masquée) ou via les variables d'environnement en contexte non interactif :
| Secret | Variable d'environnement |
|---|---|
| Mot de passe de l'utilisateur applicatif | YOUCADB_PASSWORD |
| Mot de passe administrateur | YOUCADB_ADMIN_PASSWORD |
Les mots de passe ne sont jamais affichés sur la sortie standard : config generate et
config show les affichent masqués (:***).
Configuration requise
| Exigence | Notes |
|---|---|
| Python ≥ 3.10 (testé jusqu'à 3.14) | |
| PostgreSQL ou MySQL | Installation locale ou via Docker |
psycopg[binary] |
Requis pour PostgreSQL (pip install youcadb[postgres]) |
pymysql |
Requis pour MySQL (pip install youcadb[mysql]) |
Licence
MIT — voir LICENSE.
Release files for youcadb 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| youcadb-0.2.2.tar.gz | 45.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| youcadb-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.4 kB
Release files / youcadb-0.2.2.tar.gz
| Download URL | youcadb-0.2.2.tar.gz |
|---|---|
| Size | 45.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0befe4ccf047e8b3e83c9963360fafad70394d6735622f9c26dfc2175bb04de6
|
|
BLAKE2b-256 checksum How to use checksums |
ace6c2e1d4a480f57b14935ace6630160e10b0f038bb19dae06a7f168db6540b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency logRelease files / youcadb-0.2.2-py3-none-any.whl
| Download URL | youcadb-0.2.2-py3-none-any.whl |
|---|---|
| Size | 34.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56a1f7f566669020ef9ef6d2c806143cc10a9955f1db5e3409ecffd6f5b4d34e
|
|
BLAKE2b-256 checksum How to use checksums |
a5e31797bb46d6226a612bf429d76cea6381d8412dade8db566e276ff8b53ca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency log