Skip to content

Releases: runpod/runpod-python

0.9.10

30 May 21:56

Choose a tag to compare

New Features

Debugger Utility

  • We've introduced a new Debugger Utility that allows you to set timing checkpoints in your code. This functionality can help you identify bottlenecks and optimize your application more effectively. Debugger Docs

Improvements

rp_downloader

  • Performance enhancement: rp_downloader now supports streaming downloads with chunking. This update results in faster, more efficient file downloads.

Dependency Updates

  • We have updated the versions of various dependencies to ensure optimal performance and compatibility. Please take a look at the updated requirements file for the specific changes.

Bug Fixes

Heartbeat Thread Management

  • We have addressed an issue concerning the management of heartbeat or ping threads. The fix improves the stability of the module and reduces the likelihood of encountering threading errors.

Full Changelog: 0.9.9...0.9.10

0.9.9

25 May 13:26

Choose a tag to compare

Fix:

  • Timed out Jobs were not being handled gracefully

Full Changelog: 0.9.8...0.9.9

0.9.8

17 May 00:55

Choose a tag to compare

Logging

  • Bug fix where no info was printed if RUNPOD_DEBUG_LEVEL was not explicitly set

Testing

  • Better arg parsing allows users to use their arg parser for the main code.

Full Changelog: 0.9.7...0.9.8

0.9.7

11 May 05:23

Choose a tag to compare

Full Changelog: 0.9.6...0.9.7

0.9.6

11 May 05:15

Choose a tag to compare

Full Changelog: 0.9.5...0.9.6

0.9.5

11 May 05:08

Choose a tag to compare

Full Changelog: 0.9.4...0.9.5

0.9.4

11 May 01:32

Choose a tag to compare

rp_validator

  • Refactored code
  • Improved error handling
  • Additional check for type enforcement

Worker Testing

  • Test inputs can now be passed in by calling the file containing your handler with the arg --test_input or providing a test_input key as part of the start worker config.
  • Non-Zero exit code is raised if an error is returned when performing local tests (good for CI/CD)

Docs

  • Real-time information added to the docs.

Full Changelog: 0.9.3...0.9.4

0.9.3

20 Apr 18:45

Choose a tag to compare

Full Changelog: 0.9.2...0.9.3

0.9.2

12 Apr 04:22

Choose a tag to compare

Improvements

  • General code cleanup and refactoring
  • Improved documentation with end-to-end examples
  • Removed outdated docs
  • Enhanced logging verbosity for a better developer experience

Expanded Worker Functions

  • refresh_worker can now be set within the start_work configuration

Download Utility

  • (BREAKING CHANGE) Renamed download_input_objects to download_files_from_urls for additional clarity
  • download_files_from_urls now requires the additional input parameter job_id
  • Enhanced download_files_from_urls to support both string input and list of strings
  • Improved download_files_from_urls performance by downloading files in parallel
  • download_files_from_urls now saves files to jobs/{job_id}/downloaded_files
  • download_files_from_urls uses the file name from URL as a fallback if unavailable in Content-Disposition

Upload Utility

  • (BREAKING CHANGE) Renamed file to upload_file_to_bucket for added clarity
  • (NEW) Added upload_in_memory_object to upload files directly from memory to bucket storage
  • Ability to define bucket name and file path

Housekeeping

  • Future releases will automatically be versioned with the GitHub tag

What's Changed

New Contributors

Full Changelog: 0.9.1...0.9.2

0.9.1

16 Mar 18:27

Choose a tag to compare

SDK

  • Improved verbose feedback

Upload Utility

  • Faster file uploads

Download Utility

  • Accepts URLs that have file attachments vs only files in paths

Upload Utility

  • Upload status shown when uploading file to S3 bucket

Language Library - Endpoints

  • Endpoints can now be interacted with natively within Python
import runpod

runpod.api_key = "YOUR_API_KEY"
endpoint = runpod.Endpoint("ENDPOINT_ID")

run_request = endpoint.run(
    {"YOUR_MODEL_INPUT_JSON": "YOUR_MODEL_INPUT_VALUE"}
)

# Check the status of the endpoint run request
print(run_request.status())

# Get the output of the endpoint run request, blocking until the endpoint run is complete.
print(run_request.output())
import runpod

runpod.api_key = "YOUR_API_KEY"
endpoint = runpod.Endpoint("ENDPOINT_ID")

run_request = endpoint.run_sync(
    {"YOUR_MODEL_INPUT_JSON": "YOUR_MODEL_INPUT_VALUE"}
)

# Returns the job results if completed within 90 seconds, otherwise, returns the job status.
print(run_request )

Full Changelog: 0.8.4...0.9.1