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

CSharp

  • wandbox-cs
    (wandbox -l C#)

CSharp Example

C# 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

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

Uploaded Source

Built Distribution

wandbox_api-0.9.21-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wandbox-api-0.9.21.tar.gz
  • Upload date:
  • Size: 21.5 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.21.tar.gz
Algorithm Hash digest
SHA256 2ae5d592d52eceab5d7ca81f87cbb366544aaeac402b39efac23af2151e3cac3
MD5 da7efb39598361f67739095d0e9b41d3
BLAKE2b-256 422814efbf40e27444043d13d58696b1dd07b25d5ff2d5dea66ac44263f98b14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wandbox_api-0.9.21-py3-none-any.whl
  • Upload date:
  • Size: 31.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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 df5d11f2ec353e17a9e444e3165c6c036625b55c0dc0c3ca36b7b1ff2bcaf8dc
MD5 ebfa61947862bc7fad8cb70272c33bf4
BLAKE2b-256 8c406ef74297f1949ae81bf23e034f4b7586af7d31b400608b6a835d00d0718c

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