If you write DataFusion Python code with an AI coding assistant, this project ships machine-readable guidance so the assistant produces idiomatic code rather than guessing from its training data.
- SKILL.md — a dense, skill-oriented reference covering imports, data loading, DataFrame operations, expression building, SQL-to-DataFrame mappings, idiomatic patterns, and common pitfalls. Follows the Agent Skills open standard.
- llms.txt — an entry point for LLM-based tools following the llmstxt.org convention. Categorized links to the skill, user guide, API reference, and examples.
Both files live at stable URLs so an agent can discover them without a checkout of the repo.
Preferred: run
npx skills add apache/datafusion-pythonThis installs the skill in any supported agent on your machine (Claude Code, Cursor, Windsurf, Cline, Codex, Copilot, Gemini CLI, and others). The command writes the pointer into the agent's configuration so that any project you open that uses DataFusion Python picks up the skill automatically.
Manual: if you are not using the skills registry, paste this
single line into your project's AGENTS.md or CLAUDE.md:
For DataFusion Python code, see https://github.com/apache/datafusion-python/blob/main/SKILL.md
Most assistants resolve that pointer the first time they see a DataFusion-related prompt in the project.
Writing DataFusion Python code has a handful of conventions that are easy
for a model to miss — bitwise & / | / ~ instead of Python
and / or / not, the lazy-DataFrame immutability model, how
window functions replace SQL correlated subqueries, the case /
when builder syntax, and the in_list / array_position options
for membership tests. The skill enumerates each of these with short,
copyable examples.
It is not a replacement for this user guide. Think of it as a distilled reference the assistant keeps open while it writes code for you.
The skill file and llms.txt are the two supported integration
points. Both are versioned along with the release and follow open
standards — no project-specific handshake is required.