dispatch
Kedro
dispatch | Kedro | |
---|---|---|
20 | 29 | |
4,602 | 9,362 | |
1.0% | 0.7% | |
9.9 | 9.7 | |
4 days ago | 7 days ago | |
Python | Python | |
Apache License 2.0 | Apache License 2.0 |
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.
dispatch
- Netflix Dispatch
-
Is there any open source project that uses FasAPI?
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?
-
How to build a scalable project file structure for a beginner.
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
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?
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
netflix dispatch
-
As a long time programmer what are some important coding styles ?
As someone who uses FastAPI, I find the https://github.com/Netflix/dispatch code to be a great reference.
-
CEO faces backlash after quoting Martin Luther King Jr. in announcing layoffs
Besides that paying $21 to $41 per user for this nuts. Set up a VPS with Dispatch (opensourced by Netflix) and save your company some money.
-
Total beginner, use FastAPI?
For production ready code examples I use: https://github.com/Netflix/dispatch
Kedro
-
Nextflow: Data-Driven Computational Pipelines
Interesting, thanks for sharing. I'll definitely take a look, although at this point I am so comfortable with Snakemake, it is a bit hard to imagine what would convince me to move to another tool. But I like the idea of composable pipelines: I am building a tool (too early to share) that would allow to lay Snakemake pipelines on top of each other using semi-automatic data annotations similar to how it is done in kedro (https://github.com/kedro-org/kedro).
-
A Polars exploration into Kedro
# pyproject.toml [project] dependencies = [ "kedro @ git+https://github.com/kedro-org/kedro@3ea7231", "kedro-datasets[pandas.CSVDataSet,polars.CSVDataSet] @ git+https://github.com/kedro-org/kedro-plugins@3b42fae#subdirectory=kedro-datasets", ]
-
What are some open-source ML pipeline managers that are easy to use?
So there's 2 sides to pipeline management: the actual definition of the pipelines (in code) and how/when/where you run them. Some tools like prefect or airflow do both of them at once, but for the actual pipeline definition I'm a fan of https://kedro.org. You can then use most available orchestrators to run those pipelines on whatever schedule and architecture you want.
-
How do data scientists combine Kedro and Databricks?
We have set up a milestone on GitHub so you can check in on our progress and contribute if you want to. To suggest features to us, report bugs, or just see what we're working on right now, visit the Kedro projects on GitHub.
-
How do you organize yourself during projects?
you could use a project framework like kedro to force you to be more disciplined about how you structure your projects. I'd also recommend checking out this book: Edna Ridge - Guerrilla Analytics: A Practical Approach to Working with Data
-
Futuristic documentation systems in Python, part 1: aiming for more
Recently I started a position as Developer Advocate for Kedro, an opinionated data science framework, and one of the things we're doing is exploring what are the best open source tools we can use to create our documentation.
-
Python projects with best practices on Github?
You can also check out Kedro, it’s like the Flask for data science projects and helps apply clean code principles to data science code.
- Data Science/ Analyst Zertifikate für den Job Markt?
- What are examples of well-organized data science project that I can see on Github?
-
Dabbling with Dagster vs. Airflow
An often overlooked framework used by NASA among others is Kedro https://github.com/kedro-org/kedro. Kedro is probably the simplest set of abstractions for building pipelines but it doesn't attempt to kill Airflow. It even has an Airflow plugin that allows it to be used as a DSL for building Airflow pipelines or plug into whichever production orchestration system is needed.
What are some alternatives?
fastapi-best-practices - FastAPI Best Practices and Conventions we used at our startup
Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
luigi - Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
full-stack-fastapi-template - Full stack, modern web application template. Using FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS and more.
Dask - Parallel computing with task scheduling
fastapi-router-controller - A FastAPI utility to allow Controller Class usage
cookiecutter-pytorch - A Cookiecutter template for PyTorch Deep Learning projects.
opal - Fork of https://github.com/permitio/opal
ploomber - The fastest ⚡️ way to build data pipelines. Develop iteratively, deploy anywhere. ☁️
databases - Async database support for Python. 🗄
BentoML - The most flexible way to serve AI/ML models in production - Build Model Inference Service, LLM APIs, Inference Graph/Pipelines, Compound AI systems, Multi-Modal, RAG as a Service, and more!