✅ Before you push your FastAPI project to GitHub, here are 4 habits that will save you from problems down the line. 1️⃣ Always activate your virtual environment before working It takes two seconds. Skipping it causes dependency chaos that takes two hours to fix. 2️⃣ Use deactivate when you are done A small but clean habit. Just type deactivate in your terminal to exit the environment. 3️⃣ Keep your .gitignore updated 🙅 At a minimum, exclude: - Your virtual environment folder - .env files with secrets - __pycache__ directories 4️⃣ Document as you build 📝 A good README is not just for open source projects. Even for personal or team projects, it is the difference between returning to your code after two months and being completely lost. 💡 The developers who build clean, well-documented projects are the ones others actually want to collaborate with. Start small. Document your setup steps. Add a requirements.txt. Write a README. These habits compound over time. 📈 What is one project setup habit that has made the biggest difference for you? Drop it in the comments. 👇 #SoftwareDevelopment #Python #CleanCode #DeveloperTips #FastAPI
FastAPI Project Setup Habits to Avoid Problems
More Relevant Posts
-
🚀 A Major Update is Coming to CodeAlive (Live in 3–4 Days!) I honestly started CodeAlive as a small platform with a simple goal in mind — to let my code snippets live over the internet with support for custom sharable links. But seeing how far it has come now, evolving into a platform with so many useful and smart features for everyone, has been incredibly exciting. 🌐 CodeAlive – https://lnkd.in/gnthhf_b 👉 Also, you can click "View My Website" on my profile to visit the platform. What’s Coming Next ⏭️ CodeAlive is soon introducing: **Multi-Language Detection & Highlighting in a Single Code File** Problem: Almost every code-sharing platforms and online editors are built around one assumption: 1 File = 1 Language But real-world development is rarely that simple. Developers often share: ✅ Frontend + Backend snippets together ✅ Embedded scripts/styles ✅ Configurations with code ✅ Multi-language examples in one paste And when platforms force a single language highlight, readability suffers. With This New Update, CodeAlive Will Support ✅ Detecting multiple languages within one pasted code file ✅ Highlighting different sections based on actual context/language ✅ Making mixed-language snippets cleaner, smarter, and easier to read This has been one of the most exciting features to work on so far, and I can’t wait to share the full implementation details once it officially goes live. 📅 Expected Release: 3–4 Days Stay tuned 👀 More technical insights coming soon... #CodeAlive #BuildInPublic #Programming #SoftwareDevelopment #DeveloperTools #WebDevelopment #Python #JavaScript #StartupJourney
To view or add a comment, sign in
-
-
If you're building with the GitHub Copilot SDK, your app talks to a Copilot CLI process over JSON-RPC, but you don't actually have to manage that CLI binary yourself 🤔 You can either: 1️⃣ Point to a local CLI binary, or 2️⃣ Connect to a remote CLI server Both work well, but they assume someone has set up the CLI beforehand. There's a 3️⃣rd option 👉 Bundle the CLI with your app 📦 Every SDK (Node, Python, Go, .NET) supports shipping the CLI binary as part of your application's package. Your users don't install, or configure anything. Node, Python, and .NET include the CLI as a separate file in the npm/pip/NuGet package Go SDK takes this further 🚀 ➡️ Install the go tool bundler: go get -tool https://lnkd.in/gBEnfBYF ➡️ Run go tool bundler before your build: the CLI gets embedded directly into your compiled binary using Go's embed package. Your app is now a single binary with zero external dependencies You can also pin a specific CLI version: go tool bundler --cli-version X.Y.Z I will also plan to update the FlightLog and TimeTracker app (built on top of Azure Cosmos DB) with this new approach. Here is a quick demo and links are in the comment 👇 #DeveloperTools #AI #Golang
To view or add a comment, sign in
-
🚀 Setting up a FastAPI backend does not have to be complicated. I recently documented a clean, beginner-friendly setup guide for a FastAPI project and I want to break it down so you can follow along, whether you are just starting out or looking to standardize your workflow. Here is what a well-organized FastAPI project typically looks like: 📁 your-project/ ├── environmentfoldername/ (virtual env, excluded from Git) ├── main.py (your FastAPI app) ├── requirements.txt (your dependencies) └── README.md (your setup guide) Simple. Predictable. Easy to hand off to a teammate. 💡 The key insight: a clean project structure is not about being fancy. It is about saving your future self (and your team) from confusion at 11pm before a deadline. If you are building Python backends, FastAPI is one of the fastest ways to get a production-ready API running. And the setup takes less than 10 minutes once you know the steps. Follow along this week as I break down the full setup, step by step. 👇 #FastAPI #Python #BackendDevelopment #WebDevelopment #SoftwareEngineering
To view or add a comment, sign in
-
I open-sourced 𝗱𝗲𝗰𝗸 — think docker-compose, but for your whole local dev stack, not just containers. It started as a Makefile + shell scripts I built for onboarding a Go+React monorepo — postgres, keypair generation, DB setup, migrations, services with log tailing and cleanup. One command to start everything. Worked well, totally hardcoded to one project. I looked at the result and thought: this should be a real tool. 𝗱𝗲𝗰𝗸 𝘂𝗽 — one YAML config, one command: • Deps with multi-strategy fallback (docker → brew → whatever) • Idempotent bootstrap with interactive prompts for first-time setup • Service dependencies with readiness checks (depends_on + ready) • Env vars from strings, shell scripts, or structured files (JSON/YAML/TOML/INI) • Colored log tailing, crash recovery with auto-restart • deck.local.yaml for personal overrides — you use docker, I use brew Also: deck doctor to diagnose your stack, deck run api -- goose up for one-off commands in a service's context, selective targeting (deck up api webapp), and stack-aware deck init that detects your project type. Single Go binary, ~2500 LOC, 7 releases. Available via Homebrew. Built with Claude Code handling implementation and Codex running execution and review passes on chunks of work. I focused on design and architecture. Honest take: the velocity is wild, but you still need to know what you're building and catch what it gets wrong. Named after the cyberdeck from Shadowrun 🤖 https://lnkd.in/dRhUvhg3
To view or add a comment, sign in
-
DevLog Day 28 Today I solved one Neetcode Problem Called Daily Temperature. In this problem you have given an array where each element defines temperature of a ith day. You have to calculate the warmth day coming in future from current day and return those calculated days in array. If there is no day which is warmth from current day in future by default it should be 0. The brute force solution for this problem is very easy basically you have to use two loops first from ith and second nested loop will start from 1 step ahead of i. Each iteration of second loop calculates first warmth day from current and loop breaks and it will count the number of day by simple calculation of j - i. Append the days in result array and return. This solution has O(n2) TC and O(n) SC. But Better approach requires O(n) TC which what makes it difficult. The solution is to use stack to track each day and check if the current day is greater than the top result in stack. If it is calculate the days and append it in result array. This solution only takes O(n) TC. Later I started exploring Django Framework as I am already learning DSA using python I thought learning django will help me build backend systems faster and once I learn system design I could build scalable systems. Recently I made my hands dirty with Nestjs (Not Nextjs) but the learning curve of nestjs is very difficult and new for me. I already learnt django before so it will not be as difficult as learning Nestjs (I think so). #DevLog #BuildInPublic #DSA #NeetCode #Stack #LearningInPublic #IndieHacker #WebDevelopment
To view or add a comment, sign in
-
We analyzed 790 CLAUDE.md files from GitHub. Not hand-picked examples. Real files from real repos — C++, Go, Python, TypeScript, Terraform, Rust, and 4 non-English languages. Here's what the data actually says: Structure convergence is real. → 65% of multi-section files start with Identity then Commands → 92% use code blocks (the single most consistent pattern across all domains) → The canonical structure: Identity → Commands → Architecture Brevity correlates with quality. → Median file: 4,536 characters (~100 lines) → Files under 5K chars pass quality assessment at 2x the rate of files over 8K → 86% stay under 300 lines → The 14% that exceed it are project diaries or status trackers, not config files What surprised us most: → MUST/NEVER emphasis markers are rare — under 10% of files use them (our smaller sample had overestimated this) → Non-English files (11% of corpus) follow identical structure patterns — the template is language-agnostic → The highest-scoring file is just 63 lines and 2,502 characters (a Go CLI tool) What developers actually put in CLAUDE.md: → 54% lead with project identity → 30% put commands second → 18% include naming/style conventions → 14% have formal constraint sections The takeaway that surprised me: The best CLAUDE.md files look nothing like comprehensive documentation. They look like a one-page cheat sheet a senior dev would hand a new team member on their first day. Short. Specific. Structured. The worst files read like READMEs, project diaries, or wish lists of how they want AI to behave. What does your CLAUDE.md look like — a cheat sheet or a diary? #AIEngineering #DataDriven #ClaudeCode #DeveloperExperience #CodingAssistants
To view or add a comment, sign in
-
-
Writing commits can be tedious. Review the files you changed, think about what actually happened, come up with a message that makes sense; and do that every single time you commit. It adds up. I'm a big fan of Conventional Commits, and I wanted to build something that helps people keep using it without wasting time thinking about the perfect message every single time. So I built gitai. 🚀 gitai reads your staged git diff, calls your configured LLM, and gives you 3 commit message suggestions to pick from. That's it. You stage your changes, run gitai, and it gives you something like: feat(auth): add JWT refresh token rotation Some things worth knowing: - Supports Ollama, run it fully local, no API key needed - Also works with OpenAI, Anthropic, and Gemini - Two commit styles: Conventional Commits or free-form - Optional gitmoji support - Config lives in a simple TOML file (~/.gitai.toml) It's open source, it's on PyPI, and I use it every day. pip install gitai-cli GitHub: https://lnkd.in/gEk3AYPM PyPI: https://lnkd.in/gyibCB8H If you try it, let me know what you think. PRs and issues are very welcome. 🙌 #Python #OpenSource #DevTools #Git #CLI
To view or add a comment, sign in
-
-
Finding the right issue to start with in open source is still surprisingly hard. OpenCollab MCP — an MCP server that plugs into Claude and helps find open source issues matched to your skills. What it does: → Reads your GitHub profile via API — languages, repos, contribution patterns → Finds "good first issue" / "help wanted" filtered to your stack → Checks if the issue is still unclaimed (no assignees, no open PRs) → → Scores repo health — last commit, PR merge rate, contribution guidelines, CI setup → Generates a PR plan with full issue context Built as an MCP server in Python, so it works natively inside: Claude Desktop, Cursor, and VS Code. No separate UI. No extra AI cost. Just GitHub’s free API + Claude doing the reasoning. Still early — lots of improvements needed. Feedback, ideas, and contributions welcome. GitHub repo: https://lnkd.in/gzGzJVye #OpenSource #MCP #Python #ClaudeAI #BuildInPublic #ModelContextProtocol #llMs #GithubAPI #CodingCommunity #100DaysOfCode #CursorAI #ClaudeDesktop
To view or add a comment, sign in
-
-
Devlog Day 30 Today I revisited a question "Two Sum II" which is a very simple problem until you know the approach. The difference between Two Sum and Two Sum II is in Two Sum II the array is sorted and you have to solve the problem with O(n) TC and O(1) SC. Using two pointer approach you can solve this question. In brute force we use nested loops which loops through entire array to check if the sum of nums[i] and nums[j] equals to target. Else continue. It takes O(n2) TC and O(1) SC as we are not using any extra space for solution. In better approach we use two pointers by taking advantage of sorted order of array. We start from first and last pointer and check if the sum of them equals to target. If the sum is less we move left pointer else right. The problem in itself is not that hard but I am started analysing the pattern of such questions like if you have sorted array and want to find any element or perform any operation it is most likely targetting binary search and two pointers. Anyways later I continued my django course and today I learnt static files handling when your code is in production and even wrote a command script. Django lets you write your own command and you can access that command using python manage.py <command_name>. It really helps when you are containerizing your code and want to automate some processes like fetching static files from third party cdn and load it in locally so you dont have to request api for every reload. #DevLog #BuildInPublic #DSA #NeetCode #Stack #LearningInPublic #IndieHacker #WebDevelopment #Django #Coding #Development #Explore
To view or add a comment, sign in
-
I used to think backend development was complicated. Too many concepts. Too much setup. It felt difficult to move from theory to actually building something real. Then I started learning FastAPI. This time, I didn’t just watch tutorials. I focused on building. - My Journey with FastAPI As a Python developer, FastAPI felt simple, fast, and practical from the start. It helped me understand how backend systems actually work instead of just learning concepts. - Why FastAPI? - High performance - Clean and easy syntax for Python developers - Built-in validation using Pydantic - Automatic API documentation with Swagger UI - What I’ve learned - Building REST APIs using GET and POST methods - Handling request and response data - Using Pydantic for data validation - Testing APIs using interactive Swagger documentation - What I’ve built I built backend projects using FastAPI where I created API endpoints, validated data, and tested everything through auto-generated docs. This hands-on experience helped me connect theory with real-world development. Working with FastAPI has improved my confidence in backend development and made me more comfortable building practical applications. If you are learning development and feel stuck, try building something instead of only consuming content. I would love to know what you are currently working on. #FastAPI #Python #BackendDevelopment #WebDevelopment #LearningInPublic
To view or add a comment, sign in
-
Explore related topics
- Building Clean Code Habits for Developers
- Coding Habits for Faster Software Deployment
- Writing Clean Code for API Development
- Coding Best Practices to Reduce Developer Mistakes
- GitHub Code Review Workflow Best Practices
- Steps to Follow in the Python Developer Roadmap
- How to Add Code Cleanup to Development Workflow
- How To Prioritize Clean Code In Projects
- Tips for Continuous Improvement in DevOps Practices
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