Neptune explained#
Neptune is joining OpenAI
Neptune has entered into a definitive agreement to be acquired by OpenAI, subject to closing conditions.
We will wind down the hosted (SaaS) service after a 3‑month transition period ending on March 4th, 2026. Self-hosted customers have been contacted by their account manager to work on a smooth transition path.
For information and instructions, visit the Transition Hub on the main documentation site.
The topics in this section explain Neptune's core concepts in more detail.
What are workspaces and projects?
- A Neptune project is a collection of experiments. It typically represents one machine learning task.
-
A Neptune workspace can contain projects and members.
You can have project-level access control within a workspace.
Learn more: Workspaces and projects →
I work with sensitive data. What should I know?
You can control what data is logged and who can access it in Neptune.
- You can track artifact versions without storing any contents on Neptune servers.
- Source code and system metrics are logged by default, but you can disable it.
- You can host Neptune fully on your own infra, even without internet access.
Learn more: Privacy and security information →
What are namespaces and fields?
They refer to the folder-like structure used to organize metadata within a run or other object:
run
|-- field: Float # For example, run["f1_score"] = 0.82
|-- namespace
|-- field: FloatSeries # For example, run["metrics/acc"].append(0.76)
|-- namespace
|-- field: String # For example, run["config/activation"] = "ELU"
Learn more: Namespaces and fields →
What are field types and what logging methods can I use?
When logging some metadata to a field, its type is determined by what you're logging and how.
The field type affects how the metadata is stored, displayed, and interacted with:
run["metrics/acc"].append(0.98) # "metrics/acc" is a FloatSeries field
run["metrics/acc"].append(0.99) # You can keep appending float values
run["metrics/acc"] = "High accuracy!" # Error: You can't suddenly assign a string
acc = run["metrics/acc"].fetch_values() # Series fields support fetching all values
acc = run["metrics/acc"].fetch_last() # ... or just the last value
run["metrics/acc"].download() # Error: download() is for file fields
Learn more: