jstudio


Namejstudio JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/JStudiooo/growagarden-api
SummaryOfficial Python SDK for JStudio's API & WebSocket services - Fast, reliable API for real-time data from Various Games (Roblox)
upload_time2025-08-04 05:45:46
maintainerNone
docs_urlNone
authorJStudio
requires_python>=3.7
licenseNone
keywords jstudio grow-a-garden roblox api sdk gaming real-time
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # JStudio Python SDK

Official Python SDK for JStudio's API & WebSocket services - Fast, reliable API for real-time data from Various Games (Roblox).

## Installation

```bash
pip install jstudio
```

## Quick Start

```python
import jstudio

# Connect to JStudio API
client = jstudio.connect('js_your_api_key_here')

# Get all stock data
stocks = client.stocks.all()
print(f"Seed stock items: {len(stocks['seed_stock'])}")

# Get specific stock types
seed_items = client.stocks.seeds()
print(f"Found {len(seed_items)} seed items")

# Weather information
weather_data = client.weather.all()
active_weather = client.weather.active()
print(f"Active weather events: {len(active_weather)}")

# Get item information
all_seeds = client.items.seeds()
specific_item = client.items.get('apple')

# Calculator
result = client.calculator.calculate({
    'Name': 'Apple',
    'Weight': '5.2',
    'Variant': 'Golden'
})

# Get image URLs
image_url = client.images.get_url('apple')
```

## API Reference

### Client Initialization

```python
import jstudio

client = jstudio.connect(
    api_key='js_your_key_here',    # Required: Your JStudio API key
    base_url='https://api.joshlei.com',  # Optional: Custom API base URL
    timeout=30,                     # Optional: Request timeout in seconds
    retries=3,                      # Optional: Number of retry attempts
    retry_delay=1.0                 # Optional: Delay between retries
)
```

### Stocks API

```python
# Get all stock data
all_stocks = client.stocks.all()

# Get specific stock types
seeds = client.stocks.seeds()
gear = client.stocks.gear()
eggs = client.stocks.eggs()
cosmetics = client.stocks.cosmetics()
event_shop = client.stocks.event_shop()
traveling_merchant = client.stocks.traveling_merchant()
```

### Weather API

```python
# Get all weather data
weather = client.weather.all()

# Get only active weather events
active_weather = client.weather.active()
```

### Items API

```python
# Get all items (optionally filtered by type)
all_items = client.items.all()
seed_items = client.items.all('seed')

# Get specific item
item = client.items.get('apple')

# Get items by category
seeds = client.items.seeds()
gear = client.items.gear()
eggs = client.items.eggs()
cosmetics = client.items.cosmetics()
events = client.items.events()
pets = client.items.pets()
seedpacks = client.items.seedpacks()
weather_items = client.items.weather()
```

### Calculator API

```python
# Calculate with parameters
result = client.calculator.calculate({
    'Name': 'Apple',
    'Weight': '5.2',
    'Variant': 'Golden'
})

# Get all calculator data
all_data = client.calculator.get_all_data()
```

### Images API

```python
# Get image URL for an item
image_url = client.images.get_url('apple')
```

## Error Handling

```python
import jstudio

try:
    client = jstudio.connect('js_your_key_here')
    stocks = client.stocks.all()
except jstudio.JStudioApiError as e:
    print(f"API Error ({e.status_code}): {e.message}")
    if e.retry_after:
        print(f"Retry after: {e.retry_after} seconds")
except Exception as e:
    print(f"Unexpected error: {e}")
```

## Features

- **Zero dependencies** (except `requests`)
- **Automatic retries** with exponential backoff
- **Rate limiting** handling
- **Type hints** for better IDE support
- **Comprehensive error handling**
- **Same API as Node.js version** for consistency

## Requirements

- Python 3.7+
- requests >= 2.25.0

## License

MIT License - see LICENSE file for details.

## Support

