Django Chat

Django 4.1 Preview - Jeff Triplett

Episode Summary

Jeff is a partner at RevSys, Python Software Foundation Director, and DjangoCon organizer. We discuss what’s coming in Django 4.1, DjangoCon US 2022, and his work as maintainer of djangopackages.org.

Episode Notes

Support the Show

This podcast does not have any ads or sponsors. To support the show, please consider purchasing a book, signing up for Button, or reading the Django News newsletter.

Episode Transcription

Will Vincent 0:06
Hi, welcome to another episode of Django chat podcast on the Django web framework. I'm Will Vincent joined by Carlton Gibson. Hi, Carlton.

Carlton Gibson 0:12
Hello.

Will Vincent 0:13
And we're very pleased to welcome back Jeff triplet. Welcome, Jeff.

Jeff Triplett 0:17
Thank you, you too sound exactly like you do when I was doing the podcast. I thought that was like a pre recording or something. But

Will Vincent 0:22
now we do it. We do it live every time.

Carlton Gibson 0:26
There's the occasional error, you have to spot that.

Will Vincent 0:29
I think it's like seats in class, the first one you pick, you have to stay with like, there's no reason we do the intro that way. It's just, we did it once that way. And it's easier than thinking about it. But anyway, so Jeff, I don't know if you don't need much introduction, but very briefly, your partner at Rev. Sis, you're on the board of the PSF, you help with our former past president still involved with Daphna which runs us Django cons, you've taken over Django packages.org. We'll talk about that. You and I do the Django news newsletter together. And you also are consultants. So you just see lots of Django in the wild. So always have stories about how it's being used or misused. So I'll use that as a preamble. I also you have a you have a five month old. So I won't try to ask too deep questions of you in this interview. Because I know how that goes.

Jeff Triplett 1:20
I have the opposite problem with new parents is that I actually got a full night's sleep last night. So I don't know how to function like sleep again. So sorry for being rambley

Carlton Gibson 1:29
the trouble when you could do get a little bit more sleep as your body goes. Oh, more of that, please.

Jeff Triplett 1:34
Yeah, it's like, what is this? Not being totally dead asleep feeling I have? Yeah.

Will Vincent 1:39
So this will be I think, even for us a casual conversation. But I did want to quickly mention for the Django Software Foundation, we will be doing a PI charm. Promotion. This year, after all, they took a pause, but it's going to be happening beginning of June. So if you're thinking about trying out pi charm, wait a week, you get 30% off most likely and all the proceeds go to Django. So that'll be happening in June. Normally, we do it in the spring. They got delayed, but it is happening in June. So that'll be on the Django project website soon. Carlton, what were you gonna say?

Carlton Gibson 2:15
Oh, well, I was gonna ask Jeff about Django calm because I filled in my SUBMIT TO TALK application yesterday. And I'm very excited about it coming up, because it's been, you know, a long, hard slog for everybody these last couple of years. So Jeff, can you let's see what's going on? When when's Jango? Calm? When's the when's the call for participation open? And, you know, what, what do we need to know about

Jeff Triplett 2:39
that sort of thing? Yeah, Django con us will be this October. We are very hopeful that pandemic and everything subsides enough that we can have a safe conference. Biggest thing for us is making sure kids under five can have vaccinations and stuff too. That way everybody the whole population is covered. The deadline for the CFP for somebody in your proposal, we're doing talks and tutorials this year. I think it's June 10. So it's the the fun Python AOE time. So as long as it's been, I guess, June 10, somewhere in the world, then you're good.

Will Vincent 3:09
Alright. Well, we'll have links to that in the show notes.

Carlton Gibson 3:12
And you're you're not organizing it this year. Is that Is that right?

Jeff Triplett 3:17
Yeah, I am, I tried to step back a little bit and give other space. The hardest part has been because we haven't had a physical conference in three years. We haven't had the normal supply of volunteers come in. Now the last month we actually have had, which has been really interesting. So we're getting some new people who've who've kind of raise their hands and say we want to help. But then also, it's this burden of like, do you really know what you're getting into? So we're trying to, hey, how do I get out from under this thing without crushing somebody else? Not that I'm Superman of this thing. There's a ton of great people who do a lot of great work but I've kind of been one of the primary people who kind of know what the dots are the cadences and just kind of helping advising So this year I'm hoping to be mostly just advising mentoring. But yeah, I'm I'm doing my best to try especially with a with a five month old as you said, and four and a half year old it's it's just not not not where I want to put all my time in at the end of the day even though I love the conference and I look forward to being there. So

Carlton Gibson 4:18
yeah, I think the thing that's really hit not hit because everything's going on to plan with Gen Con Europe as well is that because we haven't had it for a couple of years it's sort of like this gap in the continuity and so you know, seasoned handle like yourself it's even if you're not doing it to have you around is really important to have like that knowledge

Jeff Triplett 4:38
and we do you know, again, we have people who have been around for five years six years helping with the conference still helping so like it is not not just me by any means a lot of great people are back I think to last year was really interesting because we did a virtual and we the previous two years didn't do one. And so the thing I think is funny is I know there's been a lot of people say like there's not a A lot of interest for online virtual conferences. But the opposite was true with us. We had over we had 2200 people sign up for the conference last year. Now granted, it was free. So you get a whole lot more free people. But that's technically bigger than PyCon. Us was last year. And we really just kind of planned on putting videos out over two days, and not really being as interactive as we kind of last minute had to be the person who was doing our AV workout and fast his wife was due to have a baby, like a couple days after Django con. Because you know, that's, that's how we scheduled. That's always how dates are announced. It's like, Oh, crap. So his wife went into labor on Monday night before the conference. And thankfully, thing, you know, thankfully, they had a little bit of a delay, but there were like four or five talks that he's like, What do we do? Like? Well, I guess those talks will go up a week or two or a month later, like, it'll be fine. So yeah, we've all had so much family stuff over the last three years as everybody's had, it just wasn't worth it for us to do it. So returning to impersonal be interesting, we'll probably scale some things back. I don't know if we're going to do two tracks this year on one track, try to spread tables out maybe make the room bigger. We also put out our call for venues. So if you live in North America, and you want to host Django con us next year, that that what is it called CFE call for venue is up? So I we're gonna do our best to not be back in San Diego, even though we've only been there three years, it feels like it's been five or six because of not having the conference for three years.

Carlton Gibson 6:27
Yeah, no entirely. Can I ask a little bit about virtual versus in person? And is there going to remain a virtual element because for me, I've really miss really miss the in person conference, but also the virtual ones have been really good. But I've seen lots of comments saying, Hey, I wasn't able to come and, you know, to have the virtual is also, is there going to be a mixed moment thing, or what was your thought in that? Sure.

Jeff Triplett 6:53
So the hard part about me saying I want to step back is that when things like this come up, and it requires more work, and I'm kind of the one who's like, I really want to do this part, I want this to be an emphasis then that our philosophy has always been, don't volunteer unless you're willing to do the work. And then there's very few things that we turn down if you're willing to put in the effort and do the work. So my view is that there's a monthly conference organizer thing ought to find a link to itself, I don't even know what we call it that there's couple of us have been doing it for a long time. John from pi Gotham Lane from PyCon, Canada, we've been doing this chat thing for probably four or five months or so three or four years. And it's like the first I think our second Wednesday of the month, I could not have done it worse introduction for that thing possible. I'll try to make it even worse next time. I

Will Vincent 7:37
said, infant infant pass infant pass. It's all it's all

