Open Source and Saying “No”

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

Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Sonar - Write Clean Python Code. Always.
  • SaaSHub - Software Alternatives and Reviews
  • LinkAce

    Your self-hosted bookmark archive. Free and open source.

    Github isn't really the issue here, because it offers the tools to make this differentiation. Maintainers just have to use it. At Github, you can use issue templates that have a set of pre-defined questions and add labels to the created issues.

    Example from my own project:

    Users can only create bugs and have to answer some detailed questions, because I really don't want to deal with "XYZ is not working"-types of issues without any context or further information. Feature requests are redirected to the discussion forums first. It works very well for me.

  • Flask

    The Python micro framework for building web applications.

    Low dependency analysis is one of the reasons I like Flask[0].


  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • Django

    The Web framework for perfectionists with deadlines.

    Weird, I dislike Flask because it quickly becomes a dependency soup the moment you want to add something simple like forms or a DB.

    Django has less dependencies[1] - one "real" one (asgiref), one to work around a sqlite issue ("sqlparse"), and two timezone related backports (tzcata, zoneinfo). Plus obviously a library for your db backend, if you're not using sqlite.


  • d2

    D2 is a modern diagram scripting language that turns text to diagrams.

    Since it's not mentioned, we also use as TODOs/issue-tracker.

    We actually switched from Linear to Github Issues because of how nice it is to have the TODOs colocated with PRs and code.

    I suspect some users may drive by and be turned away from the sheer number of open Issues, and that's okay to me. I hate projects that try to keep Issues to 0 -- especially the ones that auto-stale. It just makes it harder for me to see if the Issue was actually resolved or not.

  • next-starter-blog

    NEXT.js starter blog with MDX, Tailwind CSS, TypeScript, and pre-configured Development Environment with Husky, Lint Staged and Commitizen

    I don't think it is as soupy as you say.

    Flask is split up into a few Pallets projects - Flask, Werkzeug, Markupsafe, Click, itsdangerous, Jinja2 - but they're all from the same stable group. This split makes them more useful as independent libraries, rather than one big framework.

    Ditto two more (Alembic and SQLAlchemy) are also from a very stable group. It would be nice if Alembic used Jinja2 instead of Mako, of course, but it's a dev-time dependency and so it's lower risk in my opinion.

    I agree that at the thing Django does (forms + a SQL database) it does it with fewer dependencies than Flask. But that doesn't mean Flask has loads of dependencies; it has an appropriate number for the task you're doing. I was more comparing Flask to actual dependency soup ecosystems[0].


  • Sonar

    Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

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