Skip to content

Commit

Permalink
Merge branch 'main' into add-eye
Browse files Browse the repository at this point in the history
  • Loading branch information
mattseddon committed Oct 12, 2022
2 parents fec91da + f107dfa commit 3a3aa6d
Show file tree
Hide file tree
Showing 60 changed files with 1,164 additions and 804 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@

All notable changes to this project will be documented in this file.

## [0.5.0] - 2022-10-11

### 🚀 New Features and Enhancements

- Display failed experiments [#2535](https://github.com/iterative/vscode-dvc/pull/2535) by [@mattseddon](https://github.com/mattseddon)
- Improve max table depth feature [#2538](https://github.com/iterative/vscode-dvc/pull/2538) by [@julieg18](https://github.com/julieg18)

### 🔨 Maintenance

- Bump min DVC version to 2.30.0 (Use status from exp show) [#2521](https://github.com/iterative/vscode-dvc/pull/2521) by [@mattseddon](https://github.com/mattseddon)
- Remove stale developer roadmap from README [#2561](https://github.com/iterative/vscode-dvc/pull/2561) by [@mattseddon](https://github.com/mattseddon)

## [0.4.13] - 2022-10-10

### 🐛 Bug Fixes

- Fix UX of extension using fallback global CLI when Python extension is active [#2544](https://github.com/iterative/vscode-dvc/pull/2544) by [@mattseddon](https://github.com/mattseddon)

### 🔨 Maintenance

- Add test for setting table header depth [#2525](https://github.com/iterative/vscode-dvc/pull/2525) by [@julieg18](https://github.com/julieg18)
- Consolidate version checking into CLI discovery file [#2552](https://github.com/iterative/vscode-dvc/pull/2552) by [@mattseddon](https://github.com/mattseddon)

## [0.4.12] - 2022-10-06

### 🔨 Maintenance
Expand Down
54 changes: 3 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

[Quick start](#quick-start)[What you get](#what-you-get)
[Commands](#useful-commands)[Configuration](#configuration)
[Roadmap](#developer-roadmap)[Debugging](#debugging)
[Contributing](#contributing)[Telemetry](#data-and-telemetry)
[Debugging](#debugging)[Contributing](#contributing)
[Telemetry](#data-and-telemetry)

Run, compare, visualize, and track machine learning experiments right in VS
Code. This extension uses [DVC](https://dvc.org/), an open-source data
Expand Down Expand Up @@ -150,7 +150,7 @@ These are the VS Code [settings] available for the Extension:
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dvc.dvcPath` | Path or shell command to the DVC binary. Required unless Microsoft's [Python extension] is installed and the `dvc` package found in its environment. |
| `dvc.pythonPath` | Path to the desired Python interpreter to use with DVC. Required when using a virtual environment. |
| `dvc.expTableHeadMaxLayers` | Maximum depth of experiment table head rows. |
| `dvc.experimentsTableHeadMaxHeight` | Maximum height of experiment table head rows. |
| `dvc.doNotShowWalkthroughAfterInstall` | Do not prompt to show the Get Started page after installing. Useful for pre-configured development environments |
| `dvc.doNotRecommendRedHatExtension` | Do not prompt to install the Red Hat YAML extension, which helps with DVC YAML schema validation (`dvc.yaml` and `.dvc` files). |
| `dvc.doNotShowCliUnavailable` | Do not warn when the workspace contains a DVC project but the DVC binary is unavailable. |
Expand All @@ -164,54 +164,6 @@ These are the VS Code [settings] available for the Extension:
[workspace level]:
https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings

## Developer roadmap

We are working on increasing the quantity and quality of DVC features supported
by this GUI. Remember that you can always use `dvc` commands from the
_Integrated Terminal_!

- **DVC metafile editor** (2022 Q3) Wouldn't it be cool to manage stages,
parameters, metrics, data and model paths, and other metadata in-place inside
corresponding [DVC metafiles]? E.g. `dvc.yaml` and `.dvc` files, param or
metrics files, even `dvc.lock`

- **More and better plots!** (2022 Q3)
DVC Experiment comparison is easier with interactive [parallel coordinate
plots], which can be generated from command line with `dvc exp show --pcp`. We
plan to incorporate that and brand new IDE-exclusive plots! (TBD)

- **Performance improvements** (2022 Q3)
Our extension will be faster and more reliable with better internal usage of
DVC and more efficient data management.

- **ML pipelines** (2022 Q4)
The extension examines [`dvc.yaml` files] to identify tracked data and
changes, but it does not currently provide a graphic interface to write or
modify stages.

- **Remote execution** (2022 Q4)
DVC Experiments can be run in remote environments. We intend to integrate this
with VS Code's robust [remote development] features.

- **Data registry** (2022 Q4)
DVC [data registries] can help you centralize and secure data management
across all your ML projects. You'll be able to construct and handle them right
from the IDE.

- **More tools from Iterative.ai** (2023)
Expect this extension to become a full-fledged suite for the ecosystem of
tools from Iterative, such as [CML](https://cml.dev/),
[MLEM](https://mlem.ai/) + [GTO](https://github.com/iterative/gto) **model
registry** management, and future surprises! (TBD)

[dvc metafiles]: https://dvc.org/doc/user-guide/project-structure
[parallel coordinate plots]:
https://dvc.org/doc/user-guide/experiment-management/comparing-experiments#parallel-coordinates-plot
[`dvc.yaml` files]:
https://dvc.org/doc/user-guide/project-structure/pipelines-files
[remote development]: https://code.visualstudio.com/docs/remote/remote-overview
[data registries]: https://dvc.org/doc/use-cases/data-registry

## Debugging

### The DVC Extension
Expand Down
2 changes: 1 addition & 1 deletion demo/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
dvc[s3]==2.29.0
dvc[s3]==2.30.0
torch==1.12.0
torchvision==0.13.0
12 changes: 6 additions & 6 deletions extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"extensionDependencies": [
"vscode.git"
],
"version": "0.4.12",
"version": "0.5.0",
"license": "Apache-2.0",
"readme": "./README.md",
"repository": {
Expand Down Expand Up @@ -554,9 +554,9 @@
"type": "string",
"default": null
},
"dvc.expTableHeadMaxLayers": {
"title": "%config.expTableHeadMaxLayers.title%",
"description": "%config.expTableHeadMaxLayers.description%",
"dvc.experimentsTableHeadMaxHeight": {
"title": "%config.experimentsTableHeadMaxHeight.title%",
"description": "%config.experimentsTableHeadMaxHeight.description%",
"type": "number",
"default": 5
},
Expand Down Expand Up @@ -1570,7 +1570,7 @@
"@types/lodash.omit": "4.5.7",
"@types/mocha": "10.0.0",
"@types/mock-require": "2.0.1",
"@types/node": "16.11.63",
"@types/node": "16.11.64",
"@types/react-vega": "7.0.0",
"@types/sinon-chai": "3.2.8",
"@types/uuid": "8.3.4",
Expand All @@ -1591,7 +1591,7 @@
"mocha": "10.0.0",
"mock-require": "3.0.3",
"shx": "0.3.4",
"sinon": "14.0.0",
"sinon": "14.0.1",
"sinon-chai": "3.7.0",
"ts-loader": "9.4.1",
"vsce": "2.11.0",
Expand Down
4 changes: 2 additions & 2 deletions extension/package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@
"config.doNotShowUnableToFilter.title": "Do not warn before disabling auto-apply filters to experiment selection.",
"config.dvcPath.description": "Path or shell command to the DVC binary. Required unless Microsoft's Python extension is installed and the `dvc` package found in its environment.",
"config.dvcPath.title": "DVC Path (or shell command)",
"config.expTableHeadMaxLayers.title": "Maximum depth of Experiment table head rows",
"config.expTableHeadMaxLayers.description": "Use 0 for infinite depth.",
"config.experimentsTableHeadMaxHeight.title": "Maximum height of Experiment table head rows",
"config.experimentsTableHeadMaxHeight.description": "Use 0 for infinite height.",
"config.pythonPath.description": "Path to the desired Python interpreter to use with DVC. Required when using a virtual environment. Overrides any other extension's settings for this extension's purposes.",
"config.pythonPath.title": "Python Interpreter"
}
4 changes: 2 additions & 2 deletions extension/src/cli/dvc/constants.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { join } from 'path'

export const MIN_CLI_VERSION = '2.24.0'
export const LATEST_TESTED_CLI_VERSION = '2.29.0'
export const MIN_CLI_VERSION = '2.30.0'
export const LATEST_TESTED_CLI_VERSION = '2.30.0'
export const MAX_CLI_VERSION = '3'

export const UNEXPECTED_ERROR_CODE = 255
Expand Down
19 changes: 14 additions & 5 deletions extension/src/cli/dvc/contract.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { Plot } from '../../plots/webview/contract'

export type DvcError = { error: { type: string; msg: string } }
type ErrorContents = { type: string; msg: string }

export type DvcError = { error: ErrorContents }

export type Changes = {
added?: string[]
Expand All @@ -22,7 +24,7 @@ export type Value = SingleValue | SingleValue[]

export interface ValueTreeOrError {
data?: ValueTree
error?: { type: string; msg: string }
error?: ErrorContents
}

type RelPathObject<T> = {
Expand All @@ -37,11 +39,17 @@ export interface ValueTreeNode {

export type ValueTree = ValueTreeRoot | ValueTreeNode

export enum ExperimentStatus {
FAILED = 'Failed',
QUEUED = 'Queued',
RUNNING = 'Running',
SUCCESS = 'Success'
}

export interface BaseExperimentFields {
name?: string
timestamp?: string | null
queued?: boolean
running?: boolean
status?: ExperimentStatus
executor?: string | null
checkpoint_tip?: string
checkpoint_parent?: string
Expand All @@ -57,11 +65,12 @@ export interface ExperimentFields extends BaseExperimentFields {
metrics?: ValueTreeRoot
deps?: Deps
outs?: RelPathObject<Out>
error?: ErrorContents
}

export interface ExperimentFieldsOrError {
data?: ExperimentFields
error?: { type: string; msg: string }
error?: ErrorContents
}

export interface ExperimentsBranchOutput {
Expand Down
Loading

0 comments on commit 3a3aa6d

Please sign in to comment.