Jeff Triplett 7:41
good. And so this is a topic that we talk about a lot on our like monthly organizer, anybody can go to it. So basically, I think the days of only in person conferences are over, I think you philosophy wise, I think you have to design for a hybrid or online first experience, and bring that to an actual event. Otherwise, I think it's going to suck to be there. Because no one wants to see cameras in the back of the room and do a virtual experience where you're seeing that, you know, the tops of our buddies heads. And so how we pull that off? I'm not sure, but it's kind of been my feeling is I've seen conferences return. And everybody wants to try to bolt on a hybrid experience because it's more money and it's low effort. And so I don't know who all well, this is probably before your time, but Carlton, were you Django Under the Hood way back when Oh,

Carlton Gibson 8:29
no, I, for some strange reason I sat using Django for, you know, forever. And it wasn't until Florence 2017 that I went to a Django con. And then I was like, Ah, this is what I've been missing for a while.

Jeff Triplett 8:45
Nice. 16 was the last under the hood. Right. Gotcha. Thanks. So 1617 Something I've seen the videos from it.

Carlton Gibson 8:52
Yeah. But yeah. Anyway, Django Under the Hood. Yeah, I'm, well,

Jeff Triplett 8:55
I'm well researched today. So one thing they did a really good job of is curating the talks as they went through the day. And they kind of did it in a way that forced people into the slack or something. So you can ask questions, but you have to ask it in a curated on the fly. I don't know that that's something that we can pull off or want to pull off. But I think it's a more interesting format, if the people that are watching from remote, can submit questions, and then kind of feel like they're a part of the conference. So if there's a way we can pull it off. So if you're remote that you feel like you're part of the conference is what I want to try to emphasize. Obviously, being in person, you can go by the poll afterwards, have your happy hour, do whatever you want to do meet up with people that you couldn't meet up with probably online or it'd be a little harder. But we want to try to like cater to an experience that doesn't suck online. And that's where I think it has to be prioritized that you know, be kind of online first with, you know, all the benefits that you get for being in person.

Carlton Gibson 9:47
I mean, one one thought that comes to mind but you talked about the camera. It's always been at the back of the room traditionally, but you know, stand up act always has the, you know, the camera at the front end with the front row, right. So maybe there's a space you know, have a camera at the front to get a decent video of the person on stage.

Jeff Triplett 10:04
Again, it's gonna be all Metaverse this year, then it's gonna be all virtual projections and all the technology that no one bothered to, you know, perfect it. But now, yeah, well, we'll have to shift some stuff around. And then maybe by spreading people out and a different room setup will, you know, make that a lot easier?

Will Vincent 10:23
I think that the questions is sort of exciting about hybrid, because of the two talks I've given. Sometimes there's a lot of questions, and sometimes there isn't, you know, because it's the end of the day or whatever. But if you have lots of people online, it's always nice to you know, if you're open to take them, it's I always like having the questions. And sometimes where people are shy in person, right? Something people would like, right after the talk, come up and ask me a question. And it's like, Well, I'm happy to answer it. But I would have almost preferred to answer that publicly, because others probably had it. So you know, so that hybrid approach, maybe will lead to more questions is what I'm trying to say, which I know not all speakers want to take those live, but if you do, that's exactly it.

Jeff Triplett 11:06
Yeah, we, I wouldn't say we discourage people from taking questions. But we definitely don't make them feel the pressure to to do a q&a. It's kind of like you can do it if you really want to and shave off about, you know, three to five minutes of your time. That way, we can try to get questions. But you know, like, here's our scheduling, here's what we're trying to do. We also I think when I try to have a deep dive day again, and again, I might be just making this up. I think we've said on the website, we want to do it, if we get enough talks that meet that format, we would kind of like to have a very focused, go a little deeper in the Django then maybe what some talks would be, we figure after two days of intro talks to and you know, we have a whole selection of beginner intermediate advanced talks, but we figure after two days, even if you're new to Django, maybe you will have recognized and picked up enough and those that that period of time that the third day hearing into some of the maybe whether it's Django internals or shift the advanced talks, maybe but so called my luxul Remind me of deep dive,

Will Vincent 12:03
can we can we read? Or do we not want to we do not want to prejudge his talk. Because he and I were just talking talking about his what's the is it okay to talk about his proposal? Or would you rather we should we wait until it's accepted or not? Jeff, his topic because it is an advanced one. That's interesting. To me.

Jeff Triplett 12:26
Yeah, we probably should shy away from it. If this is going to be out tomorrow, then. If this was the come out after

Carlton Gibson 12:33
that, also, there's a certain amount of you know, suspense, want you to have to wait.

Jeff Triplett 12:42
I need everyone so yeah, that's, that's right. Yeah,

Carlton Gibson 12:45
I don't want spoilers. You know, I wouldn't talk about the upcoming Obi Wan Kenobi series, if what happened to the scene that?

Jeff Triplett 12:54
Yeah, I mean, someone might submit your exact idea plus one thing, it makes it better, right? So you might get oh,

Carlton Gibson 12:58
no, no, that's no, that's what I mean. So, you know, when you turn up for the talk on the date, you want a little bit of, you know, what's this about? You don't want I've heard it all on some podcast was

Jeff Triplett 13:10
talked about, but a big emoji question mark next to your name on the schedule. And then, you know, you said Okay, so

Carlton Gibson 13:17
one more question about Django con. And then let's move on, who should submit to talk to

Jeff Triplett 13:22
anybody, everybody. Something in the realm of Django web accessibility, anything that makes you better a Django better human? Just in general, it's the varnish pretty well, you know, we want the conference to be accessible to you know, life skills or anything that makes you a better whether developer writer, writer, whether they call them documentarian, anything in the scope of what we do as far as an industry goes, so, so don't be shy. Yeah, and a lot of people are new to Django that give talks every year, and they're some of the better talks. So don't just because you haven't spent that much time on Django doesn't mean you can't come up with something that would be, you know, advantageous for the community?

Will Vincent 14:09
Yeah, I really liked the beginner talks, because it provides a different lens on Django for those of us who've been there for a while. And you know, if you think about, oh, yeah, middleware is kind of confusing. Or it's also if you have coworkers who are new to Django, it's a way to get in their head a bit more. If somebody says, Hey, I'm, I'm new to Django, and this was my experience. So there's a lot of value in that perspective. It doesn't have to be deep dives, deep dives are fun, too. But there's sort of an endless source to me anyways of the beginner experience on Django, which I kind of get a lot of just from emails with readers, but I think a lot of professional Django people don't.

Jeff Triplett 14:50
So yeah, so your talk is gonna be about your emails and stuff. I think it would fix he would get less email. Is that the

Will Vincent 14:58
No, I know, I'm At next year, I'm I'm going to submit be back to doing talks. Actually, I have a plan for a 30,000 foot view of, of Django and web frameworks like a 100 of the pieces all fit together. kind of way that I think it'll be interesting. So

Carlton Gibson 15:19
there's plenty of time till October

Jeff Triplett 15:21
1, I think it's you know, so if you know, talks, I would like to see, I need to write a blog post up on this, which means I'm just going to tweet not blog, because it's just easier. But like, you know, HTML is super exciting. I think anything that makes SBA apps, you know, your single page apps easier is cool. HTML is doing some awesome server side rendering stuff. There's other frameworks. I think Django unicorn doesn't get enough emphasis to, those are super cool. The PI script stuff is amazing. Like, I've wanted Django that runs on my browser. So templates get rendered for years, I just can't get like, I don't make decisions in Django to make this stuff happen. But I would love to see, you know, nice. py script Django, like what does it look like for Django to run and py script in your browser? Like, that'd be so cool. So I don't know, I'll come up with a tweet thread or something and try to like, you know, give some ideas out. But this, I

