Skip to content
Neptune client library - integrate your Python scripts with Neptune
Python Makefile
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Docstrings (#136) Jul 18, 2019
neptune Add `fileno` method to streams wrappers (#155) Aug 20, 2019
tests Allow client to send log values without X-coordinate (#147) Aug 20, 2019
.gitattributes Versioning using versioneer Apr 18, 2019
.gitignore Separate execution context from experiment (#63) Mar 14, 2019
.travis.yml Run tests on Python 3.7 Apr 23, 2019 Initialize repository Feb 11, 2019
LICENSE Initial commit Feb 11, 2019 Versioning using versioneer Apr 18, 2019
Makefile Move stderr and stdout channels to system namespace (#96) May 10, 2019 Update (#150) Aug 14, 2019
docs_requirements.txt Update docs_requirements.txt Jun 14, 2019
pylintrc Add a ping thread to notify if the experiment is responding (#8) Feb 14, 2019
requirements.txt Set minimal version of oauthlib (#86) Apr 15, 2019
setup.cfg Versioning using versioneer Apr 18, 2019
test_requirements.txt Run tests on Python 3.7 Apr 23, 2019
tox.ini Initialize repository Feb 11, 2019


Downloads Downloads Downloads

PyPI version Build Status


Neptune is an experiment tracking hub that brings organization and collaboration to your data science team.

It works with any:

  • infrastructure setup
  • framework
  • working style

Keep the knowledge in one place, organized and ready to be shared with anyone.

image image image image

Getting started


Go to and sign up.

It is completely free for individuals and non-organizations, and you can invite others to join your team!

Get your API token

In order to start working with Neptune you need to get the API token first. To do that, click on the Get API Token button on the top left.


Create your first project

Click on Projects and the New project. Choose a name for it and whether you want it public or private.


Invite others

Go to your project, click Settings and send invites!


Start tracking your work

Neptune let's you track any information important to your experimentation process.

Install Neptune client

Just run:

pip install neptune-client

Initialize Neptune

Toward the top of your script insert the following snippet.

import neptune


Create and stop the experiment

You can treat every piece of work that you want to record as an experiment. Just create an experiment:


Do whatever you want and record it here! Stop the experiment.


Track hyperparameters

Making sure that all your hyperparameters are recorded is very important. With Neptune, you can do that easily by passing params dictionary when creating the experiment.

params = {'n_estimators':10,
          'criterion': 'gini',
          'max_depth': 2,
          'min_samples_split': 100}


Track metrics

It is super easy. Just log your metric to Neptune.

neptune.send_metric('roc_auc', 0.82)

In case you want to track your metric after every step (deep learning), you can simply send your metric to the same channel after every step and Neptune will automatically create a chart for you.

for i in range(100):
     neptune.send_metric('learning_rate_schedule', 0.01 *1.05 ** i) 

Track result diagnostics

You can even log images to Neptune. Just save to the

plot_roc(y_test, y_test_pred)
neptune.send_image('roc_curve', 'roc_curve.png')

Track artifacts

You can save model weights and any other artifact that you created during your experiment.

from sklearn.externals import joblib
joblib.dump(clf, 'rf_model.pkl')

Track data versions

from hashlib import sha1

data_version = sha1(X).hexdigest()
neptune.send_text('data_version', data_version)

Track code

You can track your codebase too. Just choose the files that you want to send to Neptune.


Check the example project here

Getting help

If you get stuck, don't worry we are here to help. The best order of communication is:

You can’t perform that action at this time.