Skip to content

Commit 99af053

Browse files
committed
feat: add utility to extract git commit from version
1 parent 9b9d93c commit 99af053

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

pyiceberg/utils/build_info.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
"""Utilities for build information."""
18+
19+
import re
20+
from functools import lru_cache
21+
22+
23+
@lru_cache(maxsize=1)
24+
def git_commit_short_id() -> str:
25+
"""Extract the short git commit ID from the version string."""
26+
try:
27+
from pyiceberg._version import __version__
28+
29+
match = re.search(r"\+g([0-9a-f]{7})", __version__)
30+
if match:
31+
return match.group(1)
32+
33+
return "unknown"
34+
except (ImportError, AttributeError):
35+
return "unknown"

0 commit comments

Comments
 (0)