remote-graphcast


Nameremote-graphcast JSON
Version 0.0.11 PyPI version JSON
download
home_pagehttps://github.com/Lewington-pitsos/remote-graphcast
SummaryAllows people without massive GPUs to easily run graphcast on remote runpod servers
upload_time2024-01-15 08:20:31
maintainer
docs_urlNone
authorLouka Ewington-Pitsos
requires_python>=3.8
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Remote Graphcast

Run [graphcast](https://github.com/google-deepmind/graphcast) on a [runpod](https://runpod.io/) GPU server. Output is saved to [s3](https://aws.amazon.com/pm/serv-s3/). Shouldn't cost more than $0.6 USD for a 10 day forcast.

## Order of operations

1. Your input is validated
2. A secure runpod GPU pod is spun up on your runpod account
3. Graphcast is installed into that gpu and forecasts of your chosen length are generated for each timestamp, this takes around 10 minutes for a 10 day forcast
4. These forecasts are saved to your chosen s3 bucket, roughly **6.5GB for 10 days** of forecast
5. The runpod pod is terminated
6. The program exits

## Requirements

- python 3.8+ and pip
- [cds.climate](https://cds.climate.copernicus.eu/api-how-to) credentials
- an [AWS](https://aws.amazon.com/console/) s3 bucket, free tier should be fine
- S3 credentials to go with the bucket
- [Runpod](https://www.runpod.io/) credentials

## Installation

`pip install remote-graphcast`

## Example Code

```python

from remote_graphcast import remote_cast

remote_cast(
	aws_access_key_id='YOUR_AWS_ACCESS_KEY_ID',
	aws_secret_access_key='YOUR_AWS_SECRET_ACCESS_KEY',
	aws_bucket='YOUR_AWS_BUCKET_NAME',
	cds_url='https://cds.climate.copernicus.eu/api/v2', # this is probably your CDS URL 
	cds_key='YOUR_CDS_KEY',
	forcast_list="[{'start': '2023122518', 'hours_to_forcast': 48}]", 
	# dates to forcast from, note the weird quasi-JSON format, of this string, use single quotes instead of double quotes
	# select a date in the future and it will raise an error without spinning up anything
	runpod_key='YOUR_RUNPOD_KEY',
	gpu_type_id="NVIDIA A100-SXM4-80GB", # graphcast needs at least 61GB GPU ram (unless you want to quantize)
	container_disk_in_gb=50, # you'll need around 40GB per 10 day forcast + a healthy 10GB buffer
)

# internally this function will keep polling the pod it spins up and the s3 bucket until it sees that all forcasts 
# are complete, then it will return


```





            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Lewington-pitsos/remote-graphcast",
    "name": "remote-graphcast",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Louka Ewington-Pitsos",
    "author_email": "lewingtonpitsos@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8d/2d/0821cfdf574e594b9fdf13cf59f18c89d5dc2200c088d9979cb623677eee/remote-graphcast-0.0.11.tar.gz",
    "platform": null,
    "description": "# Remote Graphcast\r\n\r\nRun [graphcast](https://github.com/google-deepmind/graphcast) on a [runpod](https://runpod.io/) GPU server. Output is saved to [s3](https://aws.amazon.com/pm/serv-s3/). Shouldn't cost more than $0.6 USD for a 10 day forcast.\r\n\r\n## Order of operations\r\n\r\n1. Your input is validated\r\n2. A secure runpod GPU pod is spun up on your runpod account\r\n3. Graphcast is installed into that gpu and forecasts of your chosen length are generated for each timestamp, this takes around 10 minutes for a 10 day forcast\r\n4. These forecasts are saved to your chosen s3 bucket, roughly **6.5GB for 10 days** of forecast\r\n5. The runpod pod is terminated\r\n6. The program exits\r\n\r\n## Requirements\r\n\r\n- python 3.8+ and pip\r\n- [cds.climate](https://cds.climate.copernicus.eu/api-how-to) credentials\r\n- an [AWS](https://aws.amazon.com/console/) s3 bucket, free tier should be fine\r\n- S3 credentials to go with the bucket\r\n- [Runpod](https://www.runpod.io/) credentials\r\n\r\n## Installation\r\n\r\n`pip install remote-graphcast`\r\n\r\n## Example Code\r\n\r\n```python\r\n\r\nfrom remote_graphcast import remote_cast\r\n\r\nremote_cast(\r\n\taws_access_key_id='YOUR_AWS_ACCESS_KEY_ID',\r\n\taws_secret_access_key='YOUR_AWS_SECRET_ACCESS_KEY',\r\n\taws_bucket='YOUR_AWS_BUCKET_NAME',\r\n\tcds_url='https://cds.climate.copernicus.eu/api/v2', # this is probably your CDS URL \r\n\tcds_key='YOUR_CDS_KEY',\r\n\tforcast_list=\"[{'start': '2023122518', 'hours_to_forcast': 48}]\", \r\n\t# dates to forcast from, note the weird quasi-JSON format, of this string, use single quotes instead of double quotes\r\n\t# select a date in the future and it will raise an error without spinning up anything\r\n\trunpod_key='YOUR_RUNPOD_KEY',\r\n\tgpu_type_id=\"NVIDIA A100-SXM4-80GB\", # graphcast needs at least 61GB GPU ram (unless you want to quantize)\r\n\tcontainer_disk_in_gb=50, # you'll need around 40GB per 10 day forcast + a healthy 10GB buffer\r\n)\r\n\r\n# internally this function will keep polling the pod it spins up and the s3 bucket until it sees that all forcasts \r\n# are complete, then it will return\r\n\r\n\r\n```\r\n\r\n\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Allows people without massive GPUs to easily run graphcast on remote runpod servers",
    "version": "0.0.11",
    "project_urls": {
        "Homepage": "https://github.com/Lewington-pitsos/remote-graphcast"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d2d0821cfdf574e594b9fdf13cf59f18c89d5dc2200c088d9979cb623677eee",
                "md5": "d86d09155be37ad410c1db39c144d861",
                "sha256": "af0f06be3ad3be0fb444fa854a3dcbc9817a0d9e2e5b3619dd0d0d12a36d80e7"
            },
            "downloads": -1,
            "filename": "remote-graphcast-0.0.11.tar.gz",
            "has_sig": false,
            "md5_digest": "d86d09155be37ad410c1db39c144d861",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8447,
            "upload_time": "2024-01-15T08:20:31",
            "upload_time_iso_8601": "2024-01-15T08:20:31.719983Z",
            "url": "https://files.pythonhosted.org/packages/8d/2d/0821cfdf574e594b9fdf13cf59f18c89d5dc2200c088d9979cb623677eee/remote-graphcast-0.0.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-15 08:20:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Lewington-pitsos",
    "github_project": "remote-graphcast",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "remote-graphcast"
}
        
Elapsed time: 0.22525s