Skip to content

Commit 65ca984

Browse files
committed
Merge branch 'main' into patch-2
2 parents 118c7da + d0dee22 commit 65ca984

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3739
-1764
lines changed

Diff for: .github/workflows/CI.yml

+20-16
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,41 @@
11
name: CI
22
on:
3+
pull_request:
34
push:
45
branches:
56
- main
67
tags: '*'
7-
pull_request:
8-
concurrency:
9-
# Skip intermediate builds: always.
10-
# Cancel intermediate builds: only if it is a pull request build.
11-
group: ${{ github.workflow }}-${{ github.ref }}
12-
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
138
jobs:
149
test:
15-
16-
services:
17-
mlflow:
18-
image: adacotechjp/mlflow:2.3.1
19-
ports:
20-
- 5000:5000
21-
2210
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
2311
runs-on: ${{ matrix.os }}
2412
strategy:
2513
fail-fast: false
14+
max-parallel: 1
2615
matrix:
2716
version:
28-
- '1.6'
29-
- '1'
17+
- '1.10'
18+
- '1' # automatically expands to the latest stable 1.x release of Julia.
3019
os:
3120
- ubuntu-latest
3221
arch:
3322
- x64
3423
steps:
3524
- uses: actions/checkout@v2
25+
- name: Setup custom python requirements
26+
if: hashFiles('**/requirements.txt', '**/pyproject.toml') == ''
27+
run: |
28+
touch ./requirements.txt
29+
echo "mlflow==2.20.1" > ./requirements.txt
30+
- uses: actions/setup-python@v4
31+
with:
32+
python-version: '3.12.3'
33+
cache: 'pip'
34+
- name: Setup mlflow locally
35+
run: |
36+
pip install -r ./requirements.txt
37+
python3 /opt/hostedtoolcache/Python/3.12.3/x64/bin/mlflow server --app-name basic-auth --host 0.0.0.0 --port 5000 &
38+
sleep 5
3639
- uses: julia-actions/setup-julia@v1
3740
with:
3841
version: ${{ matrix.version }}
@@ -50,9 +53,10 @@ jobs:
5053
- uses: julia-actions/julia-buildpkg@v1
5154
- uses: julia-actions/julia-runtest@v1
5255
env:
56+
JULIA_NUM_THREADS: '2'
5357
MLFLOW_TRACKING_URI: "http://localhost:5000/api"
5458
- uses: julia-actions/julia-processcoverage@v1
55-
- uses: codecov/codecov-action@v2
59+
- uses: codecov/codecov-action@v3
5660
with:
5761
files: lcov.info
5862
docs:

Diff for: .gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ Manifest.toml
55
/docs/build/
66
mlruns
77
coverage
8+
Pipfile
9+
Pipfile.lock
10+
*.db

Diff for: Project.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
name = "MLFlowClient"
22
uuid = "64a0f543-368b-4a9a-827a-e71edb2a0b83"
33
authors = ["@deyandyankov, @pebeto, and contributors"]
4-
version = "0.5.1"
4+
version = "0.6.0"
55

66
[deps]
77
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
88
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
9-
FilePathsBase = "48062228-2e41-5def-b9a4-89aafe57970f"
109
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
1110
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
1211
ShowCases = "605ecd9f-84a6-4c9e-81e2-4798472b76a3"
1312
URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
1413
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
1514

1615
[compat]
17-
FilePathsBase = "0.9"
18-
HTTP = "1.9"
16+
Base64 = "1.11.0"
17+
HTTP = "1.0"
1918
JSON = "0.21"
2019
ShowCases = "0.1"
2120
URIs = "1.0"
2221
julia = "1.0"
2322

2423
[extras]
24+
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
2525
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2626

2727
[targets]
28-
test = ["Test"]
28+
test = ["Base64", "Test"]

