#401: We must replace uWSGI with something else

Python Bytes

Topics covered in this episode:

  • “We must replace uwsgi by something else”
  • Let’s build and optimize a Rust extension for Python
  • Fake recruiter coding tests target devs with malicious Python packages
  • Monthly PSF Board Office Hours
  • Extras
  • Joke
Watch on YouTube

About the show

Sponsored by ScoutAPM: pythonbytes.fm/scout

Connect with the hosts

  • Michael: @mkennedy@fosstodon.org
  • Brian: @brianokken@fosstodon.org
  • Show: @pythonbytes@fosstodon.org

Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.

Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.

Michael #1: “We must replace uwsgi by something else”

  • uWSGI is now in maintenance mode: https://uwsgi-docs.readthedocs.io/en/latest/
    • The project is in maintenance mode (only bugfixes and updates for new languages apis). Do not expect quick answers on github issues and/or pull requests (sorry for that) A big thanks to all of the users and contributors since 2009.
  • Reasonable options look like:
    • granian
    • uvicorn
    • hypercorn
    • gunicorn (potentially with uvicorn workers for async)

Brian #2: Let’s build and optimize a Rust extension for Python

  • Itamar Turner-Trauring
  • Example: algorithm for approximating the number of unique values in a list
  • Comparison to non-approximation
    • non-approx is faster but uses way more memory
  • Rust version
    • Use Maturin and PyO3
    • Pull in Rust dependencies (rand for random numbers)
  • Optimization
    • link-time optimization
    • faster random
    • store hashes only
  • Future optimizations
    • change algorithm maybe
    • pass numpy array instead of Python list (I’d like to see that spedup)

Michael #3:

Чтобы прослушивать выпуски с ненормативным контентом, войдите в систему.

Следите за новостями подкаста

Войдите в систему или зарегистрируйтесь, чтобы следить за подкастами, сохранять выпуски и получать последние обновления.

Выберите страну или регион

Африка, Ближний Восток и Индия

Азиатско-Тихоокеанский регион

Европа

Латинская Америка и страны Карибского бассейна

США и Канада