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
- Bash
- C++
- C
- CPP
- C#
- D
- Elixir
- Go
- Haskell
- Java
- JavaScript
- Nim
- OpenSSL
- Perl
- PHP
- Python
- Ruby
- Swift
- TypeScript
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,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`
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`
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
-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
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,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`
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`
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
-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-gcc run" make
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
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
CSharp
- wandbox-cs
(wandbox -l C#)
CSharp Example
D
- wandbox-dmd
(wandbox -l D -c dmd-*) - wandbox-gdmd
(wandbox -l D -c gdc-*) - wandbox-ldmd2
(wandbox -l D -c ldc-*) - wandbox-dub
D Example
Elixir
- wandbox-elixir
(wandbox -l Elixir) - wandbox-mix (Experimental)
Elixir Example
Go
- wandbox-go
(wandbox -l Go)
Go Example
Haskell
- wandbox-ghc
(wandbox -l Haskell) - wandbox-stack
Note: wandbox-ghc/wandbox-stack add -dynamic compiler option. (output file size workarround.)
Haskell Example
Java
- wandbox-java
(wandbox -l Java)
Java Example
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
Nim
Import modules required for compilation are automatically added to the file list.
- wandbox-nim
(wandbox -l Nim)
Nim Example
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
Perl
Require files/modules required for runtime are automatically added to the file list.
- wandbox-perl
(wandbox -l Perl)
Perl Example
PHP
Require/Include files required for runtime are automatically added to the file list.
- wandbox-php
(wandbox -l PHP)
PHP Example
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-*)
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
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
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
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
Hashes for wandbox_api-0.9.19-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b91c30519fb4f8275fa8edc238915eada4ecc7bb9a6c40ecb4351506f23b7fff |
|
MD5 | 9dad13bf8e025763fb3d32901e2ea0dd |
|
BLAKE2b-256 | d1828daa099d5745b882857f1498b7da67c3b8fcdda67381ff0aca5221b1ad16 |