Metadata-Version: 2.4
Name: holoscript
Version: 5.3.1
Summary: Python bindings for HoloScript - VR scene description language
Project-URL: Homepage, https://holoscript.net
Project-URL: Documentation, https://holoscript.net/python
Project-URL: Repository, https://github.com/brianonbased-dev/Holoscript
Project-URL: Issues, https://github.com/brianonbased-dev/Holoscript/issues
Author-email: Brian X Base Team <team@holoscript.net>
License-Expression: MIT
Keywords: 3d,ar,gazebo,holoscript,metaverse,robotics,ros,scene-description,sdf,simulation,urdf,vr,xr
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: pydantic>=2.0.0
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Provides-Extra: pyodide
Provides-Extra: robotics
Description-Content-Type: text/markdown

# HoloScript Python Bindings

Python bindings for HoloScript - parse, validate, and generate HoloScript code from Python.

## Installation

```bash
pip install holoscript
```

## Quick Start

```python
from holoscript import HoloScript

# Initialize
hs = HoloScript()

# Parse HoloScript code
ast = hs.parse("""
composition "My Scene" {
  object "Crystal" @grabbable @glowing {
    geometry: "sphere"
    color: "#00ffff"
  }
}
""")

# Validate code
result = hs.validate(ast)
if result.valid:
    print("✅ Valid HoloScript!")
else:
    for error in result.errors:
        print(f"❌ Line {error.line}: {error.message}")

# Generate from natural language
scene = hs.generate("a floating island with glowing crystals")
print(scene.code)

# Create shareable link
share = hs.share(scene.code, title="My VR Scene", platform="x")
print(f"Playground: {share.playground_url}")
print(f"Tweet: {share.tweet_text}")
```

## Features

- **Parsing**: Parse `.hs`, `.hsplus`, and `.holo` files
- **Validation**: Validate syntax with AI-friendly error messages
- **Generation**: Generate HoloScript from natural language
- **Rendering**: Generate preview images/GIFs
- **Sharing**: Create X-optimized shareable links

## For AI Agents (Grok, etc.)

```python
# Grok integration example
from holoscript import HoloScript

hs = HoloScript(api_key="your-api-key")  # Optional for remote rendering

# Generate scene from user prompt
user_prompt = "Create a VR scene with a floating castle"
scene = hs.generate(user_prompt)

# Validate
if hs.validate(scene.code).valid:
    # Create shareable preview
    preview = hs.render(scene.code, format="gif", duration=3000)
    share = hs.share(scene.code, title="Floating Castle", platform="x")

    # Return to user
    print(f"Here's your VR scene: {share.playground_url}")
    print(f"Preview: {preview.url}")
```

## API Reference

See [full documentation](https://holoscript.net/python) for complete API reference.
