mosec
gunicorn
mosec | gunicorn | |
---|---|---|
11 | 17 | |
707 | 9,517 | |
1.4% | - | |
8.5 | 8.0 | |
5 days ago | 10 days ago | |
Python | Python | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
mosec
-
20x Faster as the Beginning: Introducing pgvecto.rs extension written in Rust
Mosec - A high-performance serving framework for ML models, offers dynamic batching and CPU/GPU pipelines to fully exploit your compute machine. Simple and faster alternative to NVIDIA Triton.
-
[D] Handling Concurrent Request for ML Model API
- Yes C++ would be better, but you can try mosec. It has a Python interface and helps you handle all the difficult things about Python multiprocessing. The web service part is implemented in Rust thus it's fast enough for machine learning services.
-
Launching ModelZ Beta!
Contribute to open source projects: Modelz is built on top of envd, mosec, modelz-llm and many other open source projects. If you're interested in contributing to these projects, you can check out their GitHub repositories and start contributing.
-
Deploying a model with an API in docker
You could first create the image with the framework you like (e.g. bentoml or https://github.com/mosecorg/mosec for light weight).
- PostgresML is 8-40x faster than Python HTTP microservices
- Python Machine Learning Service Can Run Way More Faster
-
[D] Open Source ML Organisations to contribute to?
If you're interested in machine learning model serving, can check mosec: https://github.com/mosecorg/mosec
-
Why not multiprocessing
During the development of a machine learning serving project Mosec, I used a lot of multiprocessing to make it more efficient. I want to share some experiences and some researches related to Python multiprocessing.
-
[P] Mosec: deploy your machine learning model in an easy and efficient way
That's a good example. I have met the same situation before. I have created a discussion in GitHub to track the DAG progress.
- Mosec: deploy your machine learning model in an easy and efficient way
gunicorn
-
Nginx Unit – Universal web app server
I'm hoping so – gunicorn has a long-open pull request that would fix `--reuse-port`, which currently does nothing
https://github.com/benoitc/gunicorn/pull/2938
- SynchronousOnlyOperation from celery task using gevent execution pool on django orm
-
Deploying Django when using python-socketio
However, I'm curious about the best way to deploy, specifically with regard to WSGI. I've tried using the raw eventlet WSGI server (`eventlet.wsgi.server(eventlet.listen(("", 8000)), application)`). I then start it with `python manage.py runserver`. This has worked okay, but I'm unsure about how scalable it is. It seems like the standard stack is Django + Gunicorn + NGINX. Based on `python-socketio` documentation, this should be possible. I tried django + eventlet + gunicorn, but it seems like gunicorn a) [doesn't play nice with eventlet](https://github.com/benoitc/gunicorn/pull/2581) and b) only supports one worker. Gevent + Gunicorn doesn't have this bug, but still only supports one worker. Also, I'm not sure how actively maintained gevent is. So I'm not sure how scalable either Gunicorn + eventlet or Gunicorn + geventlet is as a WSGI server. So I'm not sure if Gunicorn is my best bet, or if it's too limited.
- The Django ecosystem is not so good
-
3 cool project ideas for Python programmers
For building your API, I recommend using the Flask library. It is very beginner-friendly, and you will be able to build a simple API in a matter of minutes! Keep in mind that, for a more serious project, you should definitely use something like gunicorn to run you API as a production server.
-
Django 4.1 Released
Interesting looks like it might actually be a python bug. Somehow just changing from sys.exit(0) -> os._exit(0) apparently fixes it.
https://github.com/benoitc/gunicorn/pull/2820
-
Serverless Templates for AWS and Python
The cool thing is that you can easily migrate your WSGI- application such as Flask, Django, or Gunicorn to AWS.
-
Scope of database threads + connections + sessions
Yeah, that's kind of the impression I was getting. I stumbled across a github issue for gunicorn along these lines.
-
Running Django with Gunicorn - Best Practice
Taking a glimpse at gunicorn's code it looks like they pretty much all do the same: 2. seems to be creating a wsgi app using django's internals, and 3. uses 2.
What are some alternatives?
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!
waitress - Waitress - A WSGI server for Python 3
GPflow - Gaussian processes in TensorFlow
Werkzeug - The comprehensive WSGI web application library.
mlrun - MLRun is an open source MLOps platform for quickly building and managing continuous ML applications across their lifecycle. MLRun integrates into your development and CI/CD environment and automates the delivery of production data, ML pipelines, and online applications.
bjoern - A screamingly fast Python 2/3 WSGI server written in C.
text-generation-inference - Large Language Model Text Generation Inference
uwsgi - Official uWSGI docs, examples, tutorials, tips and tricks
metaflow - :rocket: Build and manage real-life ML, AI, and data science projects with ease!
meinheld - Meinheld is a high performance asynchronous WSGI Web Server (based on picoev)
postgresml - The GPU-powered AI application database. Get your app to market faster using the simplicity of SQL and the latest NLP, ML + LLM models.
hypercorn - Hypercorn is an ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.