How I start every new Python backend API project

This page summarizes the projects mentioned and recommended in the original post on dev.to

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. LocalStack

    💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

    If my project uses docker, I put all docker-related files here. For example: init scripts for localstack.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. modular-monolith-with-ddd

    Full Modular Monolith application with Domain-Driven Design approach.

    You can see there is a module called building_blocks. Inside it, I keep all the utilities needed in the project, like a logger, serializers, and so on. I did not make up this name, I borrowed it from this repo.

  4. Newman

    Newman is a command-line collection runner for Postman

    If you have not heard about this tool, I recommend you check it out. Having this, you do not have to have any additional API clients like postman or insomnia.

  5. black

    The uncompromising Python code formatter

    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace - id: check-merge-conflict - id: check-yaml args: [--unsafe] - id: check-json - id: detect-private-key - id: end-of-file-fixer - repo: https://github.com/timothycrosley/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/psf/black rev: 22.8.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.971 hooks: - id: mypy args: [ --warn-unused-configs, --ignore-missing-imports, --disallow-untyped-defs, --follow-imports=silent, --install-types, --non-interactive ]

  6. Poetry

    Python packaging and dependency management made easy

    Poetry in my opinion is the best Python packaging and dependency management tool.

  7. openapi-spec-validator

    OpenAPI Spec Validator is a CLI, pre-commit hook and python package that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger), OpenAPI 3.0 and OpenAPI 3.1 specification.

    openapi-spec-validator

  8. isort

    A Python utility / library to sort imports.

    isort

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. responses

    A utility for mocking out the Python Requests library.

    responses

  11. moto

    Discontinued A library that allows you to easily mock out tests based on AWS infrastructure. [Moved to: https://github.com/getmoto/moto] (by spulec)

    If my project uses AWS services, I also install moto library.

  12. pre-commit

    A framework for managing and maintaining multi-language pre-commit hooks.

    pre-commit allows you to add git hooks that will execute before you add your commit.

  13. insomnia

    The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.

    If you have not heard about this tool, I recommend you check it out. Having this, you do not have to have any additional API clients like postman or insomnia.

  14. isort

    Discontinued A Python utility / library to sort imports. [Moved to: https://github.com/PyCQA/isort] (by timothycrosley)

    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace - id: check-merge-conflict - id: check-yaml args: [--unsafe] - id: check-json - id: detect-private-key - id: end-of-file-fixer - repo: https://github.com/timothycrosley/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/psf/black rev: 22.8.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.971 hooks: - id: mypy args: [ --warn-unused-configs, --ignore-missing-imports, --disallow-untyped-defs, --follow-imports=silent, --install-types, --non-interactive ]

  15. flake8

    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace - id: check-merge-conflict - id: check-yaml args: [--unsafe] - id: check-json - id: detect-private-key - id: end-of-file-fixer - repo: https://github.com/timothycrosley/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/psf/black rev: 22.8.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.971 hooks: - id: mypy args: [ --warn-unused-configs, --ignore-missing-imports, --disallow-untyped-defs, --follow-imports=silent, --install-types, --non-interactive ]

  16. mirrors-mypy

    Mirror of mypy for pre-commit

    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace - id: check-merge-conflict - id: check-yaml args: [--unsafe] - id: check-json - id: detect-private-key - id: end-of-file-fixer - repo: https://github.com/timothycrosley/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/psf/black rev: 22.8.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.971 hooks: - id: mypy args: [ --warn-unused-configs, --ignore-missing-imports, --disallow-untyped-defs, --follow-imports=silent, --install-types, --non-interactive ]

  17. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Embracing Modern Python for Web Development

    12 projects | dev.to | 8 Dec 2023
  • A Tale of Two Kitchens - Hypermodernizing Your Python Code Base

    31 projects | dev.to | 12 Nov 2023
  • Improve your Django Code with pre-commit

    13 projects | dev.to | 5 Apr 2023
  • Makefile for your Django project

    9 projects | dev.to | 18 Sep 2022
  • Mock unit test an API that uses postgres or integration test API with a "test" database?

    5 projects | /r/node | 8 Dec 2023

Did you know that Python is
the 2nd most popular programming language
based on number of references?