Software Engineering· 23 posts
pyproject.toml vs requirements.txt vs setup.py - Which to Use
Python packaging comparison: when to use pyproject.toml vs requirements.txt vs setup.py. Decision flowchart, migration guide, and how they work together for modern Python development.
Python Dependency Management: pip-tools vs Poetry vs Pipenv
Compare Python dependency management tools: pip-tools, Poetry, Pipenv, and PDM. Learn lock files, dependency resolution, and when to use each tool for your projects.
Python Packaging: The Complete Guide to Building, Publishing, and Maintaining Packages
Master Python packaging from development to PyPI publication. Complete guide covering pyproject.toml, dependencies, versioning, testing, CLI tools, and documentation with links to 11 detailed tutorials.
Private Python Package Repositories: PyPI Alternatives for Enterprise
Set up private Python package repositories using devpi, AWS CodeArtifact, GCP Artifact Registry, or JFrog Artifactory. Learn authentication, CI/CD integration, and best practices.
pyproject.toml - Complete Guide with Examples & Best Practices
Master Python pyproject.toml configuration: build-system, project metadata, tool settings. Examples for Hatchling, setuptools, Poetry-core, Flit. PEP 621 compliant templates.
Building Python CLI Tools: Click, Typer, and argparse for Distributable Commands
Build professional Python CLI tools with Click, Typer, and argparse. Learn entry points, packaging, testing, and best practices for distributable command-line applications.
Python Package Documentation: Sphinx, MkDocs, and Read the Docs Guide
Create professional Python package documentation with Sphinx and MkDocs. Learn docstring formats, API generation, Read the Docs hosting, and documentation best practices.
Testing Python Packages: pytest, tox, and nox for Multi-Version Testing
Master Python package testing with pytest, tox, and nox. Learn multi-version testing, CI/CD integration, and testing strategies for distributable packages.
Python Package Versioning: SemVer, CalVer, and Best Practices
Master Python package versioning with semantic versioning, calendar versioning, pre-release versions, and automated version bumping. Complete guide to changelog management and version constraints.
Publishing Python Packages to PyPI: Complete Guide with Trusted Publishing
Learn how to publish Python packages to PyPI using twine, trusted publishing with GitHub Actions, and modern best practices. Complete guide from package structure to automated releases.
Python Virtual Environments: venv, virtualenv, conda, and pyenv Compared
Master Python virtual environments with venv, virtualenv, conda, and pyenv. Learn when to use each tool, IDE integration, and best practices for project isolation.
What Are the SOLID Principles of Object-Oriented Design?
Learn how the SOLID principles guide modular, maintainable object-oriented systems, with practical examples, review checklists, and tips for avoiding common anti-patterns.
Python Try Except: Complete Error Handling Guide
Master Python try except with practical examples. Learn try/except/finally blocks, error handling best practices, and production-ready exception patterns.
Python Datetime Guide
Master Python datetime: convert strings to dates with strptime(), format with strftime(), compare dates, calculate differences, and handle timezones. Includes real-world examples.
Python requirements.txt - Syntax, Examples & Best Practices
Python requirements.txt complete guide: pip freeze syntax, version pinning (==, >=, ~=), and pip install -r examples. Create reproducible Python environments.
GitHub Advanced Features: Codespaces, Copilot, Projects, and More
Master GitHub advanced features including Codespaces for cloud development, Copilot AI assistance, Projects for planning, Discussions, Packages, Pages, and the GitHub CLI.
Git Hooks Automation: Husky, lint-staged, and Pre-commit Frameworks
Automate code quality with Git hooks using Husky, lint-staged, and pre-commit frameworks. Learn to enforce formatting, linting, testing, and commit message standards.
GitHub Repository Security: Branch Protection, Dependabot, and Access Control
Secure your GitHub repositories with branch protection rules, CODEOWNERS, Dependabot, secret scanning, security policies, and access control best practices.
Git LFS: Managing Large Files in Git Repositories
Learn how to use Git Large File Storage (LFS) to manage large binary files, images, videos, and datasets in your Git repositories without slowing down operations.
Monorepo Management: Nx, Turborepo, and Build Optimization
Learn how to manage monorepos effectively with Nx, Turborepo, and Bazel. Covers build caching, dependency management, affected commands, and CI/CD optimization.
Git Secrets Management: Preventing Credential Leaks in Repositories
Learn how to prevent secrets from being committed to Git repositories using git-secrets, gitleaks, pre-commit hooks, and remediation strategies for leaked credentials.
Pull Request Best Practices: Code Review, Templates, and Merge Strategies
Master pull request workflows with best practices for code review, PR templates, merge strategies, automated checks, and team collaboration patterns.
How to Squash Commits in Git
Learn how to squash multiple Git commits into a single commit using interactive rebase to create a cleaner, more maintainable commit history.