Skip to content

Commit

Permalink
Merge branch 'main' into static/dataset-event
Browse files Browse the repository at this point in the history
  • Loading branch information
wslulciuc authored Nov 6, 2023
2 parents 5587fb2 + 7c19162 commit f4bbf16
Show file tree
Hide file tree
Showing 18 changed files with 208 additions and 58 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,6 @@ metadata.json

# Dependent Helm charts
chart/charts/

# Dev
changes.txt
17 changes: 9 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,26 @@

## [0.42.0](https://github.com/MarquezProject/marquez/compare/0.41.0...0.42.0) - 2023-10-17
### Added
Client: add Java client method for dataset/job lineage [`#2623`](https://github.com/MarquezProject/marquez/pull/2623) [@wslulciuc](https://github.com/wslulciuc)
*To add a method for the dataset/job-level endpoint (`GET /lineage`) to the Java SDK, this adds a new method to the `MarquezClient` for the endpoint, along with tests, and the necessary new subclasses of `NodeData` for datasets and jobs.*
Web: add IO tab [`#2613`](https://github.com/MarquezProject/marquez/pull/2613) [@phixme](https://github.com/phixMe)
* Client: add Java client method for dataset/job lineage [`#2623`](https://github.com/MarquezProject/marquez/pull/2623) [@davidjgoss](https://github.com/davidjgoss)
*To add a method for the dataset/job-level endpoint (`GET /lineage`) to the Java SDK, this adds a new method to the `MarquezClient` for the endpoint, along with tests, and the necessary new subclasses of `NodeData` for datasets and jobs.*
*Users currently employing the existing `getColumnLineage` method should upgrade and deploy their instance of the client first, then Marquez itself, for backwards compatibility.*
* Web: add IO tab [`#2613`](https://github.com/MarquezProject/marquez/pull/2613) [@phixme](https://github.com/phixMe)
*Improves experience with large graphs by adding a new tab to move between graph elements without looking at the graph itself.*
Web: add hover-over Tag tooltip to datasets [`#2630`](https://github.com/MarquezProject/marquez/pull/2630) [@davidsharp7](https://github.com/davidsharp7)
* Web: add hover-over Tag tooltip to datasets [`#2630`](https://github.com/MarquezProject/marquez/pull/2630) [@davidsharp7](https://github.com/davidsharp7)
*For parity with columns in the GUI, this adds a Tag tooltip to datasets.*

### Changed
Docker: upgrade to Docker Compose V2 [`#2644`](https://github.com/MarquezProject/marquez/pull/2644) [@merobi-hub](https://github.com/merobi-hub)
* Docker: upgrade to Docker Compose V2 [`#2644`](https://github.com/MarquezProject/marquez/pull/2644) [@merobi-hub](https://github.com/merobi-hub)
*Docker Compose V1 has been at EOL since June, but docker/up.sh uses the V1 format. This upgrades the `up` command in up.sh to V2.*

### Removed
API: drop table `job_contexts` and usage [`#2621`](https://github.com/MarquezProject/marquez/pull/2621) [@wslulciuc](https://github.com/wslulciuc)
* API: drop table `job_contexts` and usage [`#2621`](https://github.com/MarquezProject/marquez/pull/2621) [@wslulciuc](https://github.com/wslulciuc)
*Removes usage of `job_contexts`, which has been replaced by OpenLineage facets, and adds a migration to drop the table.*
API: remove usage of `current_job_context_uuid` column [`#2622`](https://github.com/MarquezProject/marquez/pull/2622) [@wslulciuc](https://github.com/wslulciuc)
* API: remove usage of `current_job_context_uuid` column [`#2622`](https://github.com/MarquezProject/marquez/pull/2622) [@wslulciuc](https://github.com/wslulciuc)
*Removes usage of `job_context_uuid` and `current_job_context_uuid`. Column to be removed in 0.43.0.*

### Fixed
Web: fix Unix epoch time display for null `endedAt` values [`#2647`](https://github.com/MarquezProject/marquez/pull/2647) [@merobi-hub](https://github.com/merobi-hub)
* Web: fix Unix epoch time display for null `endedAt` values [`#2647`](https://github.com/MarquezProject/marquez/pull/2647) [@merobi-hub](https://github.com/merobi-hub)
*Fixes the issue of the GUI displaying Unix epoch time (midnight on January 1, 1970) in the case of running jobs/null `endedAt` values.*

### Added
Expand Down
2 changes: 1 addition & 1 deletion CODE_QUALITY_AND_SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The specific security and analysis methodologies that we employ include but are

For more information about our approach to quality and security, feel free to reach out to the Marquez development team:

- Slack: [Marquezproject.slack.com](http://bit.ly/Marquez_invite)
- Slack: [Marquezproject.slack.com](http://bit.ly/Mqz_invite)
- Twitter: [@MarquezProject](https://twitter.com/MarquezProject)

----
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
We're excited you're interested in contributing to Marquez! We'd love your help, and there are plenty of ways to contribute:

* Give the repo a star
* Join our [slack](http://bit.ly/Marquez_invite) channel and leave us feedback or help with answering questions from the community
* Join our [slack](http://bit.ly/Mqz_invite) channel and leave us feedback or help with answering questions from the community
* Fix or [report](https://github.com/MarquezProject/marquez/issues/new) a bug
* Fix or improve documentation
* For newcomers, pick up a ["good first issue"](https://github.com/MarquezProject/marquez/labels/good%20first%20issue), then send a pull request our way (see the [resources](#resources) section below for helpful links to get started)

We feel that a welcoming community is important and we ask that you follow the [Contributor Covenant Code of Conduct](https://github.com/MarquezProject/marquez/blob/main/CODE_OF_CONDUCT.md) in all interactions with the community.
We feel that a welcoming community is important and we ask that you follow the [Contributor Covenant Code of Conduct](https://github.com/MarquezProject/marquez/blob/main/CODE_OF_CONDUCT.md) in all interactions with the community.

If you’re interested in using or learning more about Marquez, reach out to us on our [slack](http://bit.ly/Marquez_invite) channel and follow [@MarquezProject](https://twitter.com/MarquezProject) for updates. We also encourage new comers to [join](https://lists.lfaidata.foundation/g/marquez-technical-discuss/ics/invite.ics?repeatid=32038) our monthly community meeting!

Expand Down Expand Up @@ -250,4 +250,4 @@ We use [SPDX](https://spdx.dev) for copyright and license information. The follo

----
SPDX-License-Identifier: Apache-2.0
Copyright 2018-2023 contributors to the Marquez project.
Copyright 2018-2023 contributors to the Marquez project.
2 changes: 1 addition & 1 deletion GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Or a meeting may be at an organization's offices that are required to maintain a

## Marquez on Slack

Marquez uses [a Slack community](https://bit.ly/Marquez_invite) to provide an ongoing dialogue between members.
Marquez uses [a Slack community](https://bit.ly/Mqz_invite) to provide an ongoing dialogue between members.
This creates a recorded discussion of design decisions and discussions that complement the project meetings.

Follow the link above and register with the Slack service using your email address.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Marquez is an open source **metadata service** for the **collection**, **aggrega
[![CircleCI](https://circleci.com/gh/MarquezProject/marquez/tree/main.svg?style=shield)](https://circleci.com/gh/MarquezProject/marquez/tree/main)
[![codecov](https://codecov.io/gh/MarquezProject/marquez/branch/main/graph/badge.svg)](https://codecov.io/gh/MarquezProject/marquez/branch/main)
[![status](https://img.shields.io/badge/status-active-brightgreen.svg)](#status)
[![Slack](https://img.shields.io/badge/slack-chat-blue.svg)](https://bit.ly/Marquez_invite)
[![Slack](https://img.shields.io/badge/slack-chat-blue.svg)](https://bit.ly/Mqz_invite)
[![license](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](https://raw.githubusercontent.com/MarquezProject/marquez/main/LICENSE)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
[![maven](https://img.shields.io/maven-central/v/io.github.marquezproject/marquez-api.svg)](https://search.maven.org/search?q=g:io.github.marquezproject)
Expand Down Expand Up @@ -160,7 +160,7 @@ Marquez listens on port `8080` for all API calls and port `8081` for the admin i

* Website: https://marquezproject.ai
* Source: https://github.com/MarquezProject/marquez
* Chat: [MarquezProject Slack](https://bit.ly/Marquez_invite)
* Chat: [MarquezProject Slack](https://bit.ly/Mqz_invite)
* Twitter: [@MarquezProject](https://twitter.com/MarquezProject)

## Contributing
Expand Down
4 changes: 2 additions & 2 deletions api/src/test/java/marquez/api/models/ActiveRun.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ public String getJobName() {
}

public void startRun() {
olClient.emit(ol.newRunEvent(START, newEventTime(), run, job, inputs, outputs));
olClient.emit(ol.newRunEvent(newEventTime(), START, run, job, inputs, outputs));
}

public void endRun() {
endRun(COMPLETE);
}

public void endRun(@NonNull OpenLineage.RunEvent.EventType eventType) {
olClient.emit(ol.newRunEvent(eventType, newEventTime(), run, job, inputs, outputs));
olClient.emit(ol.newRunEvent(newEventTime(), eventType, run, job, inputs, outputs));
}

private static ZonedDateTime newEventTime() {
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ subprojects {
junit5Version = '5.10.0'
lombokVersion = '1.18.28'
mockitoVersion = '5.4.0'
openlineageVersion = '0.26.0'
openlineageVersion = '1.4.1'
slf4jVersion = '1.7.36'
postgresqlVersion = '42.6.0'
}
Expand Down
2 changes: 0 additions & 2 deletions dev/.gitignore

This file was deleted.

28 changes: 11 additions & 17 deletions dev/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
### Using `get_changes`

The `get_changes.sh` script uses a fork of saadmk11/changelog-ci to get all
merged changes between two specified releases. To get all changes since the latest
release, set `END_RELEASE_VERSION` to the planned next release.

The changes will appear at the top of CHANGELOG.md.
The changes will appear in ../CHANGELOG.md.

#### Requirements

Python 3.10 or newer is required.
See the requirements.txt file for required dependencies.

The script also requires that the following environment variables be set:

`END_RELEASE_VERSION`\
`START_RELEASE_VERSION`\
`INPUT_GITHUB_TOKEN`
Install the required dependencies in requirements.txt.

For example: `export END_RELEASE_VERSION=0.21.0`.

Use the planned next release for the end release version.
The script also requires a GitHub token.

For instructions on creating a GitHub personal access token to use the GitHub API,
see: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.

#### Running the script

Make the script executable (the first time), then run it with `./get_changes.sh`.
Run the script from the root directory:

```sh
python3 dev/get_changes.py --github_token token --previous 0.42.0 --current 0.43.0 --path /local/path/to/CHANGELOG.md
```

If you get a `command not found` or similar error, make sure you have made the
script an executable (e.g., `chmod u+x ./dev/get_changes.py`).
135 changes: 135 additions & 0 deletions dev/get_changes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
#!/bin/bash
#
# Copyright 2018-2023 contributors to the Marquez project
# SPDX-License-Identifier: Apache-2.0

from github import Github
import rich_click as click
from datetime import date
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from github.PullRequest import PullRequest

class GetChanges:

def __init__(self, github_token: str, previous: str, current: str, path: str):
self.github_token = github_token
self.previous = previous
self.current = current
self.path = path
self.pulls: list[PullRequest] = []
self.rel_title_str: str = ''
self.text: list[str] = []
self.new_contributors: dict[str:str] = {}

def get_pulls(self):
print('Working on it...')
g = Github(self.github_token)
repo = g.get_repo("MarquezProject/marquez")
prev_date = repo.get_release(self.previous).created_at
commits = repo.get_commits(since=prev_date)
self.pulls = [pull for commit in commits for pull in commit.get_pulls()]

def write_title(self):
self.rel_title_str = f'## [{self.current}](https://github.com/MarquezProject/marquez/compare/{self.previous}...{self.current}) - {date.today()}'

def describe_changes(self):
for pull in self.pulls:

""" Assembles change description with PR and user URLs """
entry = []
if pull.user.login != 'dependabot[bot]':
labels = []
for label in pull.labels:
if label.name != 'documentation':
labels.append(label.name)
change_str = f'* **{labels[0]}: {pull.title}** [`#{pull.number}`]({pull.html_url}) [@{pull.user.login}]({pull.user.html_url}) '

""" Extracts one-line description if present """
beg = pull.body.find('One-line summary:') + 18
if beg == 17:
change_descrip_str = ' **'
else:
test = pull.body.find('### Checklist')
if test == -1:
end = beg + 75
else:
end = test - 1
descrip = pull.body[beg:end].split()
descrip_str = ' '.join(descrip)
change_descrip_str = f' *{descrip_str}*'

entry.append(change_str + '\n')
entry.append(change_descrip_str + '\n')
self.text.append(entry)

def get_new_contributors(self):
for pull in self.pulls:
comments = pull.get_issue_comments()
for comment in comments:
if 'Thanks for opening your' in comment.body:
self.new_contributors[pull.user.login] = pull.user.url
if self.new_contributors:
print('New contributors:')
for k, v in self.new_contributors.items():
print(f'@{k}: {v}')
else:
print('Note: no new contributors were found.')

def update_changelog(self):
f = open('changes.txt', 'w+')
f = open('changes.txt', 'a')
f.write(self.rel_title_str + '\n')
for entry in self.text:
for line in entry:
f.write(line)
f.close()

with open('changes.txt', 'r+') as f:
new_changes = f.read()
with open(self.path, 'r') as contents:
save = contents.read()
with open(self.path, 'w') as contents:
contents.write(new_changes)
with open(self.path, 'a') as contents:
contents.write(save)

@click.command()
@click.option(
'--github_token', type=str, default=''
)
@click.option(
"--previous", type=str, default=''
)
@click.option(
"--current", type=str, default=''
)
@click.option(
"--path",
type=str,
default='',
help='absolute path to changelog',
)

def main(
github_token: str,
previous: str,
current: str,
path: str,
):
c = GetChanges(
github_token=github_token,
previous=previous,
current=current,
path=path
)
c.get_pulls()
c.describe_changes()
c.write_title()
c.update_changelog()
c.get_new_contributors()
print('...done!')

if __name__ == "__main__":
main()

13 changes: 0 additions & 13 deletions dev/get_changes.sh

This file was deleted.

38 changes: 35 additions & 3 deletions dev/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
PyYAML~=5.4.1
requests~=2.25.1
github-action-utils~=1.1.0
aiohttp==3.8.1
aiosignal==1.3.1
async-timeout==4.0.2
attrs==22.2.0
bump2version==1.0.1
certifi==2022.12.7
cffi==1.15.1
chardet==4.0.0
charset-normalizer==2.1.1
click==8.1.3
Deprecated==1.2.13
frozenlist==1.3.3
github==1.2.7
github-action-utils==1.1.0
idna==2.10
markdown-it-py==2.1.0
mdurl==0.1.2
multidict==6.0.4
pendulum==2.1.2
pycparser==2.21
PyGithub==1.57
Pygments==2.14.0
PyJWT==2.6.0
PyNaCl==1.5.0
python-dateutil==2.8.2
pytzdata==2020.1
PyYAML==5.4.1
requests==2.25.1
rich==13.3.1
rich-click==1.6.1
six==1.16.0
typing_extensions==4.4.0
urllib3==1.26.14
wrapt==1.14.1
yarl==1.8.2
2 changes: 1 addition & 1 deletion docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ In this simple example, we showed you how to write sample lineage metadata to a

## Feedback

What did you think of this guide? You can reach out to us on [slack](http://bit.ly/Marquez_invite) and leave us feedback, or [open a pull request](https://github.com/MarquezProject/marquez/blob/main/CONTRIBUTING.md#submitting-a-pull-request) with your suggestions!
What did you think of this guide? You can reach out to us on [slack](http://bit.ly/Mqz_invite) and leave us feedback, or [open a pull request](https://github.com/MarquezProject/marquez/blob/main/CONTRIBUTING.md#submitting-a-pull-request) with your suggestions!

----
SPDX-License-Identifier: Apache-2.0
Expand Down
2 changes: 1 addition & 1 deletion docs/v2/blog/2021-07-14-using-marquez-api/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,7 @@ For a list of all the available queries and more information about the API, see

Interested in contributing to the project? Read our guide for new contributors: https://github.com/MarquezProject/marquez/blob/main/CONTRIBUTING.md.

Join us on Slack: http://bit.ly/MarquezSlack.
Join us on Slack: http://bit.ly/Mqz_invite.



Expand Down
2 changes: 1 addition & 1 deletion docs/v2/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ const config = {
items: [
{
label: 'Slack',
href: 'https://bit.ly/Marquez_invite',
href: 'https://bit.ly/Mqz_invite',
},
{
label: 'YouTube',
Expand Down
2 changes: 1 addition & 1 deletion docs/v2/src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ function HomepageHeader() {
</Link>
<Link
className="button button--secondary button--md margin-left--md"
href="https://bit.ly/Marquez_invite">
href="https://bit.ly/Mqz_invite">
Slack
</Link>
</div>
Expand Down
Loading

0 comments on commit f4bbf16

Please sign in to comment.