- Homepage: https://api.joshlei.com
- Issues/Support: https://discord.gg/kCryJ8zPwy
- Repository: https://github.com/JStudiooo/growagarden-api

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/JStudiooo/growagarden-api",
    "name": "jstudio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "jstudio, grow-a-garden, roblox, api, sdk, gaming, real-time",
    "author": "JStudio",
    "author_email": "contact@joshlei.com",
    "download_url": "https://files.pythonhosted.org/packages/cb/43/4862b7862d1642d193dc9993cb21e5ac00700b521f22e1def958d9413454/jstudio-1.0.0.tar.gz",
    "platform": null,
    "description": "# JStudio Python SDK\r\n\r\nOfficial Python SDK for JStudio's API & WebSocket services - Fast, reliable API for real-time data from Various Games (Roblox).\r\n\r\n## Installation\r\n\r\n```bash\r\npip install jstudio\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\nimport jstudio\r\n\r\n# Connect to JStudio API\r\nclient = jstudio.connect('js_your_api_key_here')\r\n\r\n# Get all stock data\r\nstocks = client.stocks.all()\r\nprint(f\"Seed stock items: {len(stocks['seed_stock'])}\")\r\n\r\n# Get specific stock types\r\nseed_items = client.stocks.seeds()\r\nprint(f\"Found {len(seed_items)} seed items\")\r\n\r\n# Weather information\r\nweather_data = client.weather.all()\r\nactive_weather = client.weather.active()\r\nprint(f\"Active weather events: {len(active_weather)}\")\r\n\r\n# Get item information\r\nall_seeds = client.items.seeds()\r\nspecific_item = client.items.get('apple')\r\n\r\n# Calculator\r\nresult = client.calculator.calculate({\r\n    'Name': 'Apple',\r\n    'Weight': '5.2',\r\n    'Variant': 'Golden'\r\n})\r\n\r\n# Get image URLs\r\nimage_url = client.images.get_url('apple')\r\n```\r\n\r\n## API Reference\r\n\r\n### Client Initialization\r\n\r\n```python\r\nimport jstudio\r\n\r\nclient = jstudio.connect(\r\n    api_key='js_your_key_here',    # Required: Your JStudio API key\r\n    base_url='https://api.joshlei.com',  # Optional: Custom API base URL\r\n    timeout=30,                     # Optional: Request timeout in seconds\r\n    retries=3,                      # Optional: Number of retry attempts\r\n    retry_delay=1.0                 # Optional: Delay between retries\r\n)\r\n```\r\n\r\n### Stocks API\r\n\r\n```python\r\n# Get all stock data\r\nall_stocks = client.stocks.all()\r\n\r\n# Get specific stock types\r\nseeds = client.stocks.seeds()\r\ngear = client.stocks.gear()\r\neggs = client.stocks.eggs()\r\ncosmetics = client.stocks.cosmetics()\r\nevent_shop = client.stocks.event_shop()\r\ntraveling_merchant = client.stocks.traveling_merchant()\r\n```\r\n\r\n### Weather API\r\n\r\n```python\r\n# Get all weather data\r\nweather = client.weather.all()\r\n\r\n# Get only active weather events\r\nactive_weather = client.weather.active()\r\n```\r\n\r\n### Items API\r\n\r\n```python\r\n# Get all items (optionally filtered by type)\r\nall_items = client.items.all()\r\nseed_items = client.items.all('seed')\r\n\r\n# Get specific item\r\nitem = client.items.get('apple')\r\n\r\n# Get items by category\r\nseeds = client.items.seeds()\r\ngear = client.items.gear()\r\neggs = client.items.eggs()\r\ncosmetics = client.items.cosmetics()\r\nevents = client.items.events()\r\npets = client.items.pets()\r\nseedpacks = client.items.seedpacks()\r\nweather_items = client.items.weather()\r\n```\r\n\r\n### Calculator API\r\n\r\n```python\r\n# Calculate with parameters\r\nresult = client.calculator.calculate({\r\n    'Name': 'Apple',\r\n    'Weight': '5.2',\r\n    'Variant': 'Golden'\r\n})\r\n\r\n# Get all calculator data\r\nall_data = client.calculator.get_all_data()\r\n```\r\n\r\n### Images API\r\n\r\n```python\r\n# Get image URL for an item\r\nimage_url = client.images.get_url('apple')\r\n```\r\n\r\n## Error Handling\r\n\r\n```python\r\nimport jstudio\r\n\r\ntry:\r\n    client = jstudio.connect('js_your_key_here')\r\n    stocks = client.stocks.all()\r\nexcept jstudio.JStudioApiError as e:\r\n    print(f\"API Error ({e.status_code}): {e.message}\")\r\n    if e.retry_after:\r\n        print(f\"Retry after: {e.retry_after} seconds\")\r\nexcept Exception as e:\r\n    print(f\"Unexpected error: {e}\")\r\n```\r\n\r\n## Features\r\n\r\n- **Zero dependencies** (except `requests`)\r\n- **Automatic retries** with exponential backoff\r\n- **Rate limiting** handling\r\n- **Type hints** for better IDE support\r\n- **Comprehensive error handling**\r\n- **Same API as Node.js version** for consistency\r\n\r\n## Requirements\r\n\r\n- Python 3.7+\r\n- requests >= 2.25.0\r\n\r\n## License\r\n\r\nMIT License - see LICENSE file for details.\r\n\r\n## Support\r\n\r\n- Homepage: https://api.joshlei.com\r\n- Issues/Support: https://discord.gg/kCryJ8zPwy\r\n- Repository: https://github.com/JStudiooo/growagarden-api\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Official Python SDK for JStudio's API & WebSocket services - Fast, reliable API for real-time data from Various Games (Roblox)",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://discord.gg/kCryJ8zPwy",
        "Homepage": "https://api.joshlei.com"
    },
    "split_keywords": [
        "jstudio",
        " grow-a-garden",
        " roblox",
        " api",
        " sdk",
        " gaming",
        " real-time"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "876dec7873e82d2e9230a2d713d9b43c437a1e6362a951b6bc0ed4ba05e2255e",
                "md5": "d7ecf92dec4840604a39010ea8b5f443",
                "sha256": "d6e21dad4bc7729ba233519cc513d2f281fbee1bdc72f2fdef4f957c27e8204b"
            },
            "downloads": -1,
            "filename": "jstudio-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d7ecf92dec4840604a39010ea8b5f443",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6573,
            "upload_time": "2025-08-04T05:45:44",
            "upload_time_iso_8601": "2025-08-04T05:45:44.780470Z",
            "url": "https://files.pythonhosted.org/packages/87/6d/ec7873e82d2e9230a2d713d9b43c437a1e6362a951b6bc0ed4ba05e2255e/jstudio-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cb434862b7862d1642d193dc9993cb21e5ac00700b521f22e1def958d9413454",
                "md5": "6d857195d80db35c08ee85742693e2cd",
                "sha256": "3571a101247db8954cfb0623204f99940f9dcdfa6ba5f711cffd741bd80b41cd"
            },
            "downloads": -1,
            "filename": "jstudio-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6d857195d80db35c08ee85742693e2cd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 6151,
            "upload_time": "2025-08-04T05:45:46",
            "upload_time_iso_8601": "2025-08-04T05:45:46.192161Z",
            "url": "https://files.pythonhosted.org/packages/cb/43/4862b7862d1642d193dc9993cb21e5ac00700b521f22e1def958d9413454/jstudio-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-04 05:45:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JStudiooo",
    "github_project": "growagarden-api",
    "github_not_found": true,
    "lcname": "jstudio"
}
        
Elapsed time: 4.44427s