Skip to main content

A Python binding to the Wandbox API.

Project description

Wandbox API for Python

PyPI version Python Versions Codacy Badge Language grade: 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

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,compiler,versions,lang,option,permlink,run,help} ...

positional arguments:
  {list,compiler,versions,lang,option,permlink,run,help}
    list                show list api response. see `list -h`
    compiler            show support compilers. see `compiler -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`
    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

Bash Example

C++

Include files required for compilation are automatically added to the file list.

  • wandbox-cxx
  • wandbox-g++
    (wandbox-cxx -c gcc-head)
  • wandbox-clang++
    (wandbox-cxx -c clang-head)
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,compiler,versions,lang,option,permlink,run,help} ...

positional arguments:
  {list,compiler,versions,lang,option,permlink,run,help}
    list                show list api response. see `list -h`
    compiler            show support compilers. see `compiler -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`
    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++ Example

C

Include files required for compilation are automatically added to the file list.

  • wandbox-cc
    (wandbox -l C)
  • wandbox-gcc
    (wandbox-cc -c gcc-head-c)
  • wandbox-clang
    (wandbox-cc -c clang-head-c)

C Example

C Example

CPP

Include files required for compilation are automatically added to the file list.

  • wandbox-CPP
    (wandbox -l CPP)
  • wandbox-gcc-PP
    (wandbox-CPP -c gcc-head-pp)
  • wandbox-clang-PP
    (wandbox-CPP -c clang-head-pp)

CPP Example

CPP Example

CSharp

  • wandbox-cs
    (wandbox -l C#)

CSharp Example

C# Example

D

  • wandbox-dmd
    (wandbox -l D)
  • wandbox-dub

D Example

D Example Dub Example

Elixir

  • wandbox-elixir
    (wandbox -l Elixir)
  • wandbox-mix (Experimental)

Elixir Example

Elixir Example

Go

  • wandbox-go
    (wandbox -l Go)

Go Example

Go Example

Haskell

  • wandbox-ghc
    (wandbox -l Haskell)
  • wandbox-stack

Haskell Example

Haskell Example

Haskell Stack Example

Java

  • wandbox-java
    (wandbox -l Java)

Java Example

Java Example

JavaScript

Import files/modules required for runtime are automatically added to the file list.

  • wandbox-js
    (wandbox -l JavaScript)
  • wandbox-node
    (wandbox-js -c nodejs-head)
  • wandbox-spidermonkey
    (wandbox-js -c spidermonkey-45.0.2)

JavaScript Example

JavaScript Example

Nim

Import modules required for compilation are automatically added to the file list.

  • wandbox-nim
    (wandbox -l Nim)

Nim Example

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

OpenSSL Example

Perl

Require files/modules required for runtime are automatically added to the file list.

  • wandbox-perl
    (wandbox -l Perl)

Perl Example

Perl Example

Python

Import files/modules required for runtime are automatically added to the file list.

  • wandbox-python
    (wandbox -l Python)
  • wandbox-python2
    (wandbox-cxx -c cpython-2.7-head)
  • wandbox-python3
    (wandbox-cxx -c cpython-head)
  • wandbox-pypy
    (wandbox-cxx -c pypy-head)

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

Python Example

Ruby

Require files required for runtime are automatically added to the file list.

  • wandbox-ruby
    (wandbox -l Ruby)
  • wandbox-mruby
    (wandbox-ruby -c mruby-head)

Ruby Example

wandbox-ruby run sample.rb

Ruby Example

Swift

  • wandbox-swift
    (wandbox -l Swift)

Swift Example

wandbox-swift run main.swift

Swift Example

TypeScript

Import files/modules required for compilation are automatically added to the file list.

  • wandbox-tsc
    (wandbox -l TypeScript)

TypeScript Example

TypeScript Example

CONTRIBUTING

CONTRIBUTING

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

wandbox-api-0.9.17.tar.gz (19.7 kB view hashes)

Uploaded Source

Built Distribution

wandbox_api-0.9.17-py3-none-any.whl (29.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page