Welcome to Integr8sCode! This is a platform where you can run Python scripts online with ease. Just paste your script, and the platform run it in an isolated environment within its own Kubernetes pod, complete with resource limits to keep things safe and efficient. You'll get the results back in no time.
[!NOTE] A deployed and working version of Integr8sCode is available at https://app.integr8scode.cc/ .
kubectl configuredgit clone https://github.com/HardMax71/Integr8sCode.git
cd Integr8sCode
cp backend/secrets.example.toml backend/secrets.toml
./deploy.sh dev
The secrets.toml file holds credentials and is gitignored. The example template has working development defaults.
curl -k https://localhost/api/v1/health/live
| Service | URL |
|---|---|
| Frontend | https://localhost:5001 |
| Backend API | https://localhost:443 |
| Kafdrop (Kafka UI) | http://localhost:9000 |
| Grafana | http://localhost:3000 |
| Jaeger (Tracing) | http://localhost:16686 |
Default credentials: user / user123 (regular), admin / admin123 (admin).
Self-signed TLS certs are generated automatically — accept the browser warning.
./deploy.sh test
./deploy.sh down
See the full deployment guide for Docker build strategy, troubleshooting, pre-built images, and more.
You can check correctness of start by running a sample test script:
https://127.0.0.1:5001/, go to Editordef is_string(value: object) -> TypeGuard[str]: return isinstance(value, str)
def example_function(data: object): match data: # Match statement introduced in Python 3.10 case int() if data > 10: print("An integer greater than 10") case str() if is_string(data): print(f"A string: {data}") case _: print("Something else")
example_function(15) example_function("hello") example_function([1, 2, 3])
First, select `>= Python 3.10` and run script, will output:
Status: completed
Execution ID:
Then, select `< Python 3.10` and do the same:
Status: completed
Execution ID:
This shows that pods with specified python versions are creating and working as expected. Btw, the latter throws error
cause `match-case` was introduced first in `Python 3.10`.
</details>
## Architecture Overview
> [!TIP]
> Full documentation is available at https://hardmax71.github.io/Integr8sCode/
<img src="./docs/assets/images/system_diagram.svg" alt="system diagram">
The platform is built on three main pillars:
- Frontend: Svelte app that users interact with.
- Backend: Powered by FastAPI, Python, and MongoDB to handle all the heavy lifting.
- Kubernetes Cluster: Each script runs in its own pod, ensuring isolation and resource control.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.