A Python binding to the Wandbox API.
Project description
Wandbox API for Python
Wandbox is a social compilation service.
This project is a Pythonic binding to the Wandbox API, and CLI command.
Installation
pip install wandbox-api
CLI
for Languages
Bash | C | C# | C++ | CPP |
Crystal | D | Elixir | Erlang | Go |
Groovy | Haskell | Java | JavaScript | Julia |
Lazy K | Lisp | Lua | Nim | OCaml |
OpenSSL | Pascal | Perl | PHP | Pony |
Python | R | Ruby | Rust | Scala |
SQL | Swift | TypeScript | Vim script | Zig |
wandbox
usage: wandbox [-h] [-v] [-l LANGUAGE] [-c COMPILER] [-x OPTIONS] [-r RUNTIME_OPTIONS] [-n] [-s] [--encoding ENCODING]
[--no-default] [--stdin STDIN] [--retry-wait SECONDS] [--retry COUNT]
{list,compilers,versions,lang,option,permlink,run,template,run-template,user,help} ...
positional arguments:
{list,compilers,versions,lang,option,permlink,run,help}
list show list api response. see `list -h`
compilers show support compilers. see `compilers -h`
versions show support compilers. see `versions -h`
lang show support languages. see `lang -h`
option show compiler options. see `option -h`
version show compiler version from version-command. see `version -h`
permlink get permlink. see `permlink -h`
run build and run command. see `run +h`
template get wandbox template code. see `template -h`
run-template run wandbox template code. see `run-template +h`
user get wandbox user info. see `user -h`
help show subcommand help. see `help -h`
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-l LANGUAGE, --language LANGUAGE
specify language
-c COMPILER, --compiler COMPILER
specify compiler
-x OPTIONS, --options OPTIONS
used options for a compiler
-r RUNTIME_OPTIONS, --runtime-options RUNTIME_OPTIONS
runtime options
-n, --dryrun dryrun
-V, --verbose verbose log
-s, --save generate permanent link.
--encoding ENCODING set encoding
--no-head ignore head compiler version (at auto setup)
--no-default no set default options
--stdin STDIN set stdin
--retry-wait SECONDS wait time for retry when HTTPError occurs
--retry COUNT number of retries when HTTPError occurs
Bash
Source files required for runtime are automatically added to the file list.
- wandbox-bash
Bash Example
wandbox-bash run sample.sh
C
Include files required for compilation are automatically added to the file list.
- wandbox-cc
(wandbox -l C) - wandbox-gcc
(wandbox -l C -c gcc-*-c) - wandbox-clang
(wandbox -l C -c clang-*-c)
C Example
wandbox-gcc run sample.c test.c
CXX="wandbox-gcc run" make
C#
- wandbox-cs
(wandbox -l C#)
C# Example
wandbox-cs run sample.cs test.cs
C++
Include files required for compilation are automatically added to the file list.
- wandbox-cxx
(wandbox -l C++) - wandbox-g++
(wandbox -l C++ -c gcc-*) - wandbox-clang++
(wandbox -l C++ -c clang-*)
usage: wandbox-cxx [-h] [-v] [-c COMPILER] [-x OPTIONS] [-r RUNTIME_OPTIONS] [-n] [-s] [--encoding ENCODING]
[--no-default] [--stdin STDIN] [--retry-wait SECONDS] [--retry COUNT] [--std VERSION]
[--boost VERSION] [--no-warning] [--optimize] [--cpp-pedantic PEDANTIC] [--cpp-verbose] [--sprout] [--msgpack]
{list,compilers,versions,lang,option,permlink,run,template,run-template,user,help} ...
positional arguments:
{list,compilers,versions,lang,option,permlink,run,help}
list show list api response. see `list -h`
compilers show support compilers. see `compilers -h`
versions show support compilers. see `versions -h`
lang show support languages. see `lang -h`
option show compiler options. see `option -h`
version show compiler version from version-command. see `version -h`
permlink get permlink. see `permlink -h`
run build and run command. see `run +h`
template get wandbox template code. see `template -h`
run-template run wandbox template code. see `run-template +h`
user get wandbox user info. see `user -h`
help show subcommand help. see `help -h`
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-c COMPILER, --compiler COMPILER
specify compiler
-x OPTIONS, --options OPTIONS
used options for a compiler
-r RUNTIME_OPTIONS, --runtime-options RUNTIME_OPTIONS
runtime options
-n, --dryrun dryrun
-V, --verbose verbose log
-s, --save generate permanent link.
--encoding ENCODING set encoding
--no-head ignore head compiler version (at auto setup)
--no-default no set default options
--stdin STDIN set stdin
--retry-wait SECONDS wait time for retry when HTTPError occurs
--retry COUNT number of retries when HTTPError occurs
--std VERSION set --std options
--boost VERSION set boost options version X.XX or nothing
--no-warning disable warning option
--optimize use optimization
--cpp-pedantic PEDANTIC
use cpp-pedantic
--cpp-verbose use cpp-verbose
--sprout use sprout
--msgpack use msgpack
C++ Example
wandbox-cxx -c gcc-head run main.cpp -DWANDBOX
CXX="wandbox-g++ run" make
CPP
Include files required for compilation are automatically added to the file list.
- wandbox-CPP
(wandbox -l CPP) - wandbox-gcc-PP
(wandbox -l CPP -c gcc-*-pp) - wandbox-clang-PP
(wandbox -l CPP -c clang-*-pp)
CPP Example
wandbox-clang-PP run -CC -nostdinc -E -P sample.cpp test.cpp
Crystal
Import modules required for compilation are automatically added to the file list.
- wandbox-crystal
(wandbox -l Crystal)
Crystal Example
wandbox-crystal run sample.cr
D
- wandbox-dmd
(wandbox -l D -c dmd-*) - wandbox-ldmd2
(wandbox -l D -c ldc-*) - wandbox-dub
D Example
wandbox-dmd run sample.d test2.d packages/test.d
wandbox-dub run
Elixir
- wandbox-elixir
(wandbox -l Elixir) - wandbox-mix (Experimental)
Elixir Example
wandbox-elixir run sample.exs
wandbox-mix run test
Erlang
- wandbox-erlc
(wandbox -l Erlang)
Erlang Example
wandbox-erlc run prog.erl
Go
- wandbox-go
(wandbox -l Go)
Go Example
wandbox-go run sample.go
Groovy
- wandbox-groovy
(wandbox -l Groovy)
Groovy Example
wandbox-groovy run -cp . sample.groovy
Haskell
- wandbox-ghc
(wandbox -l Haskell) - wandbox-stack
Note: wandbox-ghc/wandbox-stack add -dynamic compiler option. (output file size workarround.)
Haskell Example
wandbox-ghc run sample.hs
wandbox-stack run
Java
- wandbox-java
(wandbox -l Java)
Java Example
wandbox-java run sample.java test.java
JavaScript
Import files/modules required for runtime are automatically added to the file list.
- wandbox-js
(wandbox -l JavaScript) - wandbox-node
(wandbox -l JavaScript-c nodejs-*) - wandbox-spidermonkey
(wandbox -l JavaScript -c spidermonkey-*)
JavaScript Example
wandbox-node run --experimental-modules sample.js
Julia
- wandbox-julia
(wandbox -l Julia)
Julia Example
wandbox-julia run sample.jl
Lazy K
- wandbox-lazyk
(wandbox -l "Lazy K")
Lazy K Example
wandbox-lazyk run sample.lazy
Lisp
- wandbox-sbcl
(wandbox -l Lisp) - wandbox-clisp
(wandbox -l Lisp -c clisp-*)
Lisp Example
wandbox-sbcl run sample.lisp
Lua
Import files/modules required for compilation are automatically added to the file list.
- wandbox-lua
(wandbox -l Lua) - wandbox-luajit
(wandbox -l Lua -c luajit-*)
Lua Example
wandbox-lua run sample.lua
Nim
Import modules/.c required for compilation are automatically added to the file list.
- wandbox-nim
(wandbox -l Nim)
Nim Example
wandbox-nim run sample.nim
OCaml
- wandbox-ocamlopt
(wandbox -l OCaml) - wandbox-ocaml
(wandbox -l OCaml)
OCaml Example
wandbox-ocamlopt run sample.ml
OpenSSL
Even just having wandbox would be enough.
- wandbox-ssl
OpenSSL Example
wandbox-ssl genrsa -out test.key 2048
wandbox-ssl rsa -in test.key -pubout -out test.key.pub
Pascal
Include files required for runtime are automatically added to the file list.
- wandbox-fpc
(wandbox -l Pascal)
Pascal Example
wandbox-fpc run sample.pas
Perl
Require files/modules required for runtime are automatically added to the file list.
- wandbox-perl
(wandbox -l Perl)
Perl Example
wandbox-perl run sample.pl
PHP
Require/Include files required for runtime are automatically added to the file list.
- wandbox-php
(wandbox -l PHP)
PHP Example
wandbox-php run sample.php
Pony
Build directory files are automatically added to the file list.
- wandbox-ponyc
(wandbox -l Pony)
Pony Example
wandbox-ponyc run ./sample ./sample2
wandbox-ponyc builds ./sample and ./sample2, Then execute ./sample2
Python
Import files/modules required for runtime are automatically added to the file list.
- wandbox-python
(wandbox -l Python) - wandbox-python2
(wandbox -l Python -c cpython-2.7-*) - wandbox-python3
(wandbox -l Python -c cpython-*) - wandbox-pypy
(wandbox -l Python -c pypy-*) - wandbox-pypy2
(wandbox -l Python -c pypy-2*) - wandbox-pypy3
(wandbox -l Python -c pypy-3*)
Python Example
wandbox-python3 run sample.py
wandbox-python supports setup.py
wandbox-python -c cpython-head -r test run setup.py
If you open a file, add the file
wandbox-python -c cpython-head -r test run setup.py README.md
R
Source files are automatically added to the file list.
- wandbox-rscript
(wandbox -l R)
R Example
wandbox-rscript run sample.R
Ruby
Require files required for runtime are automatically added to the file list.
- wandbox-ruby
(wandbox -l Ruby) - wandbox-mruby
(wandbox -l Ruby -c mruby-*)
Ruby Example
wandbox-ruby run sample.rb
Rust
Module files required for runtime are automatically added to the file list.
- wandbox-rustc
(wandbox -l Rust) - wandbox-cargo
Rust Example
wandbox-rustc run sample.rs
wandbox-cargo run
Scala
- wandbox-scalac
(wandbox -l Scala)
Scala Example
wandbox-scalac run *.scala
SQL
- wandbox-sqlite
(wandbox -l SQL) - wandbox-sqlite3
(wandbox -l SQL)
SQL Example
wandbox-sqlite3 run SELECT 'Hello, Wandbox!';
Swift
- wandbox-swift
(wandbox -l Swift)
Swift Example
wandbox-swift run main.swift
TypeScript
Import files/modules required for compilation are automatically added to the file list.
- wandbox-tsc
(wandbox -l TypeScript)
TypeScript Example
wandbox-tsc run --module es2015 sample.ts
Vim script
- wandbox-vim
(wandbox -l "Vim script")
Vim script Example
wandbox-vim run -X -N -u NONE -i NONE -V1 -e -s -S sample.vim +qall!
Zig
Import files required for compilation are automatically added to the file list.
- wandbox-zig
(wandbox -l Zig)
Zig Example
wandbox-zig run main.zig
CONTRIBUTING
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file wandbox-api-0.10.0.tar.gz
.
File metadata
- Download URL: wandbox-api-0.10.0.tar.gz
- Upload date:
- Size: 34.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6cbd9ac5d15c56785f955abcf6ca2e3f19158b3fd2d83aeb3e8bf2782ce3cfb |
|
MD5 | 45a2754aa658c466a1e9c7fc48d37c8f |
|
BLAKE2b-256 | 70edfe3f58a26500ccf224490bbaa7667686b842ba82ef03c2ea27ca4c4acd57 |
File details
Details for the file wandbox_api-0.10.0-py3-none-any.whl
.
File metadata
- Download URL: wandbox_api-0.10.0-py3-none-any.whl
- Upload date:
- Size: 52.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 503e9cf08c641aa59ff3848f4432a15c33db48ff0e51dc3979ef500c9f5fa5b8 |
|
MD5 | 84424a73f355115f7d77b336bf4be99d |
|
BLAKE2b-256 | 19ee5e03445d63de65a4c05808c8f4f6a89596a43846cb0f498cc4fdef46d7a3 |