Skip to content

Commit 66ed18f

Browse files
committed
chore: convert development environment to uv
1 parent d396c67 commit 66ed18f

9 files changed

Lines changed: 631 additions & 283 deletions

File tree

.github/workflows/unittest.yml

Lines changed: 29 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,31 @@
11
on:
2-
pull_request:
3-
branches:
4-
- main
5-
name: unittest
6-
jobs:
7-
unit:
8-
# TODO(https://github.com/googleapis/gapic-generator-python/issues/2303): use `ubuntu-latest` once this bug is fixed.
9-
# Use ubuntu-22.04 until Python 3.7 is removed from the test matrix
10-
# https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
11-
runs-on: ubuntu-22.04
12-
strategy:
13-
matrix:
14-
python: ['3.10', '3.11', '3.12', '3.13']
15-
steps:
16-
- name: Checkout
17-
uses: actions/checkout@v4
18-
- name: Setup Python
19-
uses: actions/setup-python@v5
2+
pull_request:
3+
branches:
4+
- main
5+
6+
jobs:
7+
build:
8+
name: unittest
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
python-version:
13+
- "3.10"
14+
- "3.11"
15+
- "3.12"
16+
- "3.13"
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Install uv and set the python version
22+
uses: astral-sh/setup-uv@v6
2023
with:
21-
python-version: ${{ matrix.python }}
22-
- name: Install nox
23-
run: |
24-
python -m pip install --upgrade setuptools pip wheel
25-
python -m pip install nox
26-
- name: Run unit tests
27-
env:
28-
COVERAGE_FILE: .coverage-${{ matrix.python }}
29-
run: |
30-
nox -s unit-${{ matrix.python }}
31-
- name: Upload coverage results
32-
uses: actions/upload-artifact@v4
33-
with:
34-
name: coverage-artifact-${{ matrix.python }}
35-
path: .coverage-${{ matrix.python }}
36-
include-hidden-files: true
37-
38-
cover:
39-
runs-on: ubuntu-latest
40-
needs:
41-
- unit
42-
steps:
43-
- name: Checkout
44-
uses: actions/checkout@v4
45-
- name: Setup Python
46-
uses: actions/setup-python@v5
47-
with:
48-
python-version: "3.10"
49-
- name: Install coverage
50-
run: |
51-
python -m pip install --upgrade setuptools pip wheel
52-
python -m pip install coverage
53-
- name: Download coverage results
54-
uses: actions/download-artifact@v4
55-
with:
56-
path: .coverage-results/
57-
- name: Report coverage results
58-
run: |
59-
find .coverage-results -type f -name '*.zip' -exec unzip {} \;
60-
coverage combine .coverage-results/**/.coverage*
61-
coverage report --show-missing --fail-under=35
24+
python-version: ${{ matrix.python-version }}
25+
enable-cache: true
26+
27+
- name: Install the project
28+
run: uv sync --locked --all-extras --dev
29+
30+
- name: Run tests
31+
run: uv run pytest tests/unit

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.13

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
(This is not an official Google product.)
44

5-
LeanFrame is a pandas-like API built on top of Ibis. This is a fork of an early version of leanframe (https://github.com/googleapis/python-bigquery-dataframes) and is intended to be a minimal wrapper on top of Ibis without any of the pandas features that make leanframe more complex.
5+
LeanFrame is a pandas-like API built on top of Ibis. This is a fork of an early
6+
version of bigframes (https://github.com/googleapis/python-bigquery-dataframes)
7+
and is intended to be a minimal wrapper on top of Ibis without any of the pandas
8+
features that make bigframes more complex.
69

710
## Disclaimer
811

README.rst

Lines changed: 0 additions & 60 deletions
This file was deleted.

main.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
def main():
2+
print("Hello from leanframe!")
3+
4+
5+
if __name__ == "__main__":
6+
main()

pyproject.toml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1-
[build-system]
2-
requires = ["setuptools"]
3-
build-backend = "setuptools.build_meta"
1+
[project]
2+
name = "leanframe"
3+
version = "0.1.0"
4+
description = "LeanFrame is a pandas-like API built on top of Ibis."
5+
readme = "README.md"
6+
requires-python = ">=3.10"
7+
dependencies = [
8+
"pandas >=2.2.0",
9+
"pyarrow >=15.0.2",
10+
"ibis-framework>=10.3.1,<11.0.0",
11+
]
12+
13+
[dependency-groups]
14+
dev = [
15+
"ibis-framework[duckdb]>=10.6.0",
16+
"pytest>=8.4.1",
17+
]

setup.cfg

Lines changed: 0 additions & 19 deletions
This file was deleted.

setup.py

Lines changed: 0 additions & 141 deletions
This file was deleted.

0 commit comments

Comments
 (0)