Diff for: README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# MLFlowClient
2-
32
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliaai.github.io/MLFlowClient.jl/stable)
43
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://juliaai.github.io/MLFlowClient.jl/dev)
54
[![Build Status](https://github.com/JuliaAI/MLFlowClient.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/JuliaAI/MLFlowClient.jl/actions/workflows/CI.yml?query=branch%3Amain)
65
[![Coverage](https://codecov.io/gh/JuliaAI/MLFlowClient.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/JuliaAI/MLFlowClient.jl)
76

7+
Julia client for [MLFlow](https://www.mlflow.org/) `2.20.1` (but should work with other versions as well).
88

9-
Julia client for [MLFlow](https://www.mlflow.org/)
10-
11-
This package is still under development and interfaces may change. See the documentation for current features and limitations.
12-
13-
Tested against `mlflow==1.21.0` and `mlflow==1.22.0`.
9+
- [x] Supports tracking of metrics, parameters, tags, artifacts, and models.
10+
- [x] Compatible with latest MLFlow server capabilities.
11+
- [x] Mirroring types from MLFlow API for easy use.
12+
- [x] Includes MLflow Authentication REST API interface.
13+
- [ ] Supports artifact download/upload.

Diff for: docs/Project.toml

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
[deps]
2-
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
32
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
43
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
54
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
6-
MLFlowClient = "64a0f543-368b-4a9a-827a-e71edb2a0b83"
5+
ShowCases = "605ecd9f-84a6-4c9e-81e2-4798472b76a3"
76
URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
8-
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

Diff for: docs/make.jl

+13-22
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,18 @@
1-
using MLFlowClient
1+
push!(LOAD_PATH, "../src/")
22
using Documenter
3-
4-
DocMeta.setdocmeta!(MLFlowClient, :DocTestSetup, :(using MLFlowClient); recursive=true)
3+
using MLFlowClient
54

65
makedocs(;
7-
modules=[MLFlowClient],
8-
authors="@deyandyankov and contributors",
9-
repo="https://github.com/JuliaAI.jl/blob/{commit}{path}#{line}",
106
sitename="MLFlowClient.jl",
11-
format=Documenter.HTML(;
12-
prettyurls=get(ENV, "CI", "false") == "true",
13-
canonical="https://juliaai.github.io/MLFlowClient.jl",
14-
assets=String[]
15-
),
16-
pages=[
17-
"Home" => "index.md",
18-
"Tutorial" => "tutorial.md",
19-
"Reference" => "reference.md"
20-
],
21-
checkdocs=:exports
22-
)
7+
authors="@deyandyankov and contributors",
8+
pages=["Home" => "index.md", "Tutorial" => "tutorial.md", "Reference" => [
9+
"Types" => "reference/types.md", "Artifact operations" => "reference/artifact.md",
10+
"Experiment operations" => "reference/experiment.md",
11+
"Logging operations" => "reference/logger.md",
12+
"Miscellaneous operations" => "reference/misc.md",
13+
"Run operations" => "reference/run.md",
14+
"Registered model operations" => "reference/registered_model.md",
15+
"Model version operations" => "reference/model_version.md",
16+
"User operations" => "reference/user.md",]])
2317

24-
deploydocs(;
25-
repo="github.com/JuliaAI/MLFlowClient.jl",
26-
devbranch="main"
27-
)
18+
deploydocs(; repo="github.com/JuliaAI/MLFlowClient.jl", devbranch="main")
File renamed without changes.
File renamed without changes.
File renamed without changes.

Diff for: docs/src/reference.md

-59
This file was deleted.

Diff for: docs/src/reference/artifact.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Artifact operations
2+
```@docs
3+
listartifacts
4+
```

Diff for: docs/src/reference/experiment.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Experiment operations
2+
```@docs
3+
createexperiment
4+
getexperiment
5+
getexperimentbyname
6+
deleteexperiment
7+
restoreexperiment
8+
updateexperiment
9+
searchexperiments
10+
setexperimenttag
11+
createexperimentpermission
12+
getexperimentpermission
13+
updateexperimentpermission
14+
deleteexperimentpermission
15+
```

Diff for: docs/src/reference/logger.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Logging operations
2+
```@docs
3+
logmetric
4+
logbatch
5+
loginputs
6+
logparam
7+
```

Diff for: docs/src/reference/misc.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Miscellaneous operations
2+
```@docs
3+
getmetrichistory
4+
refresh
5+
```

Diff for: docs/src/reference/model_version.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Model version operations
2+
3+
```@docs
4+
getlatestmodelversions
5+
createmodelversion
6+
getmodelversion
7+
updatemodelversion
8+
deletemodelversion
9+
searchmodelversions
10+
getdownloaduriformodelversionartifacts
11+
transitionmodelversionstage
12+
setmodelversiontag
13+
deletemodelversiontag
14+
getmodelversionbyalias
15+
```

Diff for: docs/src/reference/registered_model.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Registered model operations
2+
```@docs
3+
createregisteredmodel
4+
getregisteredmodel
5+
renameregisteredmodel
6+
updateregisteredmodel
7+
deleteregisteredmodel
8+
searchregisteredmodels
9+
setregisteredmodeltag
10+
deleteregisteredmodeltag
11+
deleteregisteredmodelalias
12+
setregisteredmodelalias
13+
createregisteredmodelpermission
14+
getregisteredmodelpermission
15+
updateregisteredmodelpermission
16+
deleteregisteredmodelpermission
17+
```

Diff for: docs/src/reference/run.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Run operations
2+
```@docs
3+
createrun
4+
deleterun
5+
restorerun
6+
getrun
7+
setruntag
8+
deleteruntag
9+
searchruns
10+
updaterun
11+
```

Diff for: docs/src/reference/types.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Types
2+
```@docs
3+
MLFlow
4+
Tag
5+
ViewType
6+
RunStatus
7+
ModelVersionStatus
8+
Dataset
9+
DatasetInput
10+
FileInfo
11+
ModelVersion
12+
RegisteredModel
13+
RegisteredModelAlias
14+
Experiment
15+
Run
16+
Param
17+
Metric
18+
RunData
19+
RunInfo
20+
RunInputs
21+
User
22+
Permission
23+
ExperimentPermission
24+
RegisteredModelPermission
25+
```

Diff for: docs/src/reference/user.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# User operations
2+
```@docs
3+
createuser
4+
getuser
5+
updateuserpassword
6+
updateuseradmin
7+
deleteuser
8+
```

Diff for: docs/src/tutorial.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ p
4040

4141
This could result in the following plot:
4242

43-
![](withoutmlflow.png)
43+
![](images/withoutmlflow.png)
4444

4545
Now, suppose that you are interested in turning this into an experiment which stores its metadata and results in MLFlow using `MLFlowClient`. You could amend the code like this:
4646

@@ -114,8 +114,8 @@ updaterun(mlf, exprun, "FINISHED")
114114

115115
This will result in the folowing experiment created in your `MLFlow` which is running on `http://localhost/`:
116116

117-
![](mlflowexp.png)
117+
![](images/mlflowexp.png)
118118

119119
You can also observe series logged against individual metrics, i.e. `pricepath1` looks like this in `MLFlow`:
120120

121-
![](mlflowexpmetric1.png)
121+
![](images/mlflowexpmetric1.png)

0 commit comments

Comments
 (0)