🚀 Progress on fastapi-maker! I went from version 0.0.1 (just a placeholder on PyPI) to 0.1.1 with two functional commands: fam init → generates the base project structure (FastAPI + Alembic + .env + DB config) fam create <entity> → creates complete modules: ORM model, DTOs, repository, service, and router (already integrated into the app!) It's still in development, but it already allows you to launch CRUD APIs in seconds, with less boilerplate and more focus on logic. In addition already has integration with Alembic and its migration system! I'll soon continue improving the codebase files, help with API documentation, and much more. #FastAPI #Python #DeveloperTools #OpenSource #Backend #API #CLI #Automation
Fastapi-maker: From 0.0.1 to 0.1.1 with CRUD APIs
More Relevant Posts
-
🚀 FastAPI-Maker 0.2 is here! Been dealing with some health stuff that slowed me down, but I'm finally getting back into coding rhythm. Here's what's new in this release: What's better in 0.2: • Full documentation - proper docstrings everywhere • English-only codebase - variables, methods, classes • Complete CRUD operations with proper error handling • Separate DTOs for in, out and update • Better Swagger docs with examples and validations • Proper dependency injection setup • Type hints and Pydantic v2 support What I'm thinking about next: • Making migrations automatic (tired of typing alembic commands manually) • Adding custom fields to entities more easily • Simplifying relationships between entities #FastAPI #Python #DeveloperTools #OpenSource #BackendDevelopment #API #CLI #Programming #CodeGenerator
To view or add a comment, sign in
-
-
🚀 FastAPI Tip — Control What Shows in Swagger Using include_in_schema By default, every FastAPI route appears in the auto-generated docs (/docs & /redoc). But in real-world projects, not everything should be visible. You may have routes like: 🔹 Internal/utility endpoints 🔹 Health checks 🔹 Admin-only actions 🔹 Webhook receivers For such cases, FastAPI gives us a simple switch: include_in_schema=False. It allows the route to work as normal, but hide it from Swagger UI and ReDoc, keeping your public API clean and minimal. When to use include_in_schema=False? ✔ Private/internal endpoints ✔ Security-sensitive routes ✔ Endpoints not part of your public API contract A tiny flag… but it keeps your API docs clean, organized, and secure. 🧹✨ #FastAPI #Python #Swagger #OpenAPI #BackendDevelopment #APIDesign
To view or add a comment, sign in
-
-
Excited to announce v5 of my PyQt framework is now on GitHub! v5 brings major improvements over previous versions: - Cleaner separation of concerns – cleaner() handles input normalization, while widget_verifier() converts strings to widget instances and verifies attributes. - Advanced logging – advanced_log() tracks file, class, and function for every log message. - Flexible input handling – accepts both string keys and widget instances. - Attribute verification – ensures widgets have all expected attributes. Note: verifier.py is still under construction, but the foundation is in place. Check it out here: 🔗 PyQt-framework v5 #Python #PyQt6 #SoftwareEngineering #OpenSource #FrameworkDevelopment #CleanCode #Logging #DeveloperTools #SoftwareArchitecture #PythonDevelopers #Coding #WIP
To view or add a comment, sign in
-
Recently, svglib was upgraded from 1.5.1 to 1.6.0 after nearly 2 years — bringing some major changes. Unfortunately, this update caused unexpected issues with pycairo, a dependency of svglib. Issue - https://lnkd.in/g5SckgiY In our setup, we were using confluence-reader from llama-index, which internally depends on svglib for parsing SVGs. The dependency was pinned as: svglib>=1.5.1,<2 allowing minor updates but not major ones. However, svglib introduced breaking changes in 1.6.0 itself, which ended up breaking our CI/CD pipeline when installing llama-index-readers-confluence. To tackle this, I first raised an issue with the llama-index team and proposed making SVG parsing optional — since many users may not need it. The idea was to allow installation like this: pip install llama-index-readers-confluence[svg] or without the extra if SVG support isn’t required. You can check out the PR here 👉 https://lnkd.in/gyiszNQe However, the maintainers preferred not to introduce an optional extra, as it might create friction for existing users. Instead, they suggested pinning the exact svglib version that works reliably — which is what we ultimately did, and it got merged. ✅ But it got me thinking — Is pinning dependencies the best long-term solution, or should we be pushing for more modular/optional integrations in such cases? Would love to hear your thoughts — how do you usually handle dependency breakages like this in your projects? 💭 #OpenSource #LlamaIndex #Python #Pycairo #PackageManagement #Ubuntu
To view or add a comment, sign in
-
Day 56 – Raising Your Own Exceptions Sometimes it’s you who needs to throw the red flag 🚩 Use raise to enforce your own rules. def withdraw(amount): if amount <= 0: raise ValueError("Withdrawal amount must be positive!") print(f"Withdrawing ${amount}") withdraw(-50) 🧠 Output: ValueError: Withdrawal amount must be positive! 💡 Proactive exceptions prevent bigger bugs later. This is how real-world apps maintain data integrity and user safety. 👉 Where would you use a custom exception in your code? #Python #Debugging #CleanCode #DeveloperLife
To view or add a comment, sign in
-
🐯 TigerByte Update The TigerByte Interpreter just got smarter! 🎉 Our latest PR introduced version and about commands — making it easier for users to view interpreter info directly from the CLI or inside .tb scripts. This update improves usability and reflects the collaborative spirit that drives open source. A special shoutout to a potential co-maintainer whose PR stood out for both code quality and user impact — it’s exciting to see contributors step up and shape TigerByte’s growth! Every contribution, big or small, helps make TigerByte stronger, more professional, and more community-driven. 💻 Explore the repo: https://lnkd.in/g9Zidd2m #OpenSource #Python #DeveloperCommunity #TigerByte #100DaysOfCode #Collaboration 🐯 TigerByte Update The TigerByte Interpreter just got smarter! 🎉 Our latest PR introduced version and about commands — making it easier for users to view interpreter info directly from the CLI or inside .tb scripts. This update improves usability and reflects the collaborative spirit that drives open source. A special shoutout to a potential co-maintainer whose PR stood out for both code quality and user impact — it’s exciting to see contributors step up and shape TigerByte’s growth! Every contribution, big or small, helps make TigerByte stronger, more professional, and more community-driven. 💻 Explore the repo: https://lnkd.in/g9Zidd2m #OpenSource #Python #DeveloperCommunity #TigerByte #100DaysOfCode #Collaboration
To view or add a comment, sign in
-
I was so frustrated watching my Mac's disk space vanish into node_modules folders everywhere. So I decided to build something about it. I created a Python CLI called cleanup-nodemodule that recursively finds and removes build artifacts like node_modules, .next, and dist folders. The best part? It's completely safe by default with dry-run mode. This is also my first PyPI package. Thanks to AI, I figured out the entire publishing workflow so other devs can actually install and use it with pip. Honestly, publishing to PyPI felt intimidating, but breaking it down step by step made it doable. How to use it pip install cleanup-nodemodule # Safe dry-run first (shows what would be deleted) cleanup-nodemodule -p /path/to/project # Actually delete (when you're ready) cleanup-nodemodule -p /path/to/project --no-dry-run It's simple, safe, and saves a ton of disk space. I tested it on macOS and it works smoothly. If you try it and find bugs, please let me know or contribute. What other folders should I add? Thinking .turbo, .cache, .vercel, coverage. For more instruction click on comment link #python #javascript #nodejs #react #cli #opensource #devtools #productivity #firstproject #learning #ai #developer #coding
To view or add a comment, sign in
-
-
#2_Gamenex_Batch_Rename_Tool Gamenex Batch Rename Tool is a desktop application developed with Python and PyQt5, built to simplify batch file renaming. The tool enables users to rename multiple files at once with a single click, making it ideal for game modding, file management, and daily workflow automation. Key Features: -Drag & drop file/folder support -Prefix renaming customization -Works with all file types (.cpk, .bin, .png, .jpg, .txt, etc.) -Batch processing for files and folders -Modern, user-friendly GUI (PyQt5) -Includes custom icon and copyright Technology Stack: -Python 3.12 -PyQt5 (GUI framework) -OS & Pathlib (file handling) -PyInstaller (for executable packaging) Usage Example: Enter desired prefix (e.g., Mod2025_) Drag and drop files/folders Click Rename All to apply changes automatically Purpose: This tool streamlines repetitive file organization tasks, helping modders and developers manage large projects efficiently.
To view or add a comment, sign in
-
-
A few weeks ago, a client complained that their dashboard took 10+ seconds to load data from an external API. The backend logs showed nothing unusual — requests completed successfully, just painfully slow. After profiling the system, the real issue became clear: The app was making multiple sequential API calls, waiting for each one to finish before starting the next. So even though each API took ~1s to respond, ten requests meant 10 seconds total delay. Here’s how we fixed it: 1. Introduced concurrency Used async requests (via Python’s aiohttp / Node’s Promise.all) to send all API calls at once. 2. Added caching layer Stored repeated responses temporarily to avoid redundant API calls. 3. Set timeouts + graceful fallback If one API slowed down, it wouldn’t block the entire page — users still got partial results fast. Result: Load time dropped from 10.4s → 1.3s, and user retention went up by 18%. Lesson: Performance isn’t always about the server or database. Sometimes, it’s about how and when you ask for data. #WebPerformance #APIOptimization #AsyncProgramming #SoftwareEngineering #BackendDevelopment #FullStackDevelopment #SystemDesign #TechLeadership
To view or add a comment, sign in
-
-
Why FastAPI is a Game-Changer for Modern Backends When I first tried FastAPI, I expected “just another Python framework.” But what I found changed how I build and think about APIs completely. Here’s why, 1. Speed — for both devs and servers Built on Starlette and Pydantic, FastAPI is blazingly fast, not just in response time, but also in development time. Type hints and automatic validation mean fewer bugs, less boilerplate. 2. Documentation that writes itself Every endpoint you define comes with interactive Swagger and ReDoc docs. No more separate Postman collections, your API explains itself. 3. Async support out of the box Concurrency is native. You can handle multiple requests at once without complex thread management. Perfect for high-performance apps, microservices, or real-time APIs. 4. Type safety = fewer surprises Your IDE becomes your debugging buddy, auto-suggestions, validation, and error catching before runtime. 5. Great fit for modern stacks From ML inference APIs to microservices and even serverless functions, FastAPI scales with you, not against you. #FastAPI #Python #BackendDevelopment #WebDev #APIs #TechLeadership
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