Skip to main content

An all-in-one API wrapper for the Piston API in Python

Project description

Ultra Piston

An all-in-one wrapper for the Piston API in Python.

✨ Features

This library offers robust customization options and essential functionalities, including:

  • Complete 100% API coverage
  • Rich data models
  • Support for both synchronous and asynchronous methods
  • Automatic rate limit handling
  • Pluggable HTTP driver system — implement your own custom driver for handling requests

📦 Requirements & Installation

This library supports python versions 3.10 and higher.

To install ultra-piston via pip-

(.venv) $ pip install ultra_piston

Or by uv-

$ uv add ultra_piston

🚀 Quick Start

from ultra_piston import PistonClient, File

client = PistonClient()

result = client.post_execute(
    language="python3",
    version="3.10.0",
    file=File(content='print("Hello from ultra-piston!")'),
)

print(result.run.output)

Ultra Piston also provides async methods for all the available endpoints! To use the asynchronous variant of a method, simply append _async to the name of its synchronous counterpart.

import asyncio
from ultra_piston import PistonClient, File

client = PistonClient()

async def main():
    result = await client.post_execute_async(
        language="python3",
        version="3.10.0",
        file=File(content='print("Hello from ultra-piston!")'),
    )

    print(result.run.output)

asyncio.run(main())

🔗 Links

Documentation - API Reference & Guide: https://ultra-piston.readthedocs.io/en/latest/index.html

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ultra_piston-1.0.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ultra_piston-1.0.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file ultra_piston-1.0.0.tar.gz.

File metadata

  • Download URL: ultra_piston-1.0.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ultra_piston-1.0.0.tar.gz
Algorithm Hash digest
SHA256 347ea1bc80be8499e25fbacfaa2e3852723c1a1a1ffd1a27dd089f6570685b47
MD5 9ed6cbf6f8e07a0dbc247287bdfa508a
BLAKE2b-256 68e1e4832ed494515569425ce1ace5d69bc92f4607ad2f5a59667eb603defc6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultra_piston-1.0.0.tar.gz:

Publisher: python-publish.yml on Jiggly-Balls/ultra-piston

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultra_piston-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ultra_piston-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ultra_piston-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7514464647015ed83fde7896bb7cbcbb20be0470a0b40d7312bb62d73a0f5db0
MD5 f5a2b6f3f03eb9f4bf4db5ae14574c53
BLAKE2b-256 7f9f8cf18a58f96abd6cb23c629999e5a643e4114cbcf4fba3e388fbaf323938

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultra_piston-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on Jiggly-Balls/ultra-piston

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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