This guide provides context for developing the leanframe project using
LLM-based tools.
leanframe is a pandas-like API built on top of the Ibis project. It is
intended to be a minimal wrapper around Ibis, providing a familiar interface for
data manipulation without the more complex features of pandas.
To set up the development environment, you will need uv, which is a fast
Python package installer and resolver.
-
Install
uv. -
Create a virtual environment and install dependencies:
uv sync
This project uses pytest for testing, ruff for linting and formatting, and mypy for static type checking.
-
Running tests:
uv run pytest
-
Linting:
uv run ruff check
-
Formatting:
uv run ruff format
-
Type checking:
uv run mypy leanframe tests
pandas: Used for the API and data structures.pyarrow: For efficient in-memory data representation.ibis-framework: The core backend for deferred execution.duckdb: The default backend for running tests.pytest: The testing framework.ruff: The linter and formatter.mypy: The static type checker.
- Only add git commits. Do not change git history.
- When following a spec for development, check off the items with
[x]as they are completed.