Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: scaleapi/nucleus-python-client
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: scaleapi/nucleus-python-client
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: hmi-release
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 14 commits
  • 16 files changed
  • 6 contributors

Commits on Jan 26, 2022

  1. HMI Python client (#203)

    * update gitignore
    
    * function stubs for hosted model inference client
    
    * add dill to pyproject.toml
    
    * move to experimental folder
    
    * dump dill to s3 directly, add a test
    
    * update pyproject.toml to be less completely-non-portable
    
    * add making requests to internal hosted inference
    
    * .
    
    * settle on request/response formats
    
    * return ModelBundle instead of string
    
    * black
    
    * black + pylint
    
    * dill -> cloudpickle
    
    * remove /create from endpoint
    
    * start of create_model_endpoint
    
    * remove currently unused model_name/reference id from request
    
    * comment
    
    * some comments
    
    * start create_run_job
    
    * .
    
    * .
    
    * live debugging changes :D, looks like create_model_endpoint works
    
    * test case for _nucleus_ds_to_s3url_list
    
    * model endpoint async job
    
    * temp test script + some code changes to accomodate rest api
    
    * can send tasks through and receive responses (links to pickles) back
    
    * comment
    
    * start on upload_responses_to_nucleus
    
    * test script
    
    * uploading dummy data to nucleus works I think
    
    * Get uploading of actual predictions working
    
    * replace model bundle upload implementation with signed s3 grabbing
    
    * wip refactor old code
    
    * temp commit
    
    * fix HMI endpoint
    
    * wip cleanup code
    
    * remove deprecated file
    
    * some placeholders
    
    * signed_url -> signedUrl in create_model_bundle
    
    * temp test
    
    * dumb bundle mistake
    
    * fill in the really small wrappers
    
    * test lowlevel functions
    
    * partially fix create-model-endpoint
    
    * handle no gpu case on endpoint creation
    
    * some docs
    
    * more docs
    
    * move ModelBundle out into its own file
    
    * readme
    
    * remove all nucleus-core references from ModelEndpoint
    
    * make ModelEndpoint use low level HMI endpoint
    
    * add docs
    
    * stuff for docs
    
    * docs ++
    
    * docs +++
    
    * docs ++++
    
    * type annotations just cause
    
    * shh
    
    * trim intro blurb
    
    * rename HMI -> Deploy in python
    
    * rename pt 2
    
    * rename some low level functions
    
    * respond to comments ++
    
    * add a find-packages file
    
    * add finding model endpoint requirements
    
    * fix tests
    
    * see what the find_packages does
    
    * fix docs formatting
    
    * clean
    
    * add load_model_fn support to create_model_bundle
    
    * comment out some model ci dependencies
    
    * doc changes
    
    * refactor ModelEndpoint -> AsyncModelEndpoint
    
    * more clean
    
    * refactor s3URL -> url
    
    * refactor out some hmi endpoints into constants
    
    * remove temp testing file
    
    * add some diagrams
    
    * fix bug in model_endpoint.predict
    
    * remove extraneous data in response
    
    * one more extraneous data
    
    * translate https to s3
    
    * add upload score to nucleus
    
    * remove ml-worker from nucleus integration smart open kwargs
    
    * rip
    
    * rip pt2
    
    * detect failures in polling
    
    * rip pt3
    
    * parallelize requests to hmi
    
    * add a batch status for fanciness
    
    * include request lifecycle diagram
    
    * delete kinda silly tests
    
    * remove unnecessary requirements
    
    * add the list_model_bundles endpoint (finally)
    
    * add back some dependencies
    
    Co-authored-by: Yi Xu <[email protected]>
    seanshi-scale and yixu34 authored Jan 26, 2022
    Configuration menu
    Copy the full SHA
    378dec2 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2022

  1. Breaking api changes happened, fixing python client (#207)

    * breaking api changes happened, fixing python client
    
    * make endpoint creation not break
    seanshi-scale authored Feb 1, 2022
    Configuration menu
    Copy the full SHA
    427a6ad View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2022

  1. Internal deploy python client functionality (#218)

    The client operates in two modes, external mode (default) and self-hosted mode.
    
    Also add a few extra functions for the missing API calls (e.g. delete bundle/endpoint, put endpoint)
    
    For uploading model bundles in self-hosted mode, there is an upload_bundle_fn that needs to be passed to the client. This allows clients to specify their own model bundle storage backends. An example implementation is
    
    def upload_bundle_fn(serialized_bundle, bundle_url):
        transport_params = {"session": Session(profile_name="ml-worker")}
        with smart_open.open(bundle_url, "wb", transport_params=transport_params) as f:
            f.write(serialized_bundle)
    n.b. the code assumes that the REST APIs for the public route and the internal route are nearly identical, e.g. creating a model bundle is always at POST /model_bundle/ for example, and it takes in a JSON with a key url.
    seanshi-scale authored Feb 21, 2022
    Configuration menu
    Copy the full SHA
    efc95bf View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2022

  1. Add making requests to synchronous endpoints (#225)

    * add sync endpoint support
    
    * oops some mistakes
    
    * clarify difference between sync + async endpoints and batch jobs
    
    * can't think of other criteria
    
    * rename service_name -> endpoint_name
    
    * rename predict fns
    seanshi-scale authored Feb 25, 2022
    Configuration menu
    Copy the full SHA
    2e8becb View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2022

  1. send code of the function to the endpoint (#231)

    * send code of the function to the endpoint
    
    * black
    
    * mypy
    
    * isort
    ivan-khomyakov-sc authored Feb 26, 2022
    Configuration menu
    Copy the full SHA
    b4275ef View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2022

  1. Update hmi client to use new API (#237)

    * update to use new stuff
    
    * reformat
    syandroo authored Mar 3, 2022
    Configuration menu
    Copy the full SHA
    8f898a8 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2022

  1. Python client changes for json inputs (#232)

    Python client handles json/serialized inputs + outputs, also add a bundle_location_fn notion.
    
    Added an EndpointRequest class to encapsulate the options for a request to an endpoint, and an EndpointResponse class to encapsulate a response
    seanshi-scale authored Mar 4, 2022
    Configuration menu
    Copy the full SHA
    e1ec1fa View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2022

  1. Add some documentation for json input/output (#247)

    * documentation++
    
    * edit
    seanshi-scale authored Mar 7, 2022
    Configuration menu
    Copy the full SHA
    3a4325e View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2022

  1. Configuration menu
    Copy the full SHA
    fb0ee05 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2022

  1. Support creating of model bundles from a directory (#251)

    * Add initial implementation of create_model_bundle_from_dir
    
    * Use temp directory instead
    
    * Split into root_dir and base_dir for the zip file paths
    
    * Add base_dir to bundle metadata
    
    * Remove base_image from create_model_bundle_from_dir signature since it's already in env_params
    
    * Pass bundle 'type' column
    
    * Add docstring
    
    * Changing type -> packaging_type for bundles
    
    * 🏴
    
    * pylint
    
    * mypy gets confused
    
    * isort
    yixu34 authored Mar 12, 2022
    Configuration menu
    Copy the full SHA
    b23b2a1 View commit details
    Browse the repository at this point in the history
  2. A user can create a bundle that spans multiple files (#252)

    * update cloudpickle; register_pickle_by_value
    
    * update poetry
    
    * black
    
    * pylint
    ivan-khomyakov-sc authored Mar 12, 2022
    Configuration menu
    Copy the full SHA
    eb7f015 View commit details
    Browse the repository at this point in the history
  3. add predict_fn_or_cls as a bundle (#246)

    * add predict_fn_or_cls argument; add cluster parameters
    
    * black
    
    * add code bundle
    
    * rm aws_role and results_s3_bucket as params
    
    * fix tests
    
    * black
    
    * clarify docstring; check if model bundle is correct
    
    * use a single bundle var
    
    * black
    
    * disable too-many-branches linter
    
    * black
    ivan-khomyakov-sc authored Mar 12, 2022
    Configuration menu
    Copy the full SHA
    2fec150 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2022

  1. Configuration menu
    Copy the full SHA
    30680c8 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2023

  1. Configuration menu
    Copy the full SHA
    fe5c51c View commit details
    Browse the repository at this point in the history
Loading