
Score match quality and load results into Postgres
Use eval/score.py to compute precision, recall, and F1 for a reconciliation run against the ground_truth.json answer key, then optionally load the same run into a Postgres target schema.
HLAB field notes
Stories and analysis filed under Python.
26 stories
Use eval/score.py to compute precision, recall, and F1 for a reconciliation run against the ground_truth.json answer key, then optionally load the same run into a Postgres target schema.

Run the reconcile CLI to ingest, clean, validate, and resolve ERP and CRM exports into a single crosswalk, quarantine log, and Markdown reconciliation report.

Tune the missing-value, bad-date, encoding, duplicate, orphan, and amount-drift ratios that control how messy a generated dataset is, and save your choices to a config file datagen can replay exactly.

Read the same customer, invoice, and payment across a flat ERP CSV export and a nested CRM JSON export, and learn what the ground_truth.json answer key does, and doesn't, record.

Use the datagen CLI to produce a reproducible, deliberately messy ERP and CRM export pair, complete with a ground-truth answer key, the foundation every reconciliation lesson in this series runs against.

Add deterministic rule checks to a prompt-evaluation workflow, then measure exactly where simple substring rules produce false positives and false negatives.

Turn six labeled retrieval questions into a repeatable BM25 quality report using Hit@k, Recall@k, and mean reciprocal rank, then use the report to find what lexical retrieval misses.

Combine BM25 and vector rankings with Reciprocal Rank Fusion, promoting chunks found by multiple retrievers without ever comparing their incompatible raw scores.

Build a small exact vector index that stores L2-normalized vectors, ranks results by cosine similarity, and rejects vectors from an incompatible model or dimension.

Build the keyword-ranking function behind a local retrieval pipeline: preserve identifiers, calculate Okapi BM25 scores, and return deterministic ranked results without a search library.

Build the ingestion pipeline that splits Python and Markdown files into stable, citable chunks, the foundation every retrieval guide in this series searches.

Write data from Python to an Excel workbook with pandas and openpyxl, then generate a pie chart from it. Covers Anaconda setup and Python 3.7.

Connect a Django 2.2 GitHub repository to Travis CI so your test suite runs on every push, and catch failing tests before they reach production.

Gather requirements as user stories, learn how functional tests differ from unit tests, and start the Django 2.2 blog that you build with TDD.

Register M-Pesa C2B confirmation and validation URLs on the Safaricom Daraja API from Django 2.2, and build the views that receive payment callbacks.

Create the Django 2.2 models and migrations that store M-Pesa payments, and start building a customer-to-business (C2B) integration on Daraja.

Generate an OAuth access token for the Safaricom M-Pesa Daraja API from a Django 2.2 application, the first call every M-Pesa integration makes.

Start integrating the Safaricom M-Pesa Daraja API with Django 2.2: learn how M-Pesa works, create a developer account, and add a sandbox app.

List registered users on a custom Django 2.2 dashboard, and let administrators activate or deactivate each account with a single click.

Build a custom dashboard in Django 2.2, redirect users there after they register, and add a sign-in view with the built-in authentication system.

Style a Django 2.2 project with the Bootstrap front-end framework, and build a registration form that creates users with the built-in auth system.

Set up a Django 2.2 project and learn how the built-in authentication system handles user accounts, permissions, sessions, and passwords.

Learn what data science is, see how hotels and insurers use it to make decisions, and get started with the Python tools you need for data analysis.

Scrape blog posts from a website with Python 3.7, Requests, and Beautiful Soup 4, then write the titles and links you extract to a CSV file.

Build a Django 2.1 sign-up form that creates inactive accounts and emails each user a token link to confirm their address and activate the account.

Set up a Django 2.1 project for email verification on sign-up, and learn why confirming that users own their email address protects your application.