Carlton Gibson 16:10
have to say, when I went to Florence, my first Django con, you know, I thought it was all going to be technical talks. And you know, that's why I'd signed up to go. And the the best talks, the ones that really stuck with me with the community talks are about cognitive biases and inclusion. And I don't know, community building and team diversity in teams. Well, I Well, that's what inspired me to do my talk in Heidelberg was that I went to Florence. And I was like, by Well, actually, this that was, I was just blown away by those talks. And they were nothing to do with Django per se. You know, there were people in the jimang Django community giving those talks, but they weren't technical talks. And so, you know, I gave my talking title work on, on what I did, because I was like, Well, can I give a talk like that? Maybe, but so yeah. Any anything? But due to be

Jeff Triplett 17:00
absolutely like, what would you like to see,

Will Vincent 17:02
I like testing talks, I'm really on a, I would love to see more about testing, just how people do it different approaches. Because it feels like a somewhat undefined thing to me beyond the basics, how it's actually done. I've added plugs, so I got the 4.0 version of my Django for professionals book just out. So all my books are 4.0, which is a big update for all of them, I had a lot more testing. But the test testing is just endless. I would just love to see how people test stuff, thoughts and strategies, doing coverage, integrating pi test, continuous integration. I just think there's, that's bottomless and I don't see any great resource for doing it other than whatever the company already has, or whatever go to approaches. You have. I've been trying to get you Jeff to do a book or something on testing, because you know a little bit about it. I think I like your line that you get paid to write tests, not code. Can I say that publicly?

Jeff Triplett 18:01
I think you. Yeah. I you make things that I say sound good, or I don't remember saying them. So thank you for having a better memory of the meeting. But

Will Vincent 18:10
I think it was in the content. Yeah, yeah.

Jeff Triplett 18:14
Yeah, that is that is sometimes true for clients. But yeah, I write code too. But it's, you know, being able to like ship something that you know, is repeatable. It's not gonna break. It's an underappreciated value, I guess. So

Will Vincent 18:26
I would say deployment is the other one. There's been an interesting threads about, you know, Heroku had had some issues, and quite a few Django, people have worked at Heroku. And it's a Sticky, sticky wicket to make deployment work well, but that's one as well like something between Kubernetes and a one line script. Like, how do you get there? And I know Carlton that's near and dear to your heart. You're still plugging away with but

Carlton Gibson 18:54
still coming on very well, though. I was we were talking about it before came on. And I stopped before you came on Jeff. I started to well, he was like, Well, come on. You got to ship it. I'm like, no. Okay, I'll ship out the ship.

Will Vincent 19:05
I'm building fast and break things, Carlton? Well, yeah, but no, it's just deployment. It's just deployment.

Carlton Gibson 19:09
You know, it's just deployments. It's go slowly and build something that you you care about and want to work on for an extended period of time, I was saying I was building Nate and building native apps. And, you know, the one reason why it's been so slow is because it's like, okay, well, I have to relearn swift because I used to build a Mac app Swift. I noticed. I don't know the modern frameworks. I haven't used them for half a dozen years to relearn that has taken quite a big chunk, but now it's coming together. It's like okay, yes, actually, this is fun. And then I was just about to ship Mac only and then I had a potential customer come along and say, Well, can I can I pay you to use it as a you know, you can work out some smart now of course, that's the perfect you know, there's a perfect test environment. And they were on Windows and I was like, I haven't got a Windows story yet. So I'd had to learn all about you know how Well, okay, what am I going to do so investigated dotnet. And you know what's going on now, unlike Java, and the thing I've kind of settled on for my Windows story is to use rust. And there's a pack packaging system called Tory, which is like electron, but it's a much lighter weight. And you know, the bundles come out to sort of about five megabytes and they use the native WebView. So you're not running this chromium instance, you know, the jokes about running slack or teams that they take up the whole, it's not like that. And so I think that will be my Windows story. And so that's all coming together. But that to learn Swift again, took me much longer than I ever gave that credit for, and then to learn rust and to learn these things, and to investigate that that's all backstory that took a long time. But that's okay. Because I haven't been in a rush. And I'm not building. I'm not building like a Heroku competitor. I'm not building a platform and building toilet tooling to, you know, communicate with those. So that's, that's all been fun. And then, obviously, the last two years have been tricky. In the start of this year, I was knocked a bit sideways, my family were ill. And so that that wasn't a good start. But I just last year, at Gen Con Europe, I said summer 2021. and reviewing that, it's going to be saying

Will Vincent 21:14
I was rewatching, your talk and I sent you the screenshot of that slide.

Carlton Gibson 21:19
Yeah. You said it was gonna be 2021? Well, it's gonna be 2022. So that's fine.

Jeff Triplett 21:24
My advice he didn't ask for would be assuming you all you both are at Django con us this year is that well, then I will publish it for you if it's not done. So we can we can have a moment where

Carlton Gibson 21:37
I've got I've got the perfect thing, I'd have a button that you can click to deploy. Yeah,

Jeff Triplett 21:42
I can do that near the pool at the in San Diego.

Carlton Gibson 21:47
It you know, I've been talking about for a long time working on it for even longer, and it is, and it's coming nicely, and I'm very happy. But what all I can say is, well, it's gonna be worth waiting.

Jeff Triplett 21:59
Yeah, I mean, it'll be ready when it's ready. And what are you doing? I mean, you're embedding Python, I assume inside your application,

Carlton Gibson 22:05
it will actually act actually, it turns out that I am going to use rust for the for the bits, which aren't

Will Vincent 22:12
such a hipster. Can't lose you, Carlton, this is where good Python developers go to rest.

Carlton Gibson 22:19
This will this. This is where it all went to, like I was looking at I looked at the Python embedding story. And frankly, it's terrible. And there's some great work being done to make it much better. But I can't ship you an app and say, Oh, can you please jump through all these hoops, I just, I can't do it. Like, it wouldn't be an app that I would be happy to ship and live with. So the football Mac, it's going to be swift base, and that with a rust core, and then on Windows, it will be rust with a web interface with Tory on there. And then the web app will be the web. And it will be those components. But on the server component that we ship is a single rust binary that you just download, stick where you want and run. And it ultimately had to be that way. And I took a long time I took a long time investigating the various Python packaging solutions. And they weren't they are coming on massively. But they they just aren't there right now and weren't there at the time.

Will Vincent 23:17
So while I was thinking, why swift took you a minute to learn, it's also because you're you're still following? And yes, 4.1 feature freeze has happened. Jay wanna talk about, you know, coming in? Well,

Carlton Gibson 23:33
that was so the feature features last week, and I've been Yeah, and I'm release manager 4.1. So it's a lot harder.

Will Vincent 23:43
There's a lot in there. Can you tease, you know? Tell us, okay,

