cog VS dispatch

Compare cog vs dispatch and see what are their differences.

cog

Portland Cognition Lab (by chromakey-io)

dispatch

All of the ad-hoc things you're doing to manage incidents today, done for you, and much more! (by Netflix)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
cog dispatch
2 20
1 4,544
- 2.4%
2.9 9.9
over 3 years ago 7 days ago
JavaScript Python
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

cog

Posts with mentions or reviews of cog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-04-23.
  • Comprehensive Fast API Tutorial
    10 projects | /r/Python | 23 Apr 2021
    Here's how (some complete asshole) might implement for example OIDC-JWT with Auth0: https://github.com/chromakey-io/cog/tree/master/auth. This sits as a starlette AuthBackend, that follows along with conventions similar to Flask, Django, etc .... and is directly ripped off from Auth0's flask examples.
    10 projects | /r/Python | 23 Apr 2021

dispatch

Posts with mentions or reviews of dispatch. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-25.
  • Is there any open source project that uses FasAPI?
    8 projects | /r/FastAPI | 25 Apr 2023
    Easily my favorite production grade application made with FastAPI is Netflix's Dispatch platform https://github.com/Netflix/dispatch
    8 projects | /r/FastAPI | 25 Apr 2023
    They use only sync routes in the project and can’t explain why https://github.com/Netflix/dispatch/issues/1073
  • Is it really advisable to try to run fastapi with predominantly sync routes in a real world application?
    7 projects | /r/FastAPI | 13 Apr 2023
  • How to build a scalable project file structure for a beginner.
    3 projects | /r/FastAPI | 10 Mar 2023
    By far my favorite production FastAPI app to use as a references of how to use these technologies well is NetFlix Dispatch: https://github.com/Netflix/dispatch
  • FastAPI Boilerplate using MongoDB, Motor, Docker
    2 projects | /r/FastAPI | 7 Mar 2023
    Hey, I have a lot of opinions about this template, but these are just my opinions based on my own experiences being burned by these things so take from them what you will: 1. Your version of poetry is outdated, dependency groups don't work that way anymore and this will fail to install on modern poetry 2. You list pyyaml as a dependency but don't use it anywhere 3. The healthcheck endpoint is interesting, but expensive and a security risk. I like the value this provides, but I don't know if exposing it this way or using it as a healthcheck is a good idea 1. You typically don't want to touch external systems (mongo) as part of a healthcheck as this can cause cascading failure chains that get out of hand quickly 2. You typically don't want to touch the underlying system itself 1. which means you can / should get rid of psutil as a dependency 4. You don't need and shouldn't use pytest-asyncio for a FastAPI project. It comes built-in with its own async test handlers that you should be using 5. Having python-dotenv installed in production has burned me many times. I recommend removing this complete, otherwise just moving it to a dev dep 6. Using the src layout prevents a lot of weird import time problems from cropping up in production, I recommend checking it out 7. The entrypoint for the Docker container should be using 1 worker, as containers really prefer if you have only a single root PID chain and nothing else. Deploying this into k8s would cause a lot of issues 8. Native python logging really isn't great for modern production applications. Structlog or Loguru are great alternatives and much easier to use (which should remove your only dependency on pyyaml) 9. The configuration management may not work the way you want since it is weakly typed. Since FastAPI uses Pydantic, you have access to BaseSettings which is a far superior product for configuration management, especially with environment variables 10. The app and API folder structure is an anti-pattern that doesn't scale past projects the size of a tutorial on how to laern FastAPI. I strongly recommend changing this to move of a vertical slice or folder per feature layout such as is used in https://github.com/Netflix/dispatch/tree/master/src/dispatch 11. FastAPI routes don't need `response_model=` anymore in favor of adding the return type to your function signature such as `async def create_thing() -> Thing:` 12. The uuid_masker function is interesting, but exposing UUIDs in logs usually doesn't pose a security risk and only makes debugging more difficult 13. You have some type lies in your code that could burn you such as https://github.com/alexk1919/fastapi-motor-mongo-template/blob/main/app/db/db.py#L10 . This pattern for the global DB handle has also burned me in the past and I had to go back and refactor out all of them to instead to purely use the FastAPI dependency injection chaining 14. datetime.datetime isn't safe to use as it is in sample_resource_common.py, you need a timezone aware implementation 15. Your test suite is stateful, require a running database, leak a lot of implementation details of the underlying models. This is every anti-pattern in the book for unit testing. And if you are going to do integration tests, then you would be better off with tooling designed for it such as playwright. Again, these are all just my opinions and may alone not be enough to warrant changing anything you have here.
  • Python projects with best practices on Github?
    23 projects | /r/Python | 14 Feb 2023
    Two random examples I found from 30 seconds of googling: Here’s Netflix using it in their crisis management tool, and here’s Uber using it in their deep learning framework.
  • Open Source Projects based on FastAPI
    2 projects | /r/FastAPI | 5 Feb 2023
    netflix dispatch
  • Total beginner, use FastAPI?
    2 projects | /r/FastAPI | 8 Dec 2022
    For production ready code examples I use: https://github.com/Netflix/dispatch
  • Launch HN: Rootly (YC S21) – Manage Incidents in Slack
    2 projects | news.ycombinator.com | 7 Jun 2022
    The open source option from Netflix is quite popular too: https://github.com/Netflix/dispatch
  • FastAPI Large App Structure
    2 projects | /r/FastAPI | 25 May 2022
    Not sure if this will help, but I’m building a project on Netflix Dispatch project layout. Which separates each feature into its own folder https://github.com/Netflix/dispatch

What are some alternatives?

When comparing cog and dispatch you can also consider the following projects:

fastapi-best-practices - FastAPI Best Practices and Conventions we used at our startup

fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production

full-stack-fastapi-template - Full stack, modern web application template. Using FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS and more.

fastapi-router-controller - A FastAPI utility to allow Controller Class usage

databases - Async database support for Python. 🗄

opal - Fork of https://github.com/permitio/opal

haystack - :mag: LLM orchestration framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data. With advanced retrieval methods, it's best suited for building RAG, question answering, semantic search or conversational agent chatbots.

spectree - API spec validator and OpenAPI document generator for Python web frameworks.

chatgpt-retrieval-plugin - The ChatGPT Retrieval Plugin lets you easily find personal or work documents by asking questions in natural language.