NimbleBox SDK nbox
Writer is for whom writing is more difficult than others. - Thomas Mann
Welcome to the documentation of nbox
which is our "code frontend" (not just another client library). What makes nbox
special is that it not only contains code for gRPC/REST clients but also application layer modules which you can use to build your own Apps. This is unlike anything you would have used before.
Installation
Using nbox
is as simple as installing it using pip
:
How NimbleBox works
In this section we will look through the lens of an engineer using NimbleBox to making and deploying an ML model for their organisation. It will cover all the steps they need to perform to get their model into production.
Setup a JobJob is like a batch process that can be used to train your model, perform ETL on datasets or just run a simple CI/CDRead more
Connect to dataConnect buckets on our cloud or yours to store all the files and artifacts at a single clickRead more
Track your ExperimentsVisualise results, perform sweeps and track artifacts from state of the art training dashboardRead more
Deploy as an APIStart serving models at a live API endpoint, have full control on traffic distribution on any hardware with full autoscalingRead more
You can read more about the examples on the Examples (Specimens) page.
What is nbox?
nbox
is the name of our python SDK that contains clients of all the NimbleBox APIs and provides a seemless experience without having to worry about the underlying implementation and protocols. It also contains a bunch of modules that you can use to build your own applications. Here's a list of all the servives that nbox
contains client for:
WebserverTalk to our master webserver for all the workspace management APIs. Though we recommend you use dashboard as underlying APIs might change.
Monitoring ServerThe experiment tracking, live monitoring and rules engine server is a single entity. However in order to use it we recommend using the appropriate clients
Jobs ServerJobs Server contains and serves all the relevant APIs for NimbleBox JobsRead more
Deploy ServerDeploy Server contains and serves all the relevant APIs for NimbleBox DeploymentsRead more
Data Store ServerThis server is manages all the data is handled through Relics responsible for generating access tokens for uploading downloading files from buckets
After all the clients there are several modules that you can use to build your own applications. Here's a few of them
nbox.libThis library of operators contains a lot of the code to simplify building your workflows. Ranging from simple shell commands to complex architectural modules.Read more
ShellThis contains most of the commands that you can might want to run through a shell like Python scripts, git, etc.Read more
DistributedWe run jobs and deploy through all the functions and classes given in this moduleRead more
Architecturalnbox was originally desined to run any neural network and serve it, so inspired from layers we added a few architectural elements to simplify the processRead more
What next?
Found this useful? Star us on Github and see all the examples on our Examples (Specimens) page.