Carlton Gibson 23:46
so we've got a class based views can define acing handlers. So you can write a class my view subclasses view def async. Def get and then you can do your your racing handler there, we haven't worked through all the class based views to be asynchronous, maybe we probably never will. But if you are into class based views, you don't have to drop into a different idiom now to write an async handler. So that's kind of cool. Then the ORM has gained an async interface. So you can do async async. Also, you can do await my model filter, dot get but whatever, and it will stream out the objects to in an in an async. Wait for it to be underneath it's still the sink, the sinkhole or am we so we're still working on integrating the drivers and getting the compiler to be async compatible, and that work will continue. But you could now write from 4.1, you can write an async view with an async interface to the ORM. And that will pick up any performance improvements just as you update Django in the future, rather than you having to rewrite your code. So that's kind of like the Yeah, I can write async views and to be honest, the limit here is is not threat, you know. So at the moment the way the DRM works so in, in 3.2, you we had this problem with thread sensitivity of our M operations such that basically the or any operation, our M operation was single threaded do only go one at a time and so your requests become one at a time. And that's not great performance. But in 4.0, it's per request the thread sensitivity of the LRM. So you, that's that that's a big speed up because you can more or less with, as long as you don't have too many open connections at once you can process them in parallel, because it's one per thread. More or less. Now, the situation is that your your blocker isn't? Isn't the speed of the async isn't using threads, it's number of connections to your database, and it's the number of times. So until we get fully async drivers, there's not going to be any big speed up there. So the async code you have now is going to be nice and performance nice and fast. Yes, it's going to use threads to connect to the DRM but that's fast enough for most cases. What how to get into that

Jeff Triplett 26:10
4.1 features. And I'm curious when you say drivers psycho PG, I think there's like a new psycho PG three, yeah, twice.

Carlton Gibson 26:17
So there's a there's a draft pull request to integrate psycho PG three. And then what about, what about sequelae? What about Oracle? What about MySQL, we've got a, there's a lot of you know, the LRM wraps up a lot of complexity for you. With the big issue. Now you're going to find is we're finally at the point. So when you started no GS all these years ago, and you ran up the no GS one or one example. And you've got these resource limits, because you open too many file descriptors, or you open too many database connections. We're now at the point where actually that's the problem you're going to hit with Django is that you're going to find Oh, I've got too many database connections open. But that's, that's the place we want to be. So then the next thing is, well, okay, we need the DB pool connection pool. So use PG bouncer if you're on Postgres, but what about the other database as well? Okay, so at some point soonish, dat Django will grow a DB pool for the for native database supported databases with a, you know, an API for other database backends to be able to support a connection pool as well, there. That's, that's kind of really exciting. So that's, that's where it's going. And that's exciting. On async. Nine, the feature I'm most excited about is that model constraints can now be validated in full clean. So in your in your database layer, you can say, an age field, say so you've got a minimum age, you say the age can't be less than 50. I know, for some non chart, no children allowed 250. So you can set that constraint on your model. And that will be a database constraint. So the database will enforce that. But now that that can be that can be validated when you're in a form. And so you won't get what what you might have had before is the database constraint in place, your form says is valid, true, but then you go to save and you get an integrity or no those constraints will validate us on a formula. And that's gonna be, that's actually going to be it's going to be

Will Vincent 28:13
forums, that's really cool. It may sound abstract, but if you've, I've hit that button. Yeah, that's a big thing.

Carlton Gibson 28:18
And then the form rendering has updated, as well. So we've got new new div based forms, form templates, which have got modern, more modern standards. So for instance, they, they group related elements in radio lists and field sets with like religions and things like that, which makes make them much more accessible for people with screen readers and whatnot. And that that's an easy opt in with a form renderer. But those templates will become the default from Django 5.0, you can still use the old templates, they're not going anywhere. But the form rendering changes over Django, 4.0 and 4.1 are just amazing. Like, we're at the point where libraries like crispy forms, or floppy forms, the need for those is going to drop away. And then there's an interesting question what's left because say, for instance, crispy forms has dynamic form layouts where you can build your form in Python. And sometimes that's much nicer, you know, you want to construct your form in Python and then output it. But just the template packs, you're not going to need those, you're going to be able to just change your form render at the at the top project level and say, my, you know, my bootstrap form renderer. And you'll be able to use that as your form renderer class and provide all the right templates so that you get the bootstrap styles or the you know, the tailwinds the household,

Jeff Triplett 29:31
whatever your they'd like, more like template base then template.

Carlton Gibson 29:36
So exactly, that's it. So 4.0 inch moved the the actual form element rendering the form rendering from hard coded strings plus, the widgets will form with a template based to all the form rendering was template based. And then 4.1 has added this much easier customization so it can just be done. You can either do it at the project level with former under, or you can do it perform class or you can even do it perform instance, changing the templates. And so it's it's really cool. It's good stuff. It's like, you know, every release, I'm literally blown away by how much new stuff. We have anything. Oh, there's gonna be nothing for the for the new one. No, there's masses. And we're already planning for point two now already starting to starting to think excitedly about this. So that was last week. That was a feature phrase. Let's just say one more thing this week, after the feature phrase after 4.81. I've been I've had on my list for ages to get back to async stuff. And this week, I finally you know, clear the decks. I'm like, okay, I can start taking on these tickets on definitely, and on channels and on Django. And it's like, Ah, I can spend summer working on, you know, lots of exciting async stuff that's been on the back burner for a long time.

Jeff Triplett 30:50
And this is why your Django fellow was that statement right there. Lots of exciting async work?

Carlton Gibson 30:54
Yeah, well, okay.

Will Vincent 30:58
So speaking of updates, Django rest framework, you're also very involved in that, and we had discussions, because you're not Tom. But you know, he kind of said recently, like, not really taking new contributions. Is there anything you want to add on DRM? I mean, just I think it's I mean, it's does what it does, its,

Carlton Gibson 31:22
its feature complete, basically, is was Tom's point. And it has been for quite a while. And so, Tom, I think is at the moment, we're at the point where to take input ski be compatible with upcoming versions of Django, you know, if changes in Django require changes in Django rest framework, then that great would have dogs, but Django rest framework itself is not in a position to adding new features. The last new feature we tried to add, we just never had the capacity to finish through was the open API schema work, which we got to know we got an okay version going. But the thing you really need to be using those DRF spectacular, which is just just a super implementation. And what was nice was, it took the API that we provided in restaurants, and it rode with it, and it went, Yeah, and it's produced, it's, it's sort of showing what could have been done, if only we'd have had loads of capacity and loads of bandwidth to work on that. So I think he's putting Thomas put in the docs, or isn't the point of putting in the docs, hey, go look at the RF spectacular for that. And then eventually, we should be able to det, perhaps deprecate the inbuilt stuff in in, skip the schemas sub package in rest framework, and that will keep working but perhaps move it into a sub into a third party package and say, Look, you know, you the modern version of this is over there, but you're still using it will still work, no problems not gonna break on you just isn't actively developed. And then that will make rest framework itself really tightly and tight and nicely developed. And then you know, it's okay for it to, to mature and grow. And then at the same time, though, a lot of what's important about rest framework can be brought into Django itself. So serialization is one big thing. And for that, I'm really excited by Django readers, which, you know, we had from DevOps show, go and check out that show again, go and check out Django is it's, it's great for serialization. And then, the other thing that Jack restaurant really does is the content negotiation, it'll let you handle rest. JSON requests, so your content type application JSON. And so what we'd like to do is bring request passing body parsing in so you add a request dot data property, which says, you know, if it's form encoded, you'll get request dot post, as you always have. But if it's JSON encoded, you'll get a dictionary back that goes via JSON load, you know,

Jeff Triplett 33:53
one of those for so long. All the DRF features that come back even view sets, which I don't know, it's popular to hate on, but they're so good.

