Python Bytes 227
CONNECTION INFO:
Streamyard video call/stream:      https://streamyard.com/5nqzir8ujh 
Zencaster HQ audio:                          https://classic.zencastr.com/mkennedy/python-bytes-227 
YouTube live stream for viewers:    https://www.youtube.com/watch?v=6bve_-Hmhd0 
intro:
Hello and Welcome to Python Bytes
Where we deliver Python news and headlines directly to your earbuds.
This is episode 227, recorded March 31st
I’m Brian Okken
<and I’m Michael Kennedy>
<and I’m Micaela Reyes>

Sponsored by us!
Special guest: Micaela Reyes

Brian #1: Number One, that's "retract plank," not "remove plank."
  • Yanking vs removing versions on PyPI


Michael #2: SQLAlchemy 1.4.0 Released
  • Exciting: 1st release to properly support an async API
  • Has a new select() + execute() rather than session.query() API
  • Intended to unify Core and ORM.
  • Requires aiosqlite for async API + SQLite: conn_str = 'sqlite+aiosqlite:///filename'

Micaela #3: django-tenants
  • Multi-tenancy Implementation for Django (typically for SaaS websites e.g. Shopify)
  • currently on v3.2.1 (Aug 2020) release
  • Requirements: Django 2 and PostgreSQL
  • It was largely based on django-tenant-schemas library
  • Data Architecture: shared database, separate schema for each tenant
  • Domain setup / URL routing for root and per tenant:
  • Examples:
  • Possible Use-cases:
  • a hospital with different branches
  • restaurant franchise with different branches
  • Possible Limitations:
  • You can’t use the normal migration commands (python manage.py migrate_schemas instead of python manage.py migrate)
  • Reports - when you need to create a report regarding all the clients/tenants, tenant data will be on separate schemas