Multi-tenant RBAC & query-optimized APIs just landed in FlowState. Phase 3.2 ships: Membership model + DRF viewsets with explicit tenant isolation. ✅ Dynamic role hierarchy (with_role()) factory pattern ✅ get_queryset() filtering + validate_workspace() defense-in-depth ✅ select_related at the view layer → 0 N+1 queries ✅ Auto ADMIN membership on workspace creation Kept tenant scoping explicit at the API boundary. No implicit model managers that break background workers or admin. Predictable, testable, production-ready. #BackendEngineering #Django #Python #API #SystemDesign #DevOps #OpenSource
FlowState Ships Multi-Tenant RBAC and Query-Optimized APIs
More Relevant Posts
-
Laying the foundation for FlowState API: Multi-tenant Workspace & Project models • UUID primary keys for security & horizontal scaling • RESTRICT cascades to protect owner-data integrity • Composite unique constraints for workspace-scoped slugs • Explicit db_table & index tuning for predictable DB performance • Admin optimized with select_related to kill N+1 queries Trade-off: Keeping tenant scoping explicit at the API layer instead of implicit model managers. Background workers, tests, and Django admin stay predictable while DRF handles request isolation. #Django #Python #BackendEngineering #SystemDesign #DevOps #OpenSource
To view or add a comment, sign in
-
-
Standardizing File Persistence for ML Pipelines 📂 Consistency is the backbone of any reliable production pipeline. I’ve just released 𝚍𝚜𝚛-𝚏𝚒𝚕𝚎𝚜 𝘃𝟮.𝟭.𝟬, focusing on making data persistence as seamless as possible. This release serves as a core dependency for my current orchestration framework, bringing: 🔹Enhanced YAML Handling: Standardized handlers designed to support complex auditing exports and cross-project configuration hydration. 🔹Modern Python Standards: Fully optimized for Python 3.10+ and developed within macOS environments for maximum reliability. 🔹Simplified I/O: A cleaner API for managing raw and processed artifacts in modular machine learning workflows. 🔹Building these tools has been a great exercise in creating highly-decoupled, reusable software components. Onward to more robust ML pipelines! Check out the release notes in the first comment! 👇 𝚙𝚒𝚙 𝚒𝚗𝚜𝚝𝚊𝚕𝚕 𝚍𝚜𝚛-𝚏𝚒𝚕𝚎𝚜 #SoftwareEngineering #PythonDev #MLPipelines #CleanCode #OpenSource
To view or add a comment, sign in
-
Running multiple DAGs in production can be chaos if you don't use an Orchestrator. There comes, Airflow - a workflow orchestrator tool to develop, schedule and monitor batch-oriented workflows. So, I took some time and complete Learning Apache Airflow course from LinkedIn Learning Concepts i covered in the course so far, - Airflow architecture - Airflow DAGs - Creating DAGs with code - Tasks and Dependencies between them - Operators (Bash, Python, SQL and Empty) - Xcoms (Cross communication btw tasks) - Branching - Variables and Config - Taskgroups and Edge Labels - Cron Expressions for Scheduling - Catch up and Backfill Understanding these concepts helps to move fast while building the production grade workflows. #Airflow
To view or add a comment, sign in
-
-
51/60 🚀 #ABTalksOnAI – 60 Days Coding Challenge Day 51 was all about CI/CD + MLOps 🚀 From building models → to automating deployment pipelines. 🧠 What I worked on today: • Built CI/CD pipeline using GitHub Actions • Automated dependency installation • Wrote and executed test cases • Triggered pipeline on every code push • Successfully validated the workflow 📌 Key insights: • CI/CD automates development and deployment • Testing ensures code reliability • Pipelines make systems scalable and efficient • Automation is essential in real-world ML systems This challenge is helping me understand how modern applications are tested, automated, and deployed efficiently. Anil Bajpai ABTalksOnAI #Day51 #AIEngineering #MLOps #CI_CD #GitHubActions #Python #LearningInPublic #BuildInPublic #ABTalksOnAI
To view or add a comment, sign in
-
Road4AI: Building Your First Custom MCP Tool 🛠️ Learn how to extend the Gemini CLI by building a custom MCP (Model Context Protocol) server to automate repetitive local engineering tasks. Why Custom MCP? While Gemini CLI is powerful, your unique workflow often requires specialized tools (e.g., custom database queries, internal API wrappers, or local file parsers). By building local tools, you maintain 100% data privacy and 0% incremental cost. The Road is open. Build the tools you need. 🚀 #Road4AI #GeminiCLI #MCP #Python #Automation #OpenSource #SoftwareEngineering
To view or add a comment, sign in
-
When code runs millions of times a day, even minor enhancements lead to significant compute savings. So I built xmltodict-fast. 🦀🐍 xmltodict is a Python library many of us use without a second thought. With ~5K GitHub stars, it’s a quiet workhorse powering ETL pipelines, SOAP clients, and invoice processors. It’s a drop-in replacement that maintains the same public API, but rewrites the performance-critical sections in Rust using PyO3 and quick-xml. Importantly: if the Rust extension isn't available on a platform, it seamlessly reverts to the original Python implementation. It's completely safe for incremental adoption. local benchmarks : 🚀 parse(): 2.1 × faster on typical XML 🚀 unparse():5.9 × faster (massive for serialization-heavy workflows) On pathologically deep XML (500+ nesting levels), the Rust version is actually slower. :( (Side note: Thanks to my kind and patient AI coding assistant for helping me building this!) If you work with XML in Python, I welcome your feedback, testing, and pull requests! 🔗 Repo & Benchmarks: https://lnkd.in/exhfBuD7 #Python #RustLang #PyO3 #OpenSource #DataEngineering #PerformanceOptimization
To view or add a comment, sign in
-
-
I stopped writing boilerplate backend code manually. Here’s what my workflow looks like now: • Use AI to generate Spring Boot controllers and DTOs • Refine and enforce structure manually • Add tests immediately to validate behavior • Integrate into CI/CD before merging For Python scripts: • Use AI to scaffold data pipelines • Focus my time on edge cases and correctness The real gain isn’t just speed. It’s consistency. Less time rewriting the same patterns More time thinking about system design What’s one repetitive task you’d automate if you could? #AIinEngineering #DeveloperTools #Productivity #Automation #SoftwareEngineering #DevWorkflow #BuildInPublic
To view or add a comment, sign in
-
What I love about LangChain is the spectrum of control it provides. On one end, LangGraph allows for the creation of precise, opinionated workflows with complete control over nodes, edges, and execution flow. On the other end, create_agent offers a simple ReAct loop, while the Deep Agents SDK enhances functionality with built-in planning, file systems, subagent spawning, and long-term memory — all readily available. Both ends are powerful, but there is a gap in the middle. Sometimes, a sequential structure is needed without the complexity of a full graph. Tasks should run in order, each with its own tools and instructions, while the model drives the transitions. This requires a solution that is neither a rigid pipeline nor a free-running loop, but something in between. This is why I developed 𝗹𝗮𝗻𝗴𝗰𝗵𝗮𝗶𝗻-𝘁𝗮𝘀𝗸-𝘀𝘁𝗲𝗲𝗿𝗶𝗻𝗴 for LangChain agents. With this middleware, tasks are defined as data. It scopes tools, injects instructions, enforces ordering, and gates completion, while allowing the model to decide when to progress. There are no hardcoded graph edges. Available for Python and TypeScript: 𝗽𝗶𝗽 𝗶𝗻𝘀𝘁𝗮𝗹𝗹 𝗹𝗮𝗻𝗴𝗰𝗵𝗮𝗶𝗻-𝘁𝗮𝘀𝗸-𝘀𝘁𝗲𝗲𝗿𝗶𝗻𝗴 𝗻𝗽𝗺 𝗶𝗻𝘀𝘁𝗮𝗹𝗹 𝗹𝗮𝗻𝗴𝗰𝗵𝗮𝗶𝗻-𝘁𝗮𝘀𝗸-𝘀𝘁𝗲𝗲𝗿𝗶𝗻𝗴 #LangChain #LangGraph #DeepAgents #AI #Agents #OpenSource #Python #TypeScript
To view or add a comment, sign in
-
API Documentation in Django REST Framework — Simplified with drf‑spectacular Building APIs is easy. Maintaining them at scale? That’s where things get tricky. As teams grow and endpoints multiply, keeping a clear API contract becomes essential. That’s why I explored drf‑spectacular, a powerful tool that turns your DRF code into a clean, OpenAPI‑compliant schema — ready for Swagger and Redoc. In my latest Medium article, I break down: How to set up drf‑spectacular in minutes Why schema generation matters for scaling and collaboration Integrating JWT authentication for secure testing Hiding internal endpoints and documenting complex responses Best practices for production‑ready API docs Think of it as reverse‑engineering your API into documentation. 👉 Read the full article here: https://lnkd.in/dbuTaNym #Django #DRF #API #Documentation #OpenAPI #Swagger #Redoc #Python #BackendDevelopment
To view or add a comment, sign in
-
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