Carlton Gibson 34:01
Well, there's no reason why they couldn't be just a little package, which had, you know, just literally a CRUD view set in it. But what I think that the thing that needs to be in core is the ability to respond differently to different mind types. So this is HTML, this is JSON. And if we could respond to those differently, that would be in the 99 case, if that's pluggable, so you can respond with a YAML parser or tamo look great. But if we had HTML plaintext JSON, that's almost all the web requests web responses you ever sent right and all the request bodies you ever get. So that's what we'd like to and got

Jeff Triplett 34:44
go nope, nope, got finished with that. Well,

Carlton Gibson 34:47
the the last is the unknown. Johnson's got this. This pending PR to update the the request object to make it more modern, give it a slightly more modern API with you know, the uppercase get and the uppercase post being a bit of a hangover from the old days, and that that nearly went in the marason Ira A bit like that, that's a massive change, really disruptive change without any features. It's just literally a cosmetic change, and it will affect everything the diff was massive. If we can get the request passing in as well, the content negotiation in as well, then it's not just a change for change sake, it's a change with a whole load of feature goodness to go to justify and to go with it. And so, you know, that's kind of that's kind of what's on my list. Is the Asics work plus that kind of request modernization request? datas type stuff. I think Maris is very much focused on things like, you know, our M, cycle, cycle PG, three DB connection pool, these kind of ideas, you know, can we get those in as well. So it's just a really positive time. That's great. You know, I'll say one more thing. And I'm going to shut up because I'm my throat starting to get dry. But I think we're really seeing now the maturity of the stuff, the API Stability Policy, and then the move to the to the threat, the new request, and then the number interrupts 2.0 2.1 2.2 Z LTS, and we've maintained the stability from 2.2 to 3.2. And, you know, the upgrade cycle is really easy. And because we've got the Stability Policy, it's like, okay, this is this is a given space and time for Django to keep keep growing. And, you know, then with the async, async, starting to mature, it's like, oh, wow, these are, this is a positive and rewarding time to be working with Django. I think

Will Vincent 36:47
we're a little biased on this podcast. But anyway, I'd agree with that. So anyway,

Carlton Gibson 36:53
I'll just talk solidly for 20 minutes.

Will Vincent 36:55
I just thinking like, I'm definitely the color commentator in our relationship, Carlton, because it's like, up is a deep question. Let's give it let's throw it over to the fellow. Well,

Jeff Triplett 37:05
no, this much was coming in for one. So to me, it's enlightening to know this. As far as DRF goes, model serializers are so underappreciated. I'm doing a project for a client, like now where I had to deal with CSV data. And it was just so much easier to do all my validation through through model serializers for it, even though it's CSV. And then there's a third party project that had CSV, you know, handling. And then it was funny, I was writing tests for it, I'm like, why is my response codes all messed up, and then I viewed the output and actually returned it as CSV. So I was getting status code and description. And it was amazing. I'm like, Oh, this is horrible and great at the same time, because of course, status codes would come back in CSV format, versus, you know, JSON or, or whatever. But you know, the extendibility. So like, the hard part, I think, is what what will Django take from routes, I feel like will be interesting to see. Because, you know, Tom did this had this beautiful playground of coming up with all these concepts that he couldn't do in Django. And so view sets, I think, are super powerful. serializers, were just a better version of Django knows. And then, you know, like you said, the content type negotiate and MIME type negotiations? Yeah, I don't know. It'd be kind of curious to see the parts that need to go back. This has been my wish list. And I've talked to you all for about it for years. Like when is DRF going to merge back into Django? Or what does this look like? So I think it's exciting.

Carlton Gibson 38:25
It is, I think the point you made there about having the playground outside of Django, it's like, that's really important. Like, if you've got an idea, and you want a feature in Django, we'll implement it outside of Django and show what it looks like. And then maybe, you know, because it's time to email the developers list and say, Can I have this new feature? The answer is pretty much always no. Whereas if it's like, there's this third party package that I built, and it works really well on, everyone's like, Wow, it's amazing. Can we have it? That's a different conversation. Can I ask you to question? Yeah, go ahead. Oh, well, I want to ask you about Tango news, because we've had this last difficult couple of years. And the one of the big things holding the community together that's really felt I felt was really given it a kind of sense of continuity when we haven't been able to see each other has been janky news. And I wanted to a thank you both for that, because it's just phenomenal the work you've done, and be asked you about it. And how's it going? And what your thoughts on that sort of stuff.

Jeff Triplett 39:19
Well, thank you. That's quite a compliment. I don't really know how to follow up with that after that compliment, actually. Will you have thoughts?

Will Vincent 39:26
Yeah. Never, never short on thoughts. Yeah, Django news is, it's been fun. It's been. I mean, in some ways, it was an excuse, Jeff, for us to collaborate more regularly. And it also came out, because I think even more than me, you just have your finger on the pulse of what's going on with Django packages and things and, and it just seemed like we should share that with other people because there isn't a Django newsletter. It's a lot easier to do the newsletter than the podcast. You know, I think, like we do it weekly, but it's You know, I look around and find stuff you find stuff, we kind of do a little communication on Thursday night. But it's it's not that hard to do. And if we need to, like, you know, you can take a week off, I can take a week off. So it feels pretty sustainable. The we use this platform called curated. So that handles most logistics, it's a little expensive. I think it's $70 a month now with where we're at with 2500 Plus readers, but we have ads and we have job postings. So it's, you know, it's not a moneymaker for us, but I enjoy doing it. And I do think it helps the community and I like things that are relatively easy to do, I guess I would say, as opposed to the podcast, which I love doing. But you know, it's gonna take me the rest of today to produce this episode, whereas the newsletter is a little bit faster.

Jeff Triplett 40:55
It's definitely low effort, and I think high reward as far as like, time spent. And so I don't know I was, we kind of talked about it. And the whole idea of like, is this a project we can do in about 30 minutes a week. And for me, it's a product of things I'm already starting and articles we're already seeing. So it's kind of interesting of like, what we noticed on Twitter, what was very Twitter adverse for a while, but I guess you're back on Twitter. So you're maybe seeing this stuff again, or maybe you were lurking before from I was lurking. So you know, go

Will Vincent 41:27
ahead, email me, if you want to talk. I prefer email to Twitter stuff. But I tried to ever get

Jeff Triplett 41:33
another email again, I think it'd be happy except for newsletters.

Will Vincent 41:38
Yes, yeah. There's but there's, there's, there's, you know, in some ways, I'm surprised that we're able to find two to four high quality projects every single week. I mean, there's just so much stuff out there. I mean, we don't repeat things. It's, it's pretty amazing. I keep wondering what we're going to run out of projects, or there's, there's not going to be new, new stuff to feature but between all the Django things happening with the fellows, and then Python has things and people have articles and tutorials, and Django Girls is now having a podcast, you know, there's, it feels good to kind of wrap it together and gives us an excuse to look around more than we normally would for what's what's out there.

Jeff Triplett 42:19
I think possible, the cadence of python two is, you know, I don't I know there's some relationship between gencos release process and pythons, but there's just enough going on with new pythons and versions. And if we can help move the needle a little bit, so people know like it is okay to use Python 310 Or start testing with 311, then that's super valuable. And I hope that that influences people to try these things out and update their CI and, you know, if there's something that we think is cool, I'm super opinionated about stuff like HTML, I've said for a while, like use this, this is gold, even though I've maybe done one or two projects with it. So like, anything like that, that kind of helps move the needle back that Django is good, let's give you examples by showing you something that maybe will inspire you to write something or use a library, then that's, that's where I get fulfillment. Seeing I

