fastkafka
nbdev
fastkafka | nbdev | |
---|---|---|
38 | 45 | |
33 | 4,744 | |
- | 0.6% | |
8.7 | 6.5 | |
5 months ago | 7 days ago | |
Jupyter Notebook | Jupyter Notebook | |
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.
fastkafka
- FLaNK Stack Weekly 16 October 2023
-
FastStream: Python's framework for Efficient Message Queue Handling
Our journey with FastStream started when we needed to integrate our machine learning models into a customer's Apache Kafka environment. To streamline this process, we created FastKafka using AIOKafka, AsyncAPI, and asyncio. It was our first step in making message queue management easier.
-
How we deprecated two successful projects and joined forces to create an even more successful one
After a short discussion, we concluded we were just too spoiled to use low-level libraries that were nothing more than just tiny wrappers around C++ libs and that we could just build our own. So, we shamelessly made one by reusing beloved paradigms from FastAPI and we shamelessly named it FastKafka. The point was to set the expectations right - you get pretty much what you would expect: function decorators for consumers and producers with type hints specifying Pydantic classes for JSON encoding/decoding, automatic message routing to Kafka brokers and documentation generation.
-
Introducing FastStream: the easiest way to write microservices for Apache Kafka and RabbitMQ in Python
FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically. It is a new package based on the ideas and experiences gained from FastKafka and Propan. By joining our forces, we picked up the best from both packages and created a unified way to write services capable of processing streamed data regardless of the underlying protocol. We'll continue to maintain both packages, but new development will be in this project.
-
FastStream: the easiest way to add Kafka and RabbitMQ support to FastAPI services
FastStream (https://github.com/airtai/faststream) is a new Python framework, born from Propan and FastKafka teams' collaboration (both are deprecated now). It extremely simplifies event-driven system development, handling all the parsing, networking, and documentation generation automatically. Now FastStream supports RabbitMQ and Kafka, but supported brokers are constantly growing (wait for NATS and Redis a bit). FastStream itself is a really great tool to build event-driven services. Also, it has a native FastAPI integration. Just create a StreamRouter (very close to APIRouter) and register event handlers the same with the regular HTTP-endpoints way:
-
The new release of FastKafka supports Pydantic v2.0
Inspired by FastAPI, FastKafka uses the same paradigms for routing, validation, and documentation, making it easy to learn and integrate into your existing streaming data projects. Please check out the latest version adds supporting the newly released Pydantic v2.0, making it significantly faster. https://github.com/airtai/fastkafka
- Inspired by FastAPI, FastKafka uses the same paradigms for routing, validation, and documentation, making it easy to learn and integrate into your existing streaming data projects. The latest version adds support for newly released Pydantic v2.0, making it significantly faster.
- FastKafka – A Free Open-Source Python Library for Building Kafka-Based Services
nbdev
- The Jupyter+Git problem is now solved
-
What is literate programming used for?
One example I've seen is ML/DL folks using jupyter notebooks to develop DL libraries in jupyter notebooks, see https://github.com/fastai/nbdev
-
GitHub Accelerator: our first cohort and what's next
- https://github.com/fastai/nbdev: Increase developer productivity by 10x with a new exploratory programming workflow.
-
Startups are in first batch of GitHub OS Accelerator
9. Nbdev: Boost developer productivity with an exploratory programming workflow - https://nbdev.fast.ai/
-
Start learning python for a Statistician with SAS experience and little R experience
See if you like nbdev way of working with data through python and jupyter. nbdev is an optional part that will create python packages from jupyter notebooks. Also even the simple tutorials are opinionated and will guide you to unit test your code and write CICD pipelines.
- FastKafka - free open source python lib for building Kafka-based services
-
isn't this just too much for a take home assignment?
You probably don’t have time for this for the purposes of your task, but I will also throw in the recommendation of nbdev especially if you’re a Python person. I haven’t had a project to use it on yet, but I’ve gone through the docs and the walkthrough and it seems like a great framework for starting potential projects with all the infrastructure needed for if/when they eventually get big and need all the packaging and stuff
-
Any experience dealing with a non-technical manager?
nbdev: jupyter notebooks -> python package
-
Resources to bridge the gap between jupyter notebooks and regular python development
Take a look at https://github.com/fastai/nbdev - haven't used it but supposedly the whole if fast.ai library was written that way. It sounds like a natural direction in your scenario - allowing your to keep working in a familiar environment and still producing production ready code (will, at least in paper 😅)
- Rant: Jupyter notebooks are trash.
What are some alternatives?
cookiecutter-faststream - Cookiecutter template for FastStream apps
papermill - 📚 Parameterize, execute, and analyze notebooks
RealtimeTTS - Converts text to speech in realtime
ploomber - The fastest ⚡️ way to build data pipelines. Develop iteratively, deploy anywhere. ☁️
datagen - Generate authentic looking mock data based on a SQL, JSON or Avro schema and produce to Kafka in JSON or Avro format.
dbt - dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. [Moved to: https://github.com/dbt-labs/dbt-core]
aiokafka - asyncio client for kafka
jupytext - Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
Propan - Propan is a powerful and easy-to-use Python framework for building event-driven applications that interact with any MQ Broker
rr - Record and Replay Framework
pythagora - Generate automated tests for your Node.js app via LLMs without developers having to write a single line of code.
Jupyter-PowerShell - Jupyter Kernel for PowerShell