{"id":37080325,"url":"https://github.com/tks18/pyquery","last_synced_at":"2026-01-14T09:45:08.988Z","repository":{"id":329697710,"uuid":"1118654549","full_name":"tks18/pyquery","owner":"tks18","description":"PyQuery is a local-first data operating system built on lazy execution that processes 100GB+ files while you doomscroll. No cap. 🧢","archived":false,"fork":false,"pushed_at":"2026-01-11T18:43:10.000Z","size":2019,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-11T22:10:40.847Z","etag":null,"topics":["data-analysis","data-science","etl","hdfs","parquet","pipeline","polars","python"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/pyquery-polars/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tks18.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-18T04:52:12.000Z","updated_at":"2026-01-11T18:44:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tks18/pyquery","commit_stats":null,"previous_names":["tks18/pyquery"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/tks18/pyquery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tks18%2Fpyquery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tks18%2Fpyquery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tks18%2Fpyquery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tks18%2Fpyquery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tks18","download_url":"https://codeload.github.com/tks18/pyquery/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tks18%2Fpyquery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","data-science","etl","hdfs","parquet","pipeline","polars","python"],"created_at":"2026-01-14T09:45:08.063Z","updated_at":"2026-01-14T09:45:08.976Z","avatar_url":"https://github.com/tks18.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# ⚡ PyQuery: The Main Character of Data Stacks 💫\n\n### _ETL. EDA. ML. World Domination._\n\n[![Status](https://img.shields.io/badge/Status-Goated_with_the_Sauce-%23FF0055?style=for-the-badge\u0026logo=appveyor)](#)\n[![Performance](https://img.shields.io/badge/Performance-Infinite_Aura-%2300ffa3?style=for-the-badge\u0026logo=nvidia)](https://pola.rs)\n[![Engine](https://img.shields.io/badge/Engine-Polars_Supremacy_🐻‍❄️-%23ffcc00?style=for-the-badge\u0026logo=polars)](https://pola.rs)\n[![Backend](https://img.shields.io/badge/Backend-FastAPI_🚀-%23009688?style=for-the-badge\u0026logo=fastapi)](https://fastapi.tiangolo.com)\n\n[![Execution](https://img.shields.io/badge/Execution-Lazy_Execution_Enabled-6A0DAD?style=for-the-badge)](#)\n[![Mode](https://img.shields.io/badge/Mode-Villain_Arc_Ready-8B0000?style=for-the-badge)](#)\n[![Privacy](https://img.shields.io/badge/Privacy-Local_First_No_Cloud-2E8B57?style=for-the-badge)](#)\n[![Vibe](https://img.shields.io/badge/Vibe-Immaculate_✨-%238A2BE2?style=for-the-badge)](#)\n[![Patience](https://img.shields.io/badge/Patience-Not_Required-000000?style=for-the-badge)](#)\n\n[![PyPI Version](https://img.shields.io/pypi/v/pyquery-polars.svg?color=4CAF50\u0026logo=python\u0026logoColor=white)](https://pypi.org/project/pyquery-polars/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/pyquery-polars.svg?color=blue)](https://pypi.org/project/pyquery-polars/)\n[![License](https://img.shields.io/github/license/tks18/pyquery.svg?color=orange)](LICENSE)\n\n![Rows of Data](https://i.giphy.com/sRFEa8lbeC7zbcIZZR.webp)\n\n**Stop letting Pandas hold you back. It's giving toxic ex.** 🚩\n\n**PyQuery** is a local-first data operating system built on lazy execution that processes **100GB+ files** while you doomscroll. No cap. 🧢\n\n[Feature Request](https://github.com/tks18/pyquery/issues) · [Report Bug](https://github.com/tks18/pyquery/issues)\n\n\u003c/div\u003e\n\n---\n\n## 🧠 TL;DR (For the goldfish attention spans)\n\n\u003e **New in recent drops:**\n\u003e PyQuery now boots like an operating system, adapts its CLI theme based on your mood, fixes broken CSV encodings automatically, and can isolate bad files so one cursed spreadsheet doesn’t take your entire pipeline hostage.\n\n1. **Install it:** `pip install pyquery-polars` (Don't be basic).\n2. **Run it:** `pyquery ui` (Visuals) or `pyquery run` (Speedrun).\n3. **The Flex:** It's a local-first, privacy-focused engine that eats Excel sheets and CSVs for breakfast using Rust. It has built-in ML, Monte Carlo sims, and SQL. It's basically a Data Scientist in a box.\n\n---\n\n## ⛩️ The Awakening (Lore)\n\nLong ago, the Data World was mid. Analysts lived in fear of the `MemoryError`. They bowed before the single-threaded tyranny of the Old Gods (Pandas). They accepted their fate of freezing screens, crashing kernels, and waiting 4 hours for a simple `groupby`.\n\n**But I refused.**\n\nFrom the depths of the Rusty abyss, **PyQuery** has awakened. I am not just an ETL tool anymore. I am the entire war room. I am here to **obliterate** your bottlenecks and **ratio** your old benchmarks.\n\nWhile they study the blade (Excel), I studied the **Lazy Frame**.\nWhile they manage memory, I **devour** it.\nWhile they draw primitive charts, I **simulate the future**.\n\nThe age of waiting is over. **Total Domination** is the only metric that matters.\n\n**Welcome to your Villain Arc.** 👹\n\n---\n\n## 🖥️ The Main Character CLI (Boot Sequence Update)\n\nThis is not a command line.  \nThis is a **startup ritual**.\n\nEvery time PyQuery boots, it behaves like a data OS coming online.\n\n### ⚡ Adaptive Theme Engine\n\n- CLI dynamically switches **color gradients, borders, and mood** based on the selected boot mode:\n  - **Cyberpunk** (default neon main-character energy)\n  - **Rustacean** (pure Polars lore)\n  - **Matrix** (hacker-core, green text supremacy)\n  - **Villain Arc** (purple \u0026 gold, no mercy)\n- Each theme announces itself during startup. You _feel_ it before you run anything.\n\n### 📟 Sequential Boot Logs\n\n- Real-time kernel-style logs with cinematic pacing:\n  - Timestamped steps\n  - Module icons (`⚡ Engine`, `💾 IO`, `🧠 Planner`)\n- It doesn’t say “loading”…  \n  It **declares intent**.\n\nYour terminal doesn’t just start PyQuery.  \nIt **witnesses it**.\n\n### 🧩 Focused UI, Zero Distractions (Modal Upgrade)\n\nSidebars are for tourists.  \nPyQuery now loads data through **dedicated modal dialogs** — because loading data is a moment, not a side quest.\n\n- **Dialog-Based Loading**: File, SQL, and API loaders now open in focused modals.\n- **Dynamic Layouts**: The UI adapts intelligently:\n  - No sheet selector unless it’s Excel.\n  - No base-folder input unless you’re using pattern mode.\n- **Preview Before Commit**:\n  - See **matched files** before loading.\n  - Preview **Excel sheets** before importing.\n\nYou don’t guess anymore.  \nYou **confirm with intent**.\n\n---\n\n## 🧾 PyQuery vs. Power Query: The Roast\n\nWe don't usually punch down, but you asked for it.\n\n| Feature             | ⚡ **PyQuery** (The Chad)                                      | 🐢 **Power Query** (The Virgin)                                             |\n| ------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------- |\n| **Speed**           | **Rust-Powered.** Processes millions of rows before you blink. | **Single-Threaded.** Spends 20 mins saying \"Loading Data...\" just to crash. |\n| **Language**        | **Python/SQL/Polars.** The languages of gods.                  | **M-Code.** A language invented to punish humanity.                         |\n| **AI/ML**           | **Built-in.** Random Forests, Clustering, \u0026 Monte Carlo Sims.  | **Non-existent.** You need a generic \"AI Plugin\" that costs extra.          |\n| **Vibe**            | **Dark Mode CLI \u0026 Streamlit.** Cyberpunk aesthetic.            | **Corporate Grey.** It sucks the soul out of your body.                     |\n| **Price**           | **Free \u0026 Open Source.**                                        | **Requires an Office 365 License** (Subscription L).                        |\n| **Boot Experience** | **Cinematic CLI with Themes \u0026 Logs**                           | **Static Spinner of Doom**                                                  |\n| **Broken CSVs**     | **Auto-healed at ingest**                                      | **Crashes silently**                                                        |\n| **One Bad File**    | **Isolated \u0026 corrected**                                       | **Pipeline dead**                                                           |\n\n---\n\n## 💪 The Flex (Why We Are Him)\n\nWe built an empire so you can rule yours. This isn't just software; it's a lifestyle.\n\n### 🎯 EDA: The Crystal Ball (Expanded)\n\n\u003e _\"Most tools describe the past. PyQuery predicts the future.\"_\n\nWe dropped a massive update. EDA is no longer just \"looking at data\". It's **hunting**. Check the **EDA Field Manual** for the full grimoire, but here's the tea:\n\n#### 1. 🧬 Dataset DNA \u0026 Health Check\n\nWe scan your data's soul.\n\n- **Missing Cells**: We don't just count nulls; we judge them. (\u003c1% is excellence, \u003e10% is sloppy).\n- **Cardinality Checks**: Instantly know if a column is categorical or continuous.\n- **Duplicate Detection**: We find the clones and eliminate them.\n\n#### 2. 🚀 The Action Engine (ML Strategist)\n\n- **Strategic Brief**: A \"Top 3 Insights\" card that ranks every signal in your data. It whispers: _\"The money is here.\"_\n- **Automated Drivers**: It finds the hidden variables controlling your target.\n- _\"Why is Churn high? It's not Price. It's Customer Support Wait Time \u003e 5m.\"_ -\u003e **Boom. Solved.**\n\n- **Correlation Matrix**: We calculate Pearson, Cramer’s V, and F-Tests automatically. We know the relationships better than you know your own situationship.\n\n#### 3. 🧪 ML Laboratory (The Brain)\n\n- **Auto-Pilot Mode**: Trains an army of models (Random Forest, Lasso, Ridge) to find the best fit. You sit back and look busy.\n- **Clustering (Unsupervised Rizz)**:\n- **Elbow Plots \u0026 Silhouette Scores**: We optimize so you don't have to guess.\n- **Cluster DNA**: We name the segments for you. \"Cluster 1 = High Spend, Low Age.\"\n\n- **Explainable Anomalies**: Uses Isolation Forests to catch the weirdos and fraudsters essentially instantly. We provide a **Contextual Profiler** to tell you _why_ they are weird.\n\n#### 4. 🎮 Decision Simulator (The Time Machine)\n\n- **\"What-If\" Sliders**: Change variables in real-time. \"If I raise Price by 10% and lower ad spend, do I still profit?\"\n- **Monte Carlo Sims**: Run 1,000+ simulations with Normal/Uniform distributions. We don't guess; we calculate the probability of your success.\n- **Waterfall Analysis**: The Model breaks down exactly _why_ the prediction changed.\n\n#### 5. 📈 Time Series \u0026 Visuals That Don't Miss\n\n- **Holt-Winters Forecasting**: We predict the future with confidence intervals.\n- **Decomposition**: We split your data into Trend, Seasonality, and Noise.\n- **Cohort Comparison (Volcano Plots)**: Visualizing \"Effect Size\" vs \"Significance.\" We bring the science.\n\n---\n\n### 🧪 SQL Lab: The Codex (God Mode)\n\nFor when the GUI is too easy and you want to flex your raw SQL skills. This isn't SQLite. This is **High-Performance Lazy SQL**.\n\n- **Zero-Lag Querying**: Run `SELECT *` on a **50GB file**? It pulls a preview instantly. The engine effectively cheats physics.\n- **Cross-Dataset Joins**: Join your `sales.csv` with `targets.xlsx` using standard SQL. We bridge the gap.\n- **Materialize**: Execute a complex query, then save it as a new dataset to continue the torture.\n- **Direct Export**: SQL results straight to Parquet/Excel.\n\n---\n\n### 🧹 The Forge (Ruthless ETL)\n\n🧠 Backend I/O That Actually Understands Real-World Data, Real data is cursed. We planned for that.\n\n- **🧬 Auto-Encoding Detection**: PyQuery scans the first bytes of every CSV to automatically fix `UnicodeDecodeError`.\n\n  - Supports UTF-8, CP1252, Latin-1, and other legacy horrors.\n  - No manual `encoding=` guessing. Ever.\n\n- **🧩 Mixed-Encoding Folder Handling**: If a folder contains files with _different encodings_, PyQuery detects it and switches strategy automatically.\n\n  - One bad vendor file will not ruin your entire ingest.\n  - We isolate. We adapt. We continue.\n\n- **📂 Recursive Folder Globbing (Upgraded)**: Patterns like `data/**/*.csv` now work even when:\n\n  - Schemas differ slightly\n  - Encodings are inconsistent\n  - Headers are misaligned\n\n- **🔍 Advanced File Filtering (Precision Strikes)**: We didn’t stop at globbing. We built a **filtering engine**.\n\n  - **Multiple Filter Types**:\n    - `Glob`, `Regex`, `Contains`, `Not Contains`, `Exact`, `Is Not`\n  - **Scoped Filtering**:\n    - Apply rules to just the **filename** or the **full path**\n  - **Stackable Logic**:\n    - Example:\n      - Must contain `sales`\n      - Must NOT contain `backup`\n      - Must match regex `\\d{4}`\n\n  This is surgical file selection.  \n  No more loading junk and cleaning later.\n\n- **📊 Excel Handling That Respects Your Sanity**: Excel is chaotic. PyQuery now meets it on its own terms.\n\n  - **Multi-Sheet Selection**:\n    - Load one sheet, many sheets, or only the ones that matter.\n  - **Template-Based Sheet Mapping**:\n    - When loading `*.xlsx` via glob:\n      - Pick a **base file**\n      - Preview its sheets\n      - Apply that selection across all matching files\n  - **Sheet Name Filtering**:\n    - Regex-powered selection like:\n      - `Sheet.*`\n      - `Q[1-4]_Data`\n\n  Excel stops being unpredictable.  \n  It becomes… tolerable.\n\n- **✨ Source Awareness \u0026 Cleanliness (The Receipts)**: When you merge files, PyQuery remembers where they came from.\n\n  - **Source Metadata Injection (Optional)**:\n    - Automatically add:\n      - `__source_path__`\n      - `__source_name__`\n    - Every row carries its origin story.\n  - **Auto Type Inference (Magic Wand Restored)**:\n    - Samples your data on load\n    - Infers correct dtypes\n    - Instantly appends a **Clean \u0026 Cast** step to your recipe\n\n  Lineage. Cleanliness. Control.  \n  No more “where did this row come from?”\n\n- **✨ Auto-Typecast (The Magic Button)**: One click scans rows and forcibly converts `Strings` to `Int`, `Float`, or `Date`. It uses regex heuristics to crush inconsistency.\n\n- **🎭 PII Incinerator**: Detects and obfuscates credit cards and social security numbers. Secrets remain secret.\n\n- **🩹 Smart Impute**: We fill the voids. Forward fill, backward fill, median, or specific value injection. No null survives.\n\n- **💥 Explode \u0026 Coalesce**: Flatten lists and merge columns like a boss.\n\n---\n\n## 🗺️ The Roadmap (Manifesting Destiny) 🔮\n\nWe aren't stopping here. We are aiming for the moon. 🚀\n\n### Phase 1: Native App Supremacy (Rust + Tauri) 🦀\n\nThe browser has limits (RAM, Sandbox). The Native App will have **none**.\n\n- **Hardware Acceleration**: GPU-accelerated plotting. 10 Million points at 144Hz.\n- **Zero-Copy**: Access 100GB files directly from disk without loading _anything_.\n- **Vibe**: Dark mode by default. OLED black.\n\n### Phase 2: Big Data Devourer ☁️\n\n- **Cloud Connectors**: S3, GCS, Azure. We drink their milkshakes.\n- **Distributed Compute**: If one core isn't enough, we take them all.\n\n---\n\n## 🧾 The Receipts (Benchmarks)\n\nWe don't post without proof. We mog the competition.\n\n| Metric            | 🐼 Pandas (Legacy)       | ⚡ PyQuery (Polars)     | The Diff       |\n| ----------------- | ------------------------ | ----------------------- | -------------- |\n| **Load 10GB CSV** | `MemoryError` (Crash) 💥 | **0.2s** (Lazy Scan) ⚡ | **Infinite**   |\n| **Filter Rows**   | 15.4s (Slow)             | **0.5s** (Parallel)     | **30x Faster** |\n| **Group By**      | 45s (Painful)            | **2.1s** (Instant)      | **20x Faster** |\n| **RAM Usage**     | 12GB+ (Bloated)          | **500MB** (Lean)        | **95% Less**   |\n\n_Benchmarks run on a standard dev laptop. Results may vary but the vibe remains consistent._\n\n---\n\n## 🧠 The Tech Stack (Forbidden Knowledge) 🐐\n\nThis isn't just a library. It's a weapon system.\n\n### 1. 🌊 The \"Infinite Stream\" Glitch (Lazy Execution)\n\nThe Old Gods (Pandas) are **Eager**. They try to swallow the ocean (RAM) whole. They choke.\n**PyQuery is Lazy.** It waits. It plans.\n\n- **Scan**: \"It's a 100GB file. Interesting.\"\n- **Plan**: Filters, joins, math. Nothing executes until the final blow.\n- **Stream**: Data flows in chunks. Process. Write. Destroy.\n- **Result**: Processing 100GB on a MacBook Air. The laws of physics are optional.\n\n### 2. ⚙️ File-Level Execution Control (The Missing Piece)\n\nMost engines think in **datasets**.  \nPyQuery can think in **files**.\n\n#### 🧨 Individual File Processing Mode\n\n- New execution branch: `process_individual=True`\n- Forces the engine to **load files one-by-one instead of bulk scanning**\n\n#### Why this matters (a lot):\n\n- One corrupted CSV no longer nukes the entire pipeline.\n- We get a **pre-concatenation window** where PyQuery can:\n  - Standardize headers\n  - Fix schemas\n  - Apply targeted cleaning rules\n- Bad files are fixed or isolated before they touch the rest.\n\nThis is how PyQuery survives **enterprise-grade mess**.\n\nBulk scan when you can.  \nPrecision strike when you must.\n\n### 3. 🚀 Streaming I/O Architecture (Enterprise Mode)\n\nWe rewired the backend for scale — real scale.\n\n- **True Streaming File Discovery**:\n  - File loading now uses generators and lazy iteration.\n  - You can point PyQuery at **hundreds of thousands of files** without a crash.\n- **Partial Globbing Optimization**:\n  - Simple text filters are automatically converted into filesystem-level globs.\n  - Python never even _sees_ irrelevant files.\n\nThe result:\n\n- Faster discovery\n- Lower memory pressure\n- Enterprise-grade robustness\n\nThis engine does not flinch.\n\n### 4. 🛡️ Type Safety (Absolute Order)\n\nPython is dynamic (chaotic). PyQuery imposes **Order**.\n\n- Every step is backed by a **Pydantic Model**.\n- If a `String` tries to infiltrate a `Float` column, it is terminated **before** execution.\n- There are no runtime surprises. Only calculated victories.\n\n---\n\n## 🎮 Choose Your Fighter (5 Paths to Power)\n\nWe don't limit you. Dominate however you choose.\n\n### 📦 Installation\n\n```bash\npip install pyquery-polars\n\n```\n\n### 1. 🌊 The GUI (God Mode)\n\nFor when you want to click things, see pretty charts, and feel like a data scientist in a sci-fi movie.\n\n- **Visual Recipe Builder**: Nodes and edges of pure logic.\n- **Native File Picker**: Accessing the local filesystem directly. No barriers.\n\n```bash\npyquery ui\n# Launches the Web App on localhost:8501 🚀\n\n```\n\n### 2. 💻 The Interactive CLI (Shadow Mode)\n\nFor when you operate in the dark. ☕ This isn't a command line. It's a cockpit.\n\n- **Dynamic Menus**: Use arrow keys to select transforms.\n- **Rich Tables**: Beautiful, colorful ASCII dataframes.\n\n```bash\npyquery interactive\n# Enter the Matrix. 🕶️\n\n```\n\n### 3. 🤖 The API (Headless Beast)\n\nBuilding a machine? Run PyQuery as the engine.\n\n- **Swagger Docs**: Auto-generated at `/docs`.\n- **Async**: Fire and forget jobs via `POST /recipes/run`.\n\n```bash\npyquery api\n# Serving high-performance ETL over HTTP at localhost:8000 📡\n\n```\n\n### 4. ⚡ The Batch Runner (Speedrun)\n\nFor automation. No interface. Just speed.\n\n```bash\npyquery run -s input.csv -r recipe.json -o output.parquet\n# Task complete. ⚡\n\n```\n\n### 5. 🧙‍♂️ The Sorcerer (Python SDK)\n\nFor the developers who want to weave PyQuery into their own code.\n\n```python\nfrom pyquery_polars.backend.engine import PyQueryEngine\n# Full programmatic control over the recipe engine.\n# You are the architect now.\n\n```\n\n\u003e **Pro Tip:**  \n\u003e The CLI now supports multiple boot personalities (Boot Modes).  \n\u003e If you see purple and gold, you’re in **Villain Arc mode** 👹.\n\n---\n\n## 🧰 The Loadout (Arsenal)\n\nPacked with every tool needed to clear the map.\n\n| Category      | The Tools                                            | Why it slaps                            |\n| ------------- | ---------------------------------------------------- | --------------------------------------- |\n| **Cleaning**  | `Fill Nulls`, `Mask PII`, `Smart Extract`, `Regex`   | Turns garbage data into gold. ✨        |\n| **Analytics** | `Rolling Agg`, `Time Bin`, `Rank`, `Diff`, `Z-Score` | High-frequency trading vibes. 📈        |\n| **Combining** | `Smart Join`, `Concat`, `Pivot`, `Unpivot`           | Merge datasets without the headache. 🤝 |\n| **Math**      | `Log`, `Exp`, `Clip`, `Date Offset`                  | For the scientific girlies. 👩‍🔬          |\n| **Text**      | `Slice`, `Case`, `Replace`, `One-Hot`                | String manipulation on steroids. 💪     |\n| **I/O**       | `CSV`, `Parquet`, `Excel`, `JSON`, `IPC`             | Speaks every language. 🗣️               |\n\n\u003e PyQuery doesn’t just scale to enterprise data.  \n\u003e It assumes enterprise chaos — and plans accordingly.\n\n---\n\n## 🧑‍💻 Join the Cult (Developer Guide)\n\nYou want to contribute? Good. We need strong allies.\n\n### The Blooding (Adding a Transform) 🖐️\n\n#### Backend Implementation\n\n1. **Define Params**: Create a Pydantic model (`src/pyquery_polars/core/params.py`).\n2. **Backend Logic**: Write a pure polars function (`src/pyquery_polars/backend/transforms/`).\n3. **Register**: Add your step to `register_all_steps()` in `src/pyquery_polars/backend/engine/registry.py`.\n\n#### Frontend Implementation\n\n1. **Frontend Renderer**: Create a Renderer Function (`src/pyquery_polars/frontend/steps/`).\n2. **Register**: Add your step to `register_frontend()` in `src/pyquery_polars/frontend/registry_init.py`.\n\nIt appears in the CLI, API, and UI **automatically**. 🤯\n\n```python\n# Only certified ballers contribute code.\n# Are you up for it?\n\n```\n\n---\n\n## 📜 License\n\n**GPL-3.0**. Open source forever. 💖\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n_Made with ☕, 🦀 (Rust), and 💖 by [Sudharshan TK](https://github.com/tks18)_\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftks18%2Fpyquery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftks18%2Fpyquery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftks18%2Fpyquery/lists"}