Datatamer / Datatamer/tamr-client

`project.by_name` gets projects by internal name instead of name displayed in Tamr UI

Open
#458 1 comment 0 reactions 0 assignees View on GitHub
Needs API
Dominant language
Python
Stars
11
Forks
24
PR merge metrics
No merged PRs in 30d

Description

# 🐛 bug report

The current implementation of the function `tamr_client.project.by_name` uses a the `GET /v1/projects` with a filter on the "name" property. In the filter this name is the internal name of the project and not the name displayed in the UI (the `displayName`. Confusingly, the returned project JSON object has a "name" property that is the `displayName`.

## 😯 Current Behavior

For example, if a project was created with the name "project_name" and then renamed to "project_display_name":
- A call of `tc.project.by_name(session, instance, "project_display_name")` or equivalently `GET /v1/projects?filter=name==project_display_name` will return nothing.
- A call of `tc.project.by_name(session, instance, "project_name")` or equivalently `GET /v1/projects?filter=name==project_name` will return a project JSON with the property "name": "project_display_name".

## 🤔 Expected Behavior

There should be a way of getting a project by its `displayName` since this (and to a lesser extent `resourceId`) is the only thing identifying a project in the UI.

## 💁 Possible Solution

This is a manifestation of the design of the versioned API design and the issue could be fixed there, however a possible workaround in `tamr_client` is:

The current implementation of `by_name` which actually retrieves a project by the internal "name" could be changed to a hidden/power-user function `_by_name` and a new `by_name` function could be defined that streams all projects and returns the one that matches on `displayName` ("name" in the returned JSON).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.