Unknown Speaker 43:08
think, I think that, sorry,

Carlton Gibson 43:10
go I was just going to pick up on the Python release process that we sort of gone.

Will Vincent 43:17
And I was just gonna briefly say that my my major concern, when we started the newsletter was being in a curator position, sometimes isn't ideal, because you have to say yes and no to things. And it's been far better than I feared it might be in terms of when people submit a project or an article or something, or we see something, you know, people kind of understand where we say, you know, it works or doesn't work, like we're trying to be a positive voice here. But we do have to curate it. I sort of envisioned more negative interactions on that front. And there basically haven't been any. You know, same thing with awesome Django repo that Jeff and I do that it's now over 5000 stars. You know, it's, it's hard to say no, but the whole value is in saying no, and trying to enforce some degree of maturity in the things that we promote.

Jeff Triplett 44:07
That's, I was gonna say, awesome. Jay goes probably harder because like, since we're curating, yeah, I mean, it's not like a this is a fact thing. So if we include a length that is not great, but it's not bad, then that's okay, too. Like, you know, you never know, you know, like I said, there's 25 2600 people who subscribe the newsletter, and if one article appeals to 100 people great, but there's no pressure that, you know, there can be bummers, and that's fine. Awesome. gencos interested in that I feel like it becomes this like you can't use Django and your product name. So we kind of joke about that probably on the side about like the number of like trademark issues that sometimes Django which

Will Vincent 44:49
while people Yeah, submitting like paid software packages, which, you know, then becomes a trademark thing, which then the DSF me has to deal with. So

Jeff Triplett 45:00
There's probably more like agony with it then. Django news.

Carlton Gibson 45:04
So awesome. Django is a bit like a honey trap for trademark infringement.

Jeff Triplett 45:08
Yeah, unintentionally. Yeah, kind

Will Vincent 45:10
of. Sometimes give us give us something to fill the meeting with. Yeah.

Jeff Triplett 45:14
But please put it Yeah, please, please put this note in your your footer and ask the DSF. Before you do this, like, this looks cool. But you know, you can't just name your project Django, Django, Django,

Carlton Gibson 45:25
Django, Django. Can I ask you one more question, Jeff, about Django packages? Because that just came up there. Previously, you've been

Will Vincent 45:34
working but you didn't want to mention your Python thing. You had a Python that girl? No.

Carlton Gibson 45:37
Well, the Python thought was just to watch it picked up about what Jeff saying about the relation between Django releases and Python, please, it's a bit like at the moment we're in? Well, I feel that we're in a bit of a an interesting time because they've moved to this annual release cycle. But what that means is that at any given point, there are basically five supported versions of Python, active at any one time. So 3.6, has just died. 3.7 will die in October, but then out will come through 11, and it's 38393 10 to 11. And so for the for the LTS of Jango LTS is we kind of have to end up supporting all five of them, because people will be like, I'm on the LTS, and this new version of Django has come out, can you please support it? I think we've said that 4.0 will be the first version support 311. So string, Django 3.2 Probably won't support 311. But we've had this problem before was, you know, month after month, people are asking to support the old version, the new version of Python, even though they're on the old version of Django, it's like, this is hard. This is really, you know, I'd like to get to a point where we can support say, three, or something like, you know, the last three years worth of Python or

Will Vincent 46:49
something I know, you can apply for a PSF, Grant, Carlton?

Carlton Gibson 46:52
I don't know. I mean, if it's just a CI that bothers me, could we run these, we run this absolutely massive matrix of the same tests again, and again, again, and there doesn't seem to be a very clever way of saying, well only run this one, if that one passes, you know? Do you see what I mean? Because you're running 50 builds, and it takes an hour and a half. And it's like, that's too long. That's, you know, I just push to adopt change. Anyway, that was the only thought about the Python release cycle. It's, it's,

Jeff Triplett 47:20
it's tremendous ways to deal with CI. That's even though it's annoying. If it's like running certain things at different times, you don't have to run the full set. I mean, I know that it's few that you have to run the full test suite every time somebody updates a readme. But with CI now it's gotten easier to only run tests when you need to, or what's appropriate. But I mean, yeah, to your point, I think that it's gotten a lot easier to go somewhere on Django, or sorry, somewhere on Python, like 3738. Moving to 393 10 311 has been very, I've yet to have libraries just fail because you switch versions. I suspect Django is gonna get more like that, too. And it's probably more about, you know, with the depreciation messages and stuff, you're probably going to be able to, I don't know, they should at least be showing up on CI. So I think, yeah, the tooling needs to change a little bit about it. And I feel sorry for authors because, you know, I've heard people complain for years about how much like changing versions of Django impacts their book titles and makes their content out of date. So like, it's even worse, I'm sure for people writing Python books today, but I don't know this.

Will Vincent 48:21
Oh, no, I have no sympathy for Python. People. No sympathy. It doesn't update every eight months. No sympathy.

Jeff Triplett 48:28
I mean, you could name it like, four ish. You know, Django four ish for professionals or?

Will Vincent 48:36
Yeah. Yeah, I Yeah. It's like, how to comment. I'm like the only Django book author left. I mean, who's been here for a while Adam Johnson is still updating. But it is, uh, I'd like to say it's beyond my control. But I guess it's somewhat in my control. But you know, I don't it's a technical decision. Yeah, it would be nice. If, you know, it would make more sense for newcomers of 4.0 is the LTS and you could just be 4.0 Point to the point to doesn't help book authors. But I know that it's relatively new to have that whole system. And as Carlton mentioned, it really helps the development. So it's not all about the book authors, even though Yeah, it would be easier if a book didn't go out of date so quickly.

Jeff Triplett 49:26
Yeah, I mean, it's a it's a hard problem. And it's a maturity problem. I suspect we'll figure it out. Or there'll be a better way of laying things out. Or maybe it flips at some point maybe by by Django seven or something, the LTS lands on zero. Like I don't, these are solvable problems. I think it just hasn't been obvious what the friction is. But, you know, the more we talked about it on your podcast, and

Will Vincent 49:49
well, what's Python Python is just going to be like, you know, three, three dot 50. Like, when does it go to four? Does it ever go to four?

Jeff Triplett 49:57
Because of the resistance to go from two to three It took so long it took like 80 years or something like that long predates pythons origin even full 10 years. Yeah. So I think because of that there's apprehension to go to Python four. But my theory and this is completely made up, is I think that there's no way in the world, you're going to have a language called Python that has, you know, py, and that they would switch over to Python four before they can have Python 3.14. So they're gonna land on pi. And then I suspect at some point, someone's gonna say, python three point 85 is weird. Let's just finally match dates or do something. So I think it'll flip at some point, the point is to get this cadence down. So it's so much low effort, that when they switch from Python, let's say 3.14 to Python four, then it'll be such low friction, low effort, that we're not going to have this whole, you know, the grief that we've had in agony before, I still have python two clients that, you know, we do porting jobs, probably two or three people that were obsessed or doing porting jobs at any given point in time, because there is so much Python to code out there. And, you know, other than, like, security is a good reason. But if you've gotten millions of lines of Python to code, we didn't really give people a compelling reason to switch other than we want to work on python three, and that's totally totally valid. But, you know, company has kind of get a bad rap, I think sometimes for saying, you know, you wrote this code and this thing, and things are stable, and you're supporting features and stuff. But when you're trying to flip a million lines of code over because the print statements and stuff, I mean, it's kind of silly, in my opinion, but eventually you got to do it. And there's compelling cool features and great things that have come out of being stuck on versions that what is Django two? Oh, I think was the last two, seven, release.

