I’ve been polishing a personal project called ExcelAlchemy, and it’s now at its first stable public release: 2.0.0. ExcelAlchemy is a schema-driven Python library for Excel import/export workflows. It turns Pydantic models into typed workbook contracts: generate templates, validate uploads, write failures back to rows and cells, and keep workbook-facing output locale-aware. A lot of the work in this project was not just about making it work, but about making it feel like a real library: - modern Python typing and stricter static analysis - a cleaner validation pipeline around Pydantic v2 - protocol-based storage boundaries - pandas removed from the runtime path - contract tests, Ruff, Pyright, and release-focused documentation I also treated the repository as a design artifact: not just code, but a record of architectural tradeoffs, migration strategy, and package design decisions. Repo: https://lnkd.in/gV9jC87W #Python #OpenSource #Pydantic #ExcelAutomation #SoftwareArchitecture #DeveloperTools
ExcelAlchemy 2.0.0: Python Library for Excel Import/Export Workflows
More Relevant Posts
-
Built something this weekend. Introducing RAGPipe. Every RAG project starts the same way. Ingest data, chunk text, generate embeddings, store in a vector DB, then query. And somehow you end up stitching 4 to 5 libraries with hundreds of lines of boilerplate just to get started. So I built RAGPipe. An open-source library that makes RAG simple. - ragpipe.ingest("./docs") - ragpipe.query("your question") - ragpipe.Pipeline() Simple by default, flexible when you need control. What makes it useful: Zero config Auto detects Ollama, OpenAI, or sentence-transformers. No API keys needed to start. YAML pipelines Define your flow in a YAML file and run it with one command. CLI built for developers Clean output with progress bars and status feedback. Works with Qdrant, Pinecone, or even a JSON file for local testing. Built during Moat Weekend. Replacing scrolling with building. If you are working with LLMs, this might help. -> pip install ragpipe[cli] Opensource at https://lnkd.in/gyu_4UBr What are you building this weekend? #MoatWeekend #BuildInPublic #RAG #LLM #Python #OpenSource
To view or add a comment, sign in
-
The Secret to Clean Code: Snake Case 🐍 Have you heard about snake variable 🐍? If you are diving into Python or working within a team of developers, you’ve likely seen variable names like 'user_login_count' or 'total_price_usd' This specific style—where words are written in lowercase and joined by underscores is known as snake_case. Why does it even matter? In the world of coding, readability is just as important as functionality. Here is why snake case is a standard for many: Readability—It mimics natural spacing, making it easy for the human eye to distinguish separate words at a glance. Context— Instead of vague abbreviations like ua, using "user_age" tells anyone reading your code exactly what data is being stored. Consistency— Following naming conventions ensures that a large codebase remains professional and maintainable, whether you're working solo or with a global team. Writing clean code is a form of professional etiquette. It respects the time of your future self and your colleagues. What’s your preferred naming convention? Let’s discuss below! 👇 #Python #CleanCode #ProgrammingTips #DataScience #WebDevelopment #TechCommunity
To view or add a comment, sign in
-
-
Built an AI-Powered Code Review Tool using Python Excited to share my latest project — a Python-based static code analysis tool that evaluates code quality using AST (Abstract Syntax Tree). This project helped me understand how real-world code quality tools work. ✨ Key Features: ✅ Code Quality Score (0–100) ✅ Grade System (A/B/C/D/F) ✅ Cyclomatic Complexity Detection ✅ Security Issue Detection (eval, exec) ✅ Unused Import Detection ✅ Multi-file Project Analysis ✅ Interactive Dashboard (Streamlit UI) Tech Stack: Python | AST | Streamlit | Pandas 📌 What I Learned: - How static code analysis works - Writing modular and scalable code - Using AST for deep code inspection - Building real-world projects 🔗 GitHub Repository: https://lnkd.in/d5uWREqv 💬 Would love your feedback and suggestions! #Python #AI #Coding #Developer #GitHub #Projects #SoftwareEngineering
To view or add a comment, sign in
-
https://lnkd.in/d_sZXwj9 ScriptYT turns any YouTube video into an intelligent knowledge base — paste a URL, and our RAG pipeline instantly extracts, chunks, and vectorizes the transcript using Google Gemini embeddings so you can ask anything and get real-time, cited answers streamed back in seconds. Built on a Python microservice architecture with a precision-engineered Dark Industrial UI, it's not a summarizer — it's a semantic search engine for video content. Try ScriptYT and never scrub through a video again.
To view or add a comment, sign in
-
I shipped a model to a production server and it crashed within five minutes. Wrong Python version. A library I had not pinned had updated overnight. The model worked perfectly on my machine. That was the day I learned Docker is not optional for ML deployment. Here is the complete Dockerfile for a FastAPI ML model, every line explained, plus the four mistakes that will cost you hours if you skip them. The one thing that took me too long to understand: the order of COPY and RUN in a Dockerfile changes how long every single build takes. Copy requirements.txt first, run pip install, then copy your code. That single reordering takes builds from minutes to seconds on every code change. The other thing nobody mentions: always add .dockerignore before your first build. Without it, Docker sends your entire project into the image including your datasets. Swipe through for the complete setup including multi-stage builds and a mistake checklist. What was the most painful deployment problem you have hit with a containerised model? #Docker #MLOps #Python #MachineLearning
To view or add a comment, sign in
-
3 RAG chunking strategies. 2 cost the same. 1 costs double. Here's why 👇 Building my own RAG pipeline, I hit a wall. Everyone talks about WHAT chunking is. Nobody talks about WHERE the money goes. Here's what I figured out: 💰 The $ only comes from ONE place — the embedding model API call. Splitting → FREE (plain Python) Storage in FAISS/CSV → FREE Embedding API call → costs money Ingestion → ONE TIME cost only Semantic costs 2x because it calls the embedding API twice: → Once to find topic shifts → Once to store vectors in FAISS Rule of thumb: Start with Document Aware. Upgrade to Semantic only when your data has no clear structure. Ingestion cost = one time only. Query cost? That's a whole different story. 🔜 Follow so you don't miss it. Which chunking strategy are you using? Drop it below 👇 #RAG #AIEngineering #DataEngineering #LLM #Python #VectorDatabase #OpenAI #LangChain #Claude
To view or add a comment, sign in
-
-
This week I spent 2 hours debugging a pipeline that broke because of a subtle mutable default argument. Last week I finished DataCamp's "Intermediate Python for Developers" - and guess what chapter was in there. Funny how that works sometimes. A few takeaways that'll stick with me: • Mutable defaults are a trap, even for people who "know Python" • Decorators aren't magic - they're just functions returning functions (but the mental model matters) • Comprehensions > loops, until they don't fit on one screen anymore Working with Python daily on dbt models, and data transformations, it's easy to get comfortable in a narrow slice of the language. Stepping back to revisit the fundamentals consistently makes my production code cleaner. What's your approach - do you block time for structured learning, or learn purely on the job? #Python #DataEngineering #LearningInPublic
To view or add a comment, sign in
-
-
🚀 Day 3 of #14DaysOfPython 🐍 Today’s focus: Loops (Iteration Mastery) — where automation really begins. 💡 Easy way to understand loops: 🔹 Why loops? 👉 When you need to repeat a task multiple times instead of writing code again and again 💡 Core Concepts (Logic First): 🔹 for loop vs while loop for → when you know how many times to run while → when condition decides 🔹 range() variations range(n) → 0 to n-1 range(start, end) range(start, end, step) 🔹 Loop control break → stop loop immediately continue → skip current step pass → do nothing (placeholder) 🔹 Infinite loop ⚠️ 👉 Happens when condition never becomes false 🔹 Iteration patterns 👉 Numbers, strings, lists — everything can be looped 🧠 Problems I practiced: Sum of digits Reverse a number Factorial Count occurrences ✨ Key takeaway: Loops are not about syntax — they are about thinking in repetition and patterns. Day 3 done ✅ Moving to Day 4 💪 #Python #HackerRank #CodingJourney #LearningInPublic #ProblemSolving #DeveloperJourney #100DaysOfCode#codegnan
To view or add a comment, sign in
-
-
Most developers use __init__ every day. But here’s the catch: We use it so often that we stop questioning how objects are actually created. And that’s where __new__ quietly gets ignored. The truth is: 👉 __𝐧𝐞𝐰__ creates the object 👉 __𝐢𝐧𝐢𝐭__ initializes the object Python doesn’t create objects in one step. It happens in two phases: 1️⃣ Memory is allocated → __new__ 2️⃣ Object is configured → __init__ A quick example: class Example: def __new__(cls): print("Creating instance") return super().__new__(cls) def __init__(self): print("Initializing instance") obj = Example() 𝘖𝘶𝘵𝘱𝘶𝘵: Creating instance Initializing instance Here’s the part most people never think about 👇 You’ve probably never written __new__. Yet your objects still get created perfectly. Why? Because Python is already doing this behind the scenes: obj = MyClass.__new__(MyClass) MyClass.__init__(obj) And if you don’t define __new__, Python uses: object.__new__() We treat __init__ like a constructor. But technically… it isn’t. 👉 𝑻𝒉𝒆 𝒓𝒆𝒂𝒍 𝒄𝒐𝒏𝒔𝒕𝒓𝒖𝒄𝒕𝒐𝒓 𝒊𝒔 __𝒏𝒆𝒘__. ⚡ Why __new__ matters: - Controls object creation - Used in Singleton patterns - Important for immutable types (int, str, tuple) - Can even return a different object ⚡ What __init__ actually does: - Just initializes the already-created object - Cannot create or return a new instance - Always returns None 💡 Real takeaway: We rely on __init__ so much that we rarely think about what happens before it. Understanding __new__ is what shifts you from: 👉 writing Python code to 👉 understanding how Python actually works Once you see it, you can’t unsee it 🙂 #Python #PythonProgramming #SoftwareDevelopment #BackendDevelopment #Coding #Programming #LearnToCode #DeveloperMindset #TechCareers #SoftwareEngineer #CleanCode #ProgrammingConcepts
To view or add a comment, sign in
-
-
My first trained model sat in a Jupyter notebook for two weeks. I had no idea how to let anyone else use it. That is the gap between knowing ML and doing ML engineering. Knowing how to serve a model is a different skill from knowing how to train one. Here is how to go from a saved model file to a live REST API in under 30 lines of Python. The key insight that took me too long to learn: never load the model inside the endpoint function. Load it once on startup. Every call after that is instant. FastAPI also generates an interactive docs page automatically at /docs. Zero extra work. Point anyone at the URL and they can test your API from the browser. Four things to add before real traffic: input validation beyond types, request logging, structured error handling, and a /health endpoint for your load balancer. Swipe through for the complete code. What was your first production ML deployment? Flask, FastAPI, something else? #Python #FastAPI #MLOps #MachineLearning
To view or add a comment, sign in
More from this author
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development