Skip to content

Instantly share code, notes, and snippets.

@senthilsweb
senthilsweb / bot_sap_to_duckdb.py
Created February 27, 2025 02:15
This script fetches SAP Partner Finder data via API, processes it, and loads it into a database using the DLT pipeline.
"""
File Name: bot_sap_to_duckdb.py
Author:
Date: 17-FEB-2025
Description: This script fetches SAP Partner Finder data via API,
processes it, and loads it into a database using the DLT pipeline.
Python Environment Setup:
1. Create a virtual environment:
- For Unix/Linux/Mac: `python3 -m venv env`
@senthilsweb
senthilsweb / streamlit-duckdb-sql-editor-with-embedded-llm.ipynb
Last active September 6, 2025 18:35
streamlit-duckdb-sql-editor-with-embedded-llm.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@senthilsweb
senthilsweb / duckdb-auto-pii-and-mask-as-sql-query.ipynb
Last active January 24, 2025 14:15
duckdb-auto-pii-and-mask-as-sql-query.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@senthilsweb
senthilsweb / rcm-model-prisma-schema.js
Created January 11, 2025 20:22
Revenue Cycle Management DB model for staging
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
enum UserType {
@senthilsweb
senthilsweb / anonymizer.yaml
Created January 6, 2025 05:18
Data Anonymizer Process Flow
title: PII Processing and Anonymization Workflow
description: A pipeline for detecting, anonymizing, enriching, and de-anonymizing sensitive PII text
nodes:
- id: input01
name: Input
description: Text containing sensitive PII
icon: mdi:file-document
color: bg-pink-400
show_annotation: false
- id: pii_detection
@senthilsweb
senthilsweb / event-flow.yaml
Created January 6, 2025 05:17
Event Flow Architecture
title: Notification Workflow Pipeline
description: ETL pipeline for processing and routing notifications through EventBridge and AWS Lambda
nodes:
- id: app-db
name: App DB
description: Smart Data Partner and source for events
icon: mdi:database-cog
color: bg-blue-500
show_annotation: false
- id: eventbridge01
@senthilsweb
senthilsweb / tailwind-profile-card.html
Created September 23, 2024 10:17
My new profile card template
<div tw="flex flex-col justify-between w-full h-full bg-cover bg-center p-10 box-border font-sans text-white bg-indigo-600">
<div tw="flex flex-row items-start justify-start">
<img src="https://res.cloudinary.com/nathansweb/image/upload/v1727025413/senthilsweb.com/avatars/senthil-face-photo-sep-2024.png" alt="Profile" tw="w-[150px] h-[150px] mr-5 mt-8 rounded-2xl" />
<div tw="flex flex-col items-start">
<h1 tw="text-4xl mb-2">Senthilnathan Karuppaiah</h1>
<p tw="text-xl my-1">Software Engineer</p>
<p tw="text-xl my-1 flex items-center">123-456-7890</p>
<p tw="text-xl my-1 flex items-center">sk@example.com</p>
<p tw="text-xl my-1 flex items-center">www.senthilsweb.com</p>
</div>
@senthilsweb
senthilsweb / gorules-jdm-ecommenrce-shipping-fees.json
Created September 21, 2024 22:14
GoRules Ecommerce Example Decision Table exported as JSON
{
"contentType": "application/vnd.gorules.decision",
"edges": [
{
"id": "1dfbc57d-ad1f-4cf8-978a-e43241856fc8",
"type": "edge",
"sourceId": "be0a5c2d-538d-4e50-9843-91b274e1b9d8",
"targetId": "7c07550a-07bc-4ee4-80d6-9ad900e3d6c9"
},
{
@senthilsweb
senthilsweb / bot_jira_to_duckdb.py
Created September 14, 2024 19:34
This script automates the process of fetching JIRA issue data in CSV format using a specified JQL query. It parses the data and loads it into a database via the DLT pipeline. Ideal for use in project management reporting and analytics, the script supports flexible configuration and swappable database sinks such as DuckDB or Snowflake.
"""
File Name: bot_jira_to_duckdb.py
Author: Senthilnathan Karuppaiah
Date: 22-FEB-2024
Description: This script fetches JIRA issue data in CSV format based on a specified JQL query,
parses it, and loads it into a database using the DLT pipeline.
Python Environment Setup (replace `env` with your desired environment name):
1. Create a virtual environment:
- For Unix/Linux/Mac: `python3 -m venv env`
<div class="absolute inset-0 -z-10 mx-0 max-w-none overflow-hidden">
<div class="absolute left-1/2 top-0 ml-[-38rem] h-[25rem] w-[81.25rem] dark:[mask-image:linear-gradient(white,transparent)]">
<div class="absolute inset-0 bg-gradient-to-r from-[#ec4899] to-[#fbcfe8] opacity-40 [mask-image:radial-gradient(farthest-side_at_top,white,transparent)] dark:from-[#ec4899]/30 dark:to-[#fbcfe8]/30 dark:opacity-100">
<svg aria-hidden="true" class="dark:fill-white/2.5 absolute inset-x-0 inset-y-[-50%] h-[200%] w-full skew-y-[-18deg] fill-black/40 stroke-black/50 mix-blend-overlay dark:stroke-white/5">
<defs>
<pattern id=":S1:" width="72" height="56" patternUnits="userSpaceOnUse" x="-12" y="4"><path d="M.5 56V.5H72" fill="none"></path></pattern>
</defs>
<rect width="100%" height="100%" stroke-width="0" fill="url(#:S1:)"></rect>
<svg x="-12" y="4" class="overflow-visible">
<rect stroke-width="0" width="73" height="57" x="288" y="168"></rect>