Carlton Gibson 51:42
Might? Sorry, one 111 111.

Jeff Triplett 51:44
Yeah, maybe one a little bit, we

Will Vincent 51:47
can look it up something like that. Oh,

Carlton Gibson 51:49
I have, I remember when I deleted my car, my local testing. For Python 2.7, I was the happiest person.

Jeff Triplett 52:00
That's the happiest person. It's great. But people are still stuck on that.

Will Vincent 52:04
Right? So I know, entirely do people do? Was at Red Hat has some Python two, somewhat supported version? Do people use that kind of stuff at all the these companies supported python two things. Right? I think it's right,

Jeff Triplett 52:18
yeah. There's a particular version of Red Hat I think a lot of them use, but we tend to put them over in Docker. And then that way, they can run the old in a new environment, and they don't have to worry about, you know, 20 year old or eight year old servers running because those are pretty crusty. And,

Will Vincent 52:31
yeah, that makes sense.

Carlton Gibson 52:36
If you've got time for my Django Django jacket, I just want to ask you about Django packages, because this sort of couple of the old sites that are out there's Django Django snippets, and Django packages, which are sort of old ecosystem, things that are still going and, you know, still being kept up to date. And I wonder if you've seen, I've seen you tweet a lot. And you've done a lot of work on it. Yeah. So are you getting contributors as well, because that was the thing. And if you do want contributors, and one of the reasons I'm keen on these old pet of these old sites is that they're sort of real Django applications that you can have a look at the source code and poke around and see, you know, how they're built rather than just, you know, academic exercise, like learning exercises,

Jeff Triplett 53:19
I think I got it updated to four point Django 4.0. So to be it's pretty cloudy, we had a we had some really good momentum going, and then we had a baby. And then I kinda, you know, I keep up with it and keep patches and I've got a bunch of like Git stash code for some features I want to change. The code was in excellent shape. So other than, like, some blunting and random stuff, and then I've been kind of making I do what I do at rep says, like, look for patterns, or what's maybe broken or what's not so much broken, but like performance issues. And I've been slowly kind of like every, every couple of Fridays for something else, spend half a day, your day and just like kind of devote to, you know, what can I fix? Like, can I fix search, and there's been some spam issues and stuff, because you know, curation is really hard on it. And then right now, we still have too many packages and grids. And so I've kind of been Yeah, just slowly iterating on it and stuff to try to like, make make it a more solvable problem. I think for a project that was created back in like the original was original Django dash or the second Django dash or something. When Danny and Audrey created it, and then what has it been like 12 years or something since it's a cool side, I think Django snippets doesn't get enough love either. I'm certainly don't give it enough love. So I would love to see all you know, maybe bring a maintainer on or talk about it. Well, the OG which I remember still

Will Vincent 54:42
sort of maintains it like I get ops team emails and there's stuff on snake definitely needs a Jeff to come in and give it

Jeff Triplett 54:52
I think they have one I think somebody

Will Vincent 54:56
Oh, okay. I'm sorry, whoever you are. I'm sorry.

Jeff Triplett 54:58
I'm just Well, that's just stead I think, yeah, it needs more attention. And you should bring that we should

Will Vincent 55:02
ask bring that person on.

Jeff Triplett 55:04
Yeah, I wish I remember their name right now.

Will Vincent 55:08
Oh my god. Who's

Carlton Gibson 55:11
Chris? Chris? Chris. Great, Chris. Yeah, sorry. It's totally Chris. I'm so sorry. Yes,

Jeff Triplett 55:17
Chris just still on? No,

Carlton Gibson 55:19
he does, Chris. But Chris stepped forward a while back and was like, Look, I'm happy, I'm happy to, you know, because a lot of it's just like merging the updates and keeping code, but it's like, okay, he's been, he's done a really good job of cleaning up the backlog and keeping it keeping it going. And then, you know, he's even asking, you know, what features do we want? What can we do, and I think it's a great, it's a lovely opportunity for, you know, I want to get involved work on a little project. It's not high stakes, in terms of, you know, you don't have to be intimidated by it, you can just work on a little feature, add a thing that work with contributors working on GitHub, it's, it's a nice opportunity for, I can get my toe wet and open source. And it's a lovely little application. And it's a real Django app that's been up time of forever and just been hard. It's been hosted on Heroku. And they've done very well. And we're no doubt going to have to move it at some point. But it's, you know, I love that it's still going and we had to shut down Django people, because we couldn't keep that going. And that, again, that was an old app from the old days. And it was just the thing is we had was this European legislation GDPR issues, and people weren't able to update their personal data. And it's like, well, you know, we even is this even legal now to help to have this site? I don't know. And then there was spam issues. And so we had to shut that one down. But to be able to keep Jango snippets going, and it's, you know, it's a cute little thing. And there's some genius, little if you dig through it, and how do I customize the choices in a form of forming based on the current request up there? It's on Django snippets is a perfect example of that from 2000. Whenever,

Will Vincent 57:08
while this is a broader issue, but I mean, we should feature things that are official ish on the Django project site, right, like on the Django community page. Snippets isn't there, you wouldn't know that. It's what it is. Yes.

Carlton Gibson 57:21
Yes. Excess.

Will Vincent 57:25
Right. So that's the larger dogs fellow thing that Carlton and I talk about?

Jeff Triplett 57:30
Yeah, I think it's a good resource. And Django packages too, is one that I use every week, almost use it daily. And so for me, like putting some time into it to maybe fix or get it up to date with Django for and it really didn't take a lot of work to do that. Once I get kind of bored back on my feet, and it's kind of hard with Django console, part of like doing snippets, or sorry, part of doing Django packages was a good excuse for me to dive into more open source code, a little less community stuff and kind of give me something to buy some time and, you know, fix issues that I've fixed for clients and give me a place that if somebody I get I get requests all the time for people who want to be want me to help mentor them. And it's so hard, I don't have the time. And I thought, well, maybe I can throw out an issue on GitHub and point people to it. And maybe we update the docs and make it an easier experience. So people can give back if they want to. And then maybe I can use that as a good way to you know, have a have a quick one. But yeah, people want to contribute. We had, I think 100 issues, and I think I got it down to 12 or 13. Grand had GitHub as discussion. So probably three fourths of those, I shifted to discussions. I don't want to butcher his name. But there's a Fabio who also works on the project too. He's one of the maintainers look at the footer. Sorry to butcher names, I don't want to butcher names. But like so there's, there's more than just me working on the site, I'm probably doing most of the main lead stuff. Now just because of time, both of us had kids in the last year. So you know how that goes. But yeah, I would love to see it grow, I want to change the default grids to be more list base, and then give you a more of a comparison. Because those grids that are 100 200 wide are just, that's just too much. And then there's a pretty big spam update coming up. And you know, part of it like too, is we are starting to filter out projects that are 12 and 14 years old. I did want to immediately remove all of those so that you know, some old packages wouldn't be accessible. And so yeah, there'll be some quality of life updates saw project the other day. I don't I don't want to mention their name. But somebody kind of had a like, this is like Django packages bit curated. And I thought, oh, that's kind of neat. But again, this gets into another trademark issue probably with the DSM. So I hate to bring it up. I love seeing those sites exists though. So yeah, exactly. Like here's a thing plus this but just be careful with what you name your projects. Yeah. The DSF doesn't like sending those emails like I don't think we'll enjoy it. That's not what will wakes up.

Will Vincent 59:54
But yeah, it's one of the things I least enjoy is being the Enforcer that but you know needs to be done. Um, hi, I'm on the board is also very helpful.

Unknown Speaker 1:00:04
Ask first,

Will Vincent 1:00:06
I had one last thing to plug that sort of relates Jeff, you and I have talked about. So Django x is the starter project I have had for a while they just just updated to 4.0 has over 1000 stars, which I guess is is good. It's a lightweight started project, you can just get up and going with Pip pip M, Docker, white noise, Bootstrap, Django debug toolbar and crispy forms, so and all off. So deliberately, very lightweight, not not cookie cutter cookie cutter is amazing, but designed to be somewhere in between. So people should check that out. And also, you know, Jeff, you and I have talked about, you know, potentially collaborating on our own version of like a premium version of that, which is one of these interesting, but is it worth the time kind of thing to do? I mean, so I guess I'll tell that to you as a question I know, at Rev. Sis, you have an internal kind of template you use, right? Like, is there anything you could talk about? What do you like to see in a starter template project,

Jeff Triplett 1:01:11
um, I like to see batteries, but not every battery possible. Like there's some really, really good cookie cutter templates that I see a lot of people use, but there's so much inside them sometimes that it's not, like it's not as useful for stuff, reps, this has one we call an alpha kit. And we've kind of toyed around with like, opening it up to. And so we, our problem is the industry is hit and it's so I guess hot right now as far as like, we've got more work than we have people for. But we also know that the market will correct itself or can change. And so it puts us in a bind where like, we would love to be able to spend time working on products or this type of thing. But, you know, like, what do you do you take on client work while you have client work? And then if we can give them the low, maybe we'll work on something.

Will Vincent 1:01:59
It's like, Oh,

Jeff Triplett 1:02:01
yeah. So you know, things are great. I hope things continue. But you know, we would rather be a little too busy than not busy or have to lay somebody off or something. So that's probably more inside baseball than the casual person who listen, your podcast would care to hear. But yeah, I think in general, starter projects, I think are great. I think there's a couple people who've tested it. I like to look at I like to see what all the other communities are doing. Laravel is doing some really awesome stuff for a while. And that's kind of you know, when you have somebody who creates a framework, and then they decided that it was okay to make money by doing all these products that are adjacent to it. And so I think I showed will like my idea playbook, like three years ago, which was like, I think there needs to be a good newsletter. I think there needs to be a good news site. I think there needs to be like a good starter project. I think there needs to be a good button out there. Yeah, yeah. So I

Will Vincent 1:02:54
mean, that's what Laravel the makes its money on the starter project, but really on deployment. And he's tailorable for just four or 5 million a year, I

Jeff Triplett 1:03:04
think. Yeah, I

Will Vincent 1:03:05
mean that. So I mean, those are, those are the two ways you do it you hosting in a starter kit and really probably hosting.

Jeff Triplett 1:03:12
Yeah, and again, like it's not really 30. They're not necessarily doing hosting, they're kind of deploying your app for you. Right. And sorry, the hard part of Django is deployment, which, you know, smart people at Carleton, and I think, Pete from Lincoln loop, and you had I just listened to the is it app? Do you like applet just listen to that. I have listened to podcasts the other day. And it's interesting. I've kind of like, you know, kick the tires on these apps to see kind of what they do. Except for button. Yeah, I mean, I think like there's a whole healthy industry here that, you know, don't be afraid to start these companies or try these things out and stuff. Just get permission first, if you use Django and your URL, that's really my only advice, or your domain.

Will Vincent 1:03:54
You know, you know, SASS Pegasus, which is probably the dominant paid starter project. You know, Cory was very good about checking in, it does not have Django in it. So it's fine. For example,

Jeff Triplett 1:04:03
yeah. And I think it's good to have competition these areas, too. So, you know, this makes everybody better. Because it's such a huge industry. I think people think that it's like, you know, 2600 people that follow the newsletter, there's, there's 10,000 times more that people hit like 10,000 times more people that are part of the Django community or that use Django, we probably only get what we call the community are probably a very small piece of the pie of the people. Overall, people who use Django, the biggest

Carlton Gibson 1:04:28
competitor is non consumption, right? People just don't have a solution. And so it's not that there's a saturated market or anything like that, like the room for a billion options.

Jeff Triplett 1:04:40
Turns around like there's I don't know if there's a dozen Django shops or something consulting agencies, but we're friends with everybody. Like it's been such a big market and stuff and I've never felt like there's been competition like sure, we may put bids on the same stuff. But overall, I mean, there's always more work than any of us can do and it's, you know, a lot of great people run In a lot of Django shops, so you know,

Will Vincent 1:05:01
and there's big shops too. I mean, I met someone at the playground yesterday or last week at who had been at JB software. I think he said they had like 100 people, something like that. You know, they're a sponsor of Django. You know, I mean, because ref says is relatively boutique. Actually there. Are these really large shops

Jeff Triplett 1:05:18
out there. Yeah, I think JBS is. And Adam fast. He's part of deafness. He works for them, I believe. Yeah. And I don't know that they have that many Django or Python devs, they probably have four or five or something. And again, that's really made up numbers, but they do a lot of I think, dotnet and different, different stuff. So nice plug for them,

Will Vincent 1:05:36
by the way. They're a sponsor. So they Yeah, it's all good. I was not being facetious. Sorry, crowd. And one reason

Carlton Gibson 1:05:44
why this doesn't matter is any agency that you work at, it's like, you know, to to Django devs. And then to to front JavaScript, hands, and then to designers, and then a business development fellow. And

Jeff Triplett 1:05:56
I think I've worked with every agency in in our space over the years, like we've either co worked on projects together, or there's been a couple of we've hired through Dubs, and I've like, let Ben either lead or project manage on and and that's the same thing. I've worked with other shops, too, because they needed help. So well, you're very good friends in this industry. And, you know, the problem has just been really getting people. So

Will Vincent 1:06:18
well. Jeff, thank you for taking the time. And I enjoy these somewhat rambling discussions. But I think between the three of us we cover a bit of ground in the Django community. So it's interesting to me, and I think hopefully fills in others on all these things we talked about that maybe we don't talk about publicly.

Jeff Triplett 1:06:34
Yeah, thanks. I really appreciate being on your show. And appreciate that y'all keep doing it. I know it's more work than a newsletter. But

Will Vincent 1:06:44
we have we have, we have one more air culture from redox. Is is coming on. And then we're going to take the summer off. We'll put out a little bit old episodes and start up in the fall. So with Carlton's mentoring, I've you know, that's how we keep doing it is

Carlton Gibson 1:06:58
that's how we do some breaks. That's how we do the summer in Europe. It's like to

Jeff Triplett 1:07:03
write that's amazing for work and read the docs is another Django dash project two, I think it came off the same time as Django packages. Somebody should read do Django dash.

Will Vincent 1:07:13
Yeah. Someone from desktop. Maybe.

Jeff Triplett 1:07:16
That's got too much on.

Will Vincent 1:07:20
Alright, thank thank you, everyone, for listening. We are Django chat.com, chat Django on Twitter. And we'll see everyone in two weeks and then in the fall, so see you then. Bye bye.