#CodeQuality of the lazy developer 🛠️ Updating an educational #Python repo, I looked into what to automate for code quality. 🔮 Spoiler: I landed on uv, ruff, pyright and pre-commit. In the article: the picks, why, and the make patch that broke on the first try 😄 https://lnkd.in/dQAw9gY9 #DiaryOfALazyDeveloper #pytest #ruff #pyright #uv
Alessandra Bilardi’s Post
More Relevant Posts
-
I once spent 2 hours debugging a config issue. The token was right. The host was right. Yet nothing worked. Turns out? I had 3 separate config objects running in the same app , each with its own state. That day, I truly understood the Singleton pattern. The idea is simple: one class, one instance, shared everywhere. No duplication. No inconsistency. One single source of truth. It's not magic , it's discipline baked into code. Swipe through the carousel to see how it works, a real-world analogy, and a clean Python implementation. #DesignPatterns #CleanCode #SoftwareEngineering #Python #web
To view or add a comment, sign in
-
Some Python in Excel users I talked to burned through their monthly quota in 4 days. Which is why they're now running on xlwings Lite. To make the migration easier, you can now "Import PiE" in xlwings Lite. This pulls everything into the xlwings Lite notebook, where you can refine it and turn it into scripts and custom functions if you like. #pythoninexcel #python #microsoftexcel #xlwings
To view or add a comment, sign in
-
-
I am thrilled to announce the release of the Switcher Client SDK for Python — bringing the full power of Switcher API to the Python ecosystem. Everything you love about Switcher SDKs, now in Python: ⚡ Lightweight & blazing fast — best raw performance compared to other feature flag vendors 🧩 Feature-rich — the complete set of features you'd expect from any Switcher SDK 🛠️ Developer-first — easy to use, flexible, and designed around your workflow 🧪 Test-friendly — built-in test tools so your tests stay clean and reliable 👉 Check it out! Link in the comments. #python #featureflags #opensource #sdk #devex #switcherapi
To view or add a comment, sign in
-
-
Debugged a small issue today while building a Python grade analyzer. My highest/lowest logic was correct, but misplaced inside a conditional, so it didn’t run for every case. Moving it to run on each loop iteration fixed the problem. A good reminder that correct logic still depends on correct structure.
To view or add a comment, sign in
-
Killpy Launches Unified CLI for Python Environment Cleanup 📌 Killpy revolutionizes Python dev cleanup by unifying environment deletion across 11 package managers - from Conda to Pipenv - in one CLI. It smartly targets obsolete artifacts while sparing active setups, slashing disk bloat with zero-risk automation. Perfect for devs drowning in 10–40GB of stale virtual environments. 🔗 Read more: https://lnkd.in/d4n_iGqk #Killpy #Python #Cli #Virtualenvironment #Packagemanager
To view or add a comment, sign in
-
Shipping Python 3.14 and suddenly every FastAPI endpoint throws NameError? ⚠️ PEP 649 defers annotation evaluation — great until your framework tries to resolve TYPE_CHECKING imports at runtime. We break down what PEP 649 actually breaks in production and why this trips up FastAPI. If your API inspects type hints at runtime, read this before you deploy. 👉 https://lnkd.in/ewXydfms
To view or add a comment, sign in
-
Rook Attack Given two strings for the location of two rooks on a chess board, determine if they can attack each other. A standard chessboard is 8x8, with columns labeled A through H (left to right) and rows labeled 1 through 8 (bottom to top). Rooks can move as many squares as they want in a horizontal or vertical direction. So if they are on the same row or column, they can attack each other. freeCodeCamp #DailyCodingChallenge #python #javascript
To view or add a comment, sign in
-
Day 38/100 – #100DaysOfCode 🚀 Solved LeetCode #2011 – Final Value of Variable After Performing Operations (Python). Today I practiced string handling and simple iteration to compute the final value after a series of operations. Approach: 1) Initialize a variable x = 0. 2) Traverse through each operation in the list. 3) If the operation contains "++", increment x by 1. 4) Otherwise, decrement x by 1. 5) Return the final value of x. Time Complexity: O(n) Space Complexity: O(1) Simple logic but great practice for handling strings and loops 💪 #LeetCode #Python #DSA #Strings #ProblemSolving #100DaysOfCode
To view or add a comment, sign in
-
-
pip works. But it’s showing its age. You need: virtualenv pip sometimes pip-tools Multiple tools → slower workflow Now compare that with uv: One tool Faster installs Built-in environment management Same job. Different experience. #Python #BackendDevelopment #DeveloperTools #uv #pip #SoftwareEngineering #BuildInPublic
To view or add a comment, sign in
-
-
Yesterday, Cursor introduced their Agent SDK, letting you build agents on the same harness that powers Cursor itself. Since it’s currently TypeScript-only, and most of my projects are in Python with CrewAI, I wanted to see how it could fit into my stack. So I wired it up through A2A and orchestrated Cursor SDK agents using CrewAI. This is the part I find interesting: you don’t have to choose one ecosystem. You can compose across them. I open sourced a working example if you want to try it out: https://lnkd.in/dsRW3pj5
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