Oktopios — un langage de programmation moderne et expressif
Project description
🐙 Oktopios
Un langage de programmation moderne, expressif et orienté objet, interprété en Python.
Installation Général
pip install oktopios
Ou depuis les sources :
git clone https://github.com/ALISOULEMOUANWIYA/oktopios
cd oktopios
puis en suite Choisir l'installation selon votre plate-form
🪟 Windows
Méthode 1 — Script automatique (recommandé)
# Dans PowerShell (en tant qu'administrateur)
powershell -ExecutionPolicy Bypass -File installers\windows\install.ps1
Méthode 2 — Double-clic
Double-cliquez sur installers\windows\install.bat
Méthode 3 — pip
pip install oktopios
Après installation, ouvrez un nouveau PowerShell :
$env:PATH += ";$env:APPDATA\Python\Python312\Scripts"
okp --version
okp "print('Bonjour Oktopios !')"
🐧 Linux (Ubuntu, Debian, Fedora, Arch...)
Méthode 1 — pip
pip install oktopios
Méthode 2
bash installers/linux/install.sh
source ~/.bashrc
okp --version
🍎 macOS
Méthode 1 — pip
pip install oktopios
Méthode 2
bash installers/macos/install.sh
source ~/.zshrc
okp --version
🤖 Android — Termux
Installer Termux depuis F-Droid (pas depuis le Play Store — version obsolète) Puis dans Termux :
Méthode 1 — pip
pip install oktopios
Méthode 2
bash installers/android-termux/termux-install.sh
okp --version
Ou en une seule commande :
pkg install python git -y && \
git clone https://github.com/ALISOULEMOUANWIYA/oktopios && \
cd oktopios && bash installers/android-termux/termux-install.sh
📱 iPhone / iPad — iSH Shell
Installer iSH Shell depuis l'App Store (gratuit)
iSH émule un terminal Linux Alpine sur iOS.
Puis dans iSH :
Méthode 1 — pip
apk update && apk add python3 py3-pip
pip install oktopios
Méthode 2
# Mise à jour Alpine
apk update && apk add git python3 py3-pip
# Cloner et installer
git clone https://github.com/ALISOULEMOUANWIYA/oktopios
cd oktopios
sh installers/ios-ish/ios-install.sh
# Tester
okp --version
Utilisation rapide
# Exécuter un fichier
okp mon_programme.okp
# Code en ligne
okp 'print("Bonjour 🐙")'
# Mode interactif (REPL)
okp --repl
# Aide complète
okp --help
🔄 Désinstallation
Windows
Remove-Item -Recurse "$env:LOCALAPPDATA\Oktopios"
# Puis supprimer manuellement de PATH dans : Paramètres → Variables d'environnement
Linux / macOS
rm -rf ~/.local/lib/oktopios ~/.local/bin/okp
Termux
rm -rf ~/.oktopios $PREFIX/bin/okp
iSH
rm -rf ~/.oktopios /usr/local/bin/okp
Syntaxe de base d'Oktopios 🐙
// Variables et constantes
var age: int = 25
val nom: string = "Mouanwiya"
// Fonctions
fun saluer(prenom: string): string {
return "Bonjour " + prenom + " !"
}
print(saluer(nom))
// Surcharge de fonctions
fun calcule(a: int, b: int): int { return a + b }
fun calcule(a: int, b: int, c: int): int { return (a + b) * c }
// Lambdas
val doubler = lambda(x: int) => x * 2
print(doubler(5)) // 10
// Boucles
loop (i = 0; i < 5; i += 1) {
print(i)
}
// Classes
class Animal {
var nom: string
fun __construct(n: string) {
this.nom = n
}
fun parler(): string {
return this.nom + " dit bonjour"
}
}
var chat = new Animal("Mimi")
print(chat.parler())
// Modules natifs
inject Math as math
inject String
print(Math.sqrt(16)) // 4.0
print(String.upper("hello")) // HELLO
matrix.new([lignes, colonnes]) → MatrixObject (sparse) Pour les graphes, réseaux, liens entre cellules, traversée BFS/DFS :
inject matrix
var m = matrix.new([3, 3])
matrix.set(m, [0, 0], 42)
matrix.link(m, [0, 0], m, [1, 1])
var chemin = matrix.traverse(m, [0, 0], "bfs")
matrix.new([lignes, colonnes], true) → Matrix (dense) Pour les calculs mathématiques, addition, produit tensoriel, IA :
inject matrix
var A = matrix.new([2, 2], true)
var B = matrix.new([2, 2], true)
matrix.set(A, [0, 0], 1)
var C = matrix.add(A, B)
var T = matrix.tensor(A, B)
var R = matrix.contract(A, B, 0, 1)
Fonctionnalités
- ✅ Variables typées (
var,val) - ✅ Fonctions avec surcharge (overloading)
- ✅ Lambdas et fonctions anonymes
- ✅ Classes, interfaces, classes abstraites
- ✅ Héritage,
override,super - ✅ Énumérations
- ✅ Modules natifs :
Math,String,Time,IO,List,Dict... - ✅ Boucles avancées :
loop,filterLoop,sortLoop,permuteLoop... - ✅ Gestion des exceptions (
try / catch / finally / throw) - ✅ REPL interactif
- ✅ Importation de fichiers
.okp
Commandes CLI
| Commande | Description |
|---|---|
okp fichier.okp |
Exécute un fichier |
okp 'code' |
Exécute du code inline |
okp --repl |
Lance le REPL |
okp --check fichier.okp |
Vérifie la syntaxe |
okp --version |
Affiche la version |
okp --keywords |
Liste les mots-clés |
okp --native |
Liste les fonctions natives |
okp --doc |
Documentation intégrée |
okp --init NomProjet |
Crée un projet |
Licence
MIT © Mouanwiya Ali Soule
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oktopios-0.0.7.tar.gz.
File metadata
- Download URL: oktopios-0.0.7.tar.gz
- Upload date:
- Size: 75.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eac20a281cc13dbb6aeaba685a6733fbcac1f87161fcef9036472ee1c8faf1c
|
|
| MD5 |
330d60aeb0adbf2638f729a875ba26fa
|
|
| BLAKE2b-256 |
78d7edf5800a436708e43eded87ad2b9748b596b4ef8d38d6e135e6ab06f63ea
|
File details
Details for the file oktopios-0.0.7-py3-none-any.whl.
File metadata
- Download URL: oktopios-0.0.7-py3-none-any.whl
- Upload date:
- Size: 80.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbbf42545fc05c6aa5f5b097a33f05e595460222edad9515ce6220d23ccaa522
|
|
| MD5 |
975578106e204ff0b0fd0b7ddf6906e0
|
|
| BLAKE2b-256 |
7e0f82210cf18b640c7a5e1b2ed33495ad31fd32b5b2ba40e241a7e38539916c
|