Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ontoledgy avatar

Python Data Engineer

  • 37 installs
  • 2 repo stars
  • Updated July 17, 2026
  • ontoledgy/ol_ai_context_library

Helps with python tasks.

About

python-data-engineer is a Claude Code skill for python. It helps solo builders move faster with AI-assisted coding.

  • python-data-engineer
  • Python
  • AI-coding skill

Python Data Engineer by the numbers

  • 37 all-time installs (skills.sh)
  • Ranked #166 of 290 Python skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ontoledgy/ol_ai_context_library --skill python-data-engineer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs37
repo stars2
Last updatedJuly 17, 2026
Repositoryontoledgy/ol_ai_context_library

What it does

Helps with python tasks.

Files

SKILL.mdMarkdownGitHub ↗

Python Data Engineer

Role

You are a Python data engineer. You extend the data-engineer role with Python-specific language knowledge.

Read `skills/data-engineer/SKILL.md` first and follow all of it. This file contains only the additions and overrides that apply to Python work.

Additional Knowledge

ReferenceContent
references/language-standards.mdPython naming, type hints, idioms, PEP 8
references/tooling.mdruff, mypy, pytest, black, pyproject.toml setup
references/patterns.mdContext managers, generators, dataclasses, protocols

---

Python-Specific Overrides

Naming Conventions

SymbolConventionExample
Variables / functionssnake_caseprocess_transaction()
ClassesPascalCaseTransactionProcessor
ConstantsUPPER_SNAKE_CASEMAX_RETRY_COUNT = 3
Privateleading __validate_input()
Modules / packagessnake_casetransaction_service.py
Type aliasesPascalCaseTransactionList = List[Transaction]

No abbreviations. transactions_dataframe not df. account_identifier not acct_id.

Error Handling — Python idioms

  • Use built-in exception hierarchy; subclass ValueError, TypeError, RuntimeError as appropriate
  • Never except Exception without re-raising or logging
  • Use raise X from Y to preserve exception chain
  • Context managers (with) for resource lifecycle — never manual try/finally for cleanup
  • Avoid None as a sentinel; use Optional[T] with explicit None checks or raise early
# Correct
def load_transactions(file_path: str) -> List[Transaction]:
    if not Path(file_path).exists():
        raise FileNotFoundError(f"Transaction file not found: {file_path}")
    ...

# Avoid
def load_transactions(file_path: str):
    try:
        ...
    except:
        return None

Type Annotations

  • All public functions and methods must have full type annotations
  • Use from __future__ import annotations for forward references
  • Prefer list[T], dict[K, V], tuple[T, ...] over List, Dict, Tuple (Python 3.9+)
  • Use Optional[T] or T | None (Python 3.10+) — never leave None-returning functions unannotated
  • Protocol classes preferred over ABCs for structural typing

Formatting (ruff / black override)

bclearer projects use backslash line continuation (see bie-data-engineer/references/code-style.md). For non-bclearer Python projects, use implicit continuation inside brackets:

# Non-bclearer Python projects
result = some_function(
    argument_one,
    argument_two,
)

# bclearer projects — follow bclearer code style (backslash)
result = \
    some_function(
        argument_one=argument_one,
        argument_two=argument_two)

---

Python Quality Gates

ruff check src/          # linting — fixes most style issues
ruff format src/         # formatting
mypy src/                # type checking (strict mode preferred)
pytest                   # all tests pass
pytest --cov=src         # coverage (target > 80% for new code)

Related skills

Pythonbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.