Pour les développeurs
Tout ce que l’on peut demander au réseau
Chacune de ces capacités est un seul appel dans le SDK et un programme fonctionnel que vous pouvez lancer dans les dix prochaines minutes. Celles qui se lancent depuis la page d’exécution se lancent aussi par l’API HTTP. Tout ce qui est listé est disponible aujourd’hui.
Prix en direct
Par unité de chaque ressource, mis à jour en direct.
- Processeur
- Mémoire
- GPU
- Disque
- Réseau
Démarrage rapide
Trois variables d’environnement, puis n’importe quel appel ci-dessous
Python 3.10 ou plus récent, et rien d’autre : le SDK n’a aucune dépendance, vous pouvez donc le lire en entier avant de le confier à vos documents.
Cela fonctionne sans aucune d’elles
Sans URL ni jeton,dain.map exécute votre fonction en local et renvoie les mêmes résultats sous la même forme. Écrivez et déboguez tout un programme dans le train, et ne changez que l’environnement le jour où vous voulez le faire tourner sur le réseau.# Installez-le depuis le fichier de la page des téléchargements
pip install dain-sdk-2.0.0.tar.gz
# Le point d’accès au réseau de votre région : eu-1 (Europe) ou us-1 (Amérique du Nord)
export DAIN_URL=https://eu-1.ctl.thecubefloor.com:8443
# Votre jeton SDK (dain_…), mis en place sur demande — pas une clé dk_ des paramètres développeur
export DAIN_TOKEN=dain_...
# Le certificat racine du réseau : curl -fsS https://dir.thecubefloor.com/v1/root -o ~/.dain/root.pem
export DAIN_CA_BUNDLE="$HOME/.dain/root.pem"
# Facultatif : le portefeuille qui paie, si vous en avez plusieurs
# export DAIN_WALLET=wal_...En code
À quoi ressemble un programme
Le plus petit programme utile : une fonction exécutée sur cinq cents entrées à travers le réseau, les résultats rendus dans l’ordre où elles sont entrées. budget est un plafond strict en DAIN — le réseau s’y arrête et renvoie ce qui est terminé.
import dain
# Déclare ce dont un appel a besoin, pour qu’il soit chiffré avant de s’exécuter.
# duration_hint_s doit être compris entre 30 et 900 secondes.
@dain.cell(memory_gb=1, duration_hint_s=60, deterministic=True)
def square(n: int) -> int:
return n * n
# Un plafond, pas une estimation : vous payez ce que le travail a coûté.
results = dain.map(square, range(500), budget=5)
print(results.summary())
print(list(results)[:5])Bibliothèque d’exemples
Des programmes à lancer dès aujourd’hui
Des programmes complets et fonctionnels — pas des fragments. Ce sont les mêmes fichiers que dans l’archive d’exemples : ce que vous lisez ici est exactement ce qui s’exécute.
En HTTP
Pas de Python ? Utilisez directement l’API
L’API sur api.thecubefloor.com exécute ce que vous lancez depuis la page d’exécution : une tâche sur des fichiers de votre stockage connecté, lancée avec POST /v1/jobs et l’identifiant de la capacité, puis suivie, annulée et récupérée. La référence liste chaque point d’accès avec ses portées, la forme des requêtes et des réponses, les webhooks et OAuth pour les applications qui agissent au nom d’autres personnes.