Skip to content

Commit

Permalink
Merge pull request #794 from neptune-ai/dev/model-registry
Browse files Browse the repository at this point in the history
Model registry
  • Loading branch information
pkasprzyk authored Mar 8, 2022
2 parents 64c1e63 + 519d850 commit 6ec1b4b
Show file tree
Hide file tree
Showing 113 changed files with 5,946 additions and 3,744 deletions.
4 changes: 2 additions & 2 deletions .github/actions/lint/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ runs:
python-version: 3.9

- name: Install dependencies
run: pip install -r requirements.txt -r requirements/test_requirements.txt
run: pip install -r requirements.txt -r requirements/e2e_requirements.txt
shell: bash

- name: Run pre-commit
run: pre-commit run --all-files
shell: bash

- name: Lint
run: python -m pylint -j 0 -f parseable neptune tests
run: python -m pylint -j 0 -f parseable neptune tests e2e_tests
shell: bash
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## [UNRELEASED] neptune-client 0.15.0

## Features
- Methods for creating and manipulating Model Registry objects ([#794](https://github.com/neptune-ai/neptune-client/pull/794))

### Changes
- Renamed --run parameter to --object in `neptune sync` (previous kept as deprecated, [#849](https://github.com/neptune-ai/neptune-client/pull/849))
- More helpful error message on SSL validation problem ([#853](https://github.com/neptune-ai/neptune-client/pull/853))
- Added names to daemon worker threads ([#851](https://github.com/neptune-ai/neptune-client/pull/851))
- Stopped forwarding every attribute from Handler to Attribute ([#815](https://github.com/neptune-ai/neptune-client/pull/815))

## neptune-client 0.14.3

## Features
Expand Down
4 changes: 3 additions & 1 deletion alpha_integration_dev/new_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@
class NewClientFeatures(ClientFeatures):
def __init__(self):
super().__init__()
self.exp = neptune.init(source_files="alpha_integration_dev/*.py")
self.exp = neptune.init(
source_files="alpha_integration_dev/*.py",
)

# download sources
self.exp.sync()
Expand Down
7 changes: 3 additions & 4 deletions e2e_tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
__all__ = [
"BaseE2ETest",
]
__all__ = ["BaseE2ETest", "AVAILABLE_CONTAINERS", "fake"]

import uuid
import inspect

from faker import Faker

fake = Faker()

AVAILABLE_CONTAINERS = ["project", "run", "model", "model_version"]


class BaseE2ETest:
def gen_key(self):
Expand Down
37 changes: 26 additions & 11 deletions e2e_tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# pylint: disable=redefined-outer-name
import os
import time

from faker import Faker
import boto3
import pytest

from neptune.management.internal.utils import normalize_project_name
from neptune.management import create_project, add_project_member
import neptune.new as neptune

from e2e_tests.utils import a_project_name, Environment
from e2e_tests.utils import initialize_container, a_project_name, Environment

fake = Faker()

Expand All @@ -44,6 +45,8 @@ def environment():
api_token=admin_token,
)

time.sleep(10)

add_project_member(
name=created_project_identifier,
username=user,
Expand All @@ -64,15 +67,27 @@ def environment():

@pytest.fixture(scope="session")
def container(request, environment):
if request.param == "project":
project = neptune.init_project(name=environment.project)
yield project
project.stop()

if request.param == "run":
exp = neptune.init_run(project=environment.project)
yield exp
exp.stop()
exp = initialize_container(
container_type=request.param, project=environment.project
)
yield exp
exp.stop()


@pytest.fixture(scope="session")
def containers_pair(request, environment):
container_a_type, container_b_type = request.param.split("-")
container_a = initialize_container(
container_type=container_a_type, project=environment.project
)
container_b = initialize_container(
container_type=container_b_type, project=environment.project
)

yield container_a, container_b

container_b.stop()
container_a.stop()


@pytest.fixture(scope="session")
Expand Down
Loading

0 comments on commit 6ec1b4b

Please sign in to comment.