Skip to content

Conversation

@pandyamarut
Copy link
Contributor

No description provided.

pandyamarut and others added 17 commits August 26, 2025 23:55
* feat: AE-961 Add class serialization caching for remote execution

* chore: update comment

* feat: add thread-safe LRU cache with 1000-entry limit

* refactor: replace magic numbers with named constants for cache key generation

* refactor: extract caching logic to utility functions for better separation of
  concerns

---------

Co-authored-by: Dean Quiñanola <[email protected]>
Co-authored-by: Dean Quiñanola <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- Add list_network_volumes method to RunpodRestClient
- Implement idempotent volume creation that reuses existing volumes with same name/datacenter
- Add resource_id property for consistent volume identification
- Increase default volume size from 10GB to 50GB
- Add comprehensive unit tests for network volume functionality
- Fix typo in NetworkVolume class docstring

Volumes with the same name and datacenter will now reuse existing volumes
instead of creating duplicates, enabling truly idempotent deployments.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…es and containers), locking endpoints to EU-RO-1 (#82)

* refactor: require name field for NetworkVolume and simplify API

- Make name field required instead of optional with default factory
- Remove auto-generation complexity and user_provided_name tracking
- Simplify resource_id logic since name is always present
- Increase default size from 50GB to 100GB

This simplifies the NetworkVolume API by requiring explicit naming
and removes the complexity around tracking name origins.

* feat: add datacenter locking and validation for endpoints

- Add datacenter field to ServerlessResource with EU_RO_1 default
- Automatically sync datacenter to locations field for API compatibility
- Add validation to ensure network volume datacenter matches endpoint
- Remove automatic network volume creation for simpler logic
- Add datacenter to _input_only to prevent GraphQL field errors

This ensures all endpoints are locked to EU_RO_1 datacenter by default
while allowing user override and preventing datacenter mismatches.

* test: remove tests for unnamed NetworkVolume behavior

- Remove test_deploy_without_name_always_creates_new
- Remove test_resource_id_fallback_for_unnamed_volumes

These tests are no longer valid since name is now required.
Keeps tests for named volume behavior which still apply.

* test: add datacenter validation tests and remove auto-volume creation tests

- Add tests for datacenter defaults to EU_RO_1
- Add tests for datacenter override capability
- Add tests for locations field sync from datacenter
- Add tests for datacenter validation between endpoint and volume
- Replace default volume creation test with no-volume behavior test
- Update deployment test to verify locations field is set

Tests now cover the new datacenter locking mechanism and validation
while removing tests for the removed auto-volume creation behavior.

* feat: export DataCenter enum for public API

- Add DataCenter to public exports in __init__.py
- Add DataCenter to core resources exports

This allows users to import and use DataCenter enum for
specifying datacenters when creating endpoints and volumes.

* feat: increase default container disk size from 10GB to 64GB

Updates PodTemplate containerDiskInGb default to provide more
reasonable disk space for container workloads.

* fix: deleted
…ls (#83)

* feat: add pydantic dependency and bump to v0.10.0

- Add pydantic>=2.0.0 for enhanced protocol models
- Version bump to 0.10.0 for download acceleration feature

* feat: extend protobuf protocol for download acceleration

- Add accelerate_downloads and hf_models_to_cache fields to FunctionRequest
- Enhance Pydantic models with improved type annotations and documentation
- Maintain backward compatibility with existing protocol
- Support HuggingFace model pre-caching for faster inference startup

* feat: implement download acceleration in client interface

- Add accelerate_downloads and hf_models_to_cache parameters to @Remote decorator
- Update function and class decoration to pass acceleration options
- Extend docstring with comprehensive parameter documentation
- Enable HuggingFace model pre-caching through decorator configuration

* feat: update class execution system for download acceleration

- Add acceleration parameters to create_remote_class function
- Store acceleration settings in RemoteClassWrapper instances
- Pass acceleration options through to remote execution requests
- Maintain compatibility with existing class decoration patterns

* feat: update stubs to support download acceleration parameters

- Extend prepare_request methods to accept acceleration parameters
- Update request building to include new acceleration fields
- Maintain consistency across execution pathways
- Preserve existing stub interface contracts

* test: update tests for download acceleration compatibility

- Update create_remote_class calls to include new acceleration parameters
- Ensure all existing tests pass with enhanced function signatures
- Add proper parameter defaults for backward compatibility
- Maintain test coverage for class execution patterns
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…#86)

* fix: serverless endpoint calls were broken from the args having unexpected values

* chore: `make update`
@pandyamarut pandyamarut force-pushed the ae-1102-dynamic-graphql branch from 083dc6b to abb0bc7 Compare September 9, 2025 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants