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,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`
    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`
    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

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`
    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`
    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-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 -l C -c gcc-*-c)
  • wandbox-clang
    (wandbox -l C -c clang-*-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 -l CPP -c gcc-*-pp)
  • wandbox-clang-PP
    (wandbox -l CPP -c clang-*-pp)

CPP Example

CPP Example

CoffeeScript

  • wandbox-coffee
    (wandbox -l CoffeeScript)

CoffeeScript Example

CoffeeScript Example

CSharp

  • wandbox-cs
    (wandbox -l C#)

CSharp Example

C# Example

Crystal

  • wandbox-crystal
    (wandbox -l Crystal)

Crystal Example

Crystal 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

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

Note: wandbox-ghc/wandbox-stack add -dynamic compiler option. (output file size workarround.)

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 -l JavaScript-c nodejs-*)
  • wandbox-spidermonkey
    (wandbox -l JavaScript -c spidermonkey-*)

JavaScript Example

JavaScript Example

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

Lua 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

PHP

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

  • wandbox-php
    (wandbox -l PHP)

PHP Example

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

Python Example

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

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.25.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

wandbox_api-0.9.25-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

File details

Details for the file wandbox-api-0.9.25.tar.gz.

File metadata

  • Download URL: wandbox-api-0.9.25.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for wandbox-api-0.9.25.tar.gz
Algorithm Hash digest
SHA256 33383beefa29ab167d2821c20478df07cba9d74aad08d9a6254c684a335cd461
MD5 342cf9d08186ee447dd0cea404a8fa8c
BLAKE2b-256 d30ef6ad0db925a01c24a906827bdf44fc8a7f55f70757368abdf83724bf13c9

See more details on using hashes here.

File details

Details for the file wandbox_api-0.9.25-py3-none-any.whl.

File metadata

  • Download URL: wandbox_api-0.9.25-py3-none-any.whl
  • Upload date:
  • Size: 34.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for wandbox_api-0.9.25-py3-none-any.whl
Algorithm Hash digest
SHA256 52d8a7263d948b7f4b8848ff8a470dc930c87323969060edc33da4eb50d99d8e
MD5 f129e0a29c3e25b4e24d71d459a4f622
BLAKE2b-256 c690def747fd0c432728dadb3b033bb02f23fe7dd3df1be3dcf69affc0720ca3

See more details on using hashes here.

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