Is Owen here who submitted a lightning tool?
Yes, it's not you.
I will give you the mic while we wait for Owen.
Hey everyone, where should I sit?
Here's a big good.
Yeah, cool.
Hello.
So I know everyone wants to go to get some beers and food and whatnot.
So I'm just going to see very very tight faces.
So I'm just going to get a raise of hands of who heard about the python programming
lag which year.
Okay, so I'm in the right room.
Who heard about your python conference?
That's good.
Can I get a raise of hands of who in this room was or participated in a European conference?
That's a few.
So I want to improve that.
There's a great opportunity for you this summer.
You're a python is happening in Krakow.
We recently announced that we're doing the European this year in Poland in Krakow.
It's happening in 13 to 20 July.
We have two days of workshops, three days of tracks and two days of sprints.
It's back to back with your sci-fi.
So if you do that, you can do like two weeks of conferences.
That's also great.
The call for proposals is open now.
You have two more weeks to submit.
Well, it's two weeks.
Is it short?
Is it long?
I don't know.
I encourage you to submit as soon as possible.
I don't think there's going to be any extension, but who knows?
I think it's crossed.
And there's also call for contributors and volunteers.
Some of you might know your python is a volunteer lead company.
Conference?
Sorry.
I'm a bit tired myself.
So you know, you can contribute in any way you can.
And we're also looking for sponsors.
If your company is willing to sponsor one of the biggest and longest running conferences in
Python conferences in Europe, you're more than welcome to
Send us an email, check out our website.
You're a python that you and I'm looking forward to seeing you all there.
Thank you.
It's Hujo, castence in the room.
Can you come forward and do your presentation, please?
HMI or USB-C?
And then your microphone.
One of three is you?
Apparently.
I think both of them have to be asked.
Okay.
My name is Hujo.
I'm a phone for you.
I'm here to thank you for your questions.
Which is a framework that we built for a really awesome community experience.
So I'm going to thank you for how these are both.
So let's imagine that you're a company scientist.
And you're an experiment.
So if you're a metropolis, you're in Python of course.
And you have a couple of equipment that is connected to your metropolis.
And while you're in this experiment, you got some data.
So much.
Thank you.
So to reiterate,
the Jews have really built to be extended.
There are those that they've inherited.
You have been exposed up.
I invite you to thank the look at our real story.
In our documentation.
Especially our documentation is not as good as I wanted to be at.
But the I'm protected you.
I like all the examples of the really love that I just took.
Thank you.
Thank you for your presentation.
I want to ask if a person or Owen somehow materialized in the room.
That's Owen right there.
Thank you.
Owen is going to give a small talk about transpiling an old codebase.
No problem.
So here's HMI or USB-C.
And that's your microphone.
Yes, I see.
Awesome.
So it is a five minute talk.
So you might want to use that summarized AI feature that I saw.
So apparently it might be that your mic doesn't work.
Would it be possible to use this one?
Yeah.
It switched off.
It's put a light.
So where's the secret switch?
So now it's better.
Okay, I'll try not to blast this.
All right.
Thank you.
Okay, we'll just do it straight in here.
So.
Okay, so we're going to talk about a project.
This is a project I've mostly been working on as a personal project.
But I have been working on it a little bit at my work as well.
Luckily, I'm.
CTO my work.
So I kind of get a little bit of time to work on it when I.
Between calls.
So this is a.
You start talking about something that's not Python.
If you bear with me, it will get into Python in just a minute here.
So.
I'm going to talk about this language called mumps, which is a language that is a little bit older than me.
And has anyone here heard of mumps before?
Oh, we have someone.
Okay.
Now very many people, though.
For language that's 50 years old, how many people have heard of cobalt?
Another language that's 50 years old.
Right.
A lot more people.
You would think that something that runs a lot of very important systems that.
Our as old as cobalt on mumps.
It would be well more well known, but it's not.
And I got interested it because we work with the Veterans Administration in the US and.
We don't work with this system, but they have a healthcare system called vista that is open source public domain.
That is built using mumps.
There's been built.
They've been building it for 40 years, right?
So it was built originally built by doctors and they have been.
You know, gradually building this.
This tool, which is actually pretty hard.
It highly regarded like it actually meets a lot of requirements.
It has modules for like everything you could imagine in healthcare.
Like talking to physical devices, pharmacy, you know, every specialty.
Right.
So it's really big broad system.
And it's also used by many other.
Healthcare systems, not vista, but other mumps systems if you've used.
Epic.
That's a very major healthcare system use a lot of hospitals.
A lot of national health systems, a lot of financial systems use still use mumps.
And the challenge is a lot of challenges, but some of the big ones is right.
No modern tooling.
The code, the way the code works is usually upload.
It has a built in.
Her hierarchical database.
If you studied your database history at school, you may have heard of these.
They are still in use, not sequel.
So I guess it's no sequel if you want to go really modern.
And so you upload the code to the database.
And yes, it's very hard to operate.
You can't do like code coverage or automated testing very easily.
And a big problem, honestly, is just the developers are retiring.
It's hard in schools unless you work in Epic.
You're probably not going to learn it naturally, right?
So there are a bunch of challenges around this.
Why is this going backwards?
Guess I can't use a PDF.
Well, I should have just kept us in VS code.
Okay.
So a little bit about mumps.
This is a snippet of mumps code.
As you see, it's very tense.
This is actually a very friendly snippet of mumps code.
You can see it's getting setting some declarations and new variables,
setting values, writing some output.
You know, you can do air for then.
You can do a lot of fairly normal things.
But you can also do some weird things.
So the database is all the variable system is set up in this hierarchical model.
Very much like a very like much like the database, right?
So essentially to put this to variable, you just take your hierarchical array and say,
store this and to retrieve it, you retrieve it.
And that passed down every time you call a function,
all the variables you pass down get modified by that function.
It's kind of like locals, but it's by reference kind of.
I want to know you, but you have one minute left.
One minute. Okay. I will speed up.
Okay. I will get me get to the Python bit.
So yeah, white space is significant, but not in a nice way.
Extreme abbreviations.
A lot of other stuff I'm just not going to have time to get into.
So what we're doing is we are using this library called text X.
We're not using many libraries, but text X is a nice kind of DIY pass a library.
It makes it very kind of easy to configure passes for the language.
And then we're using analysis.
That gives us a set of classes of like nested classes representing the language elements.
Then we run an analysis layer on that that essentially takes those and creates a graph of connected classes in Python.
That represents things in the way that Python would like to be able to access them.
So then when we generate the Python code, we can walk through this graph kind of in a natural way.
And the code gen is really just like if this exists, then output this Python.
Otherwise down.
So I think that was the time for your talk.
Okay.
I'm very sorry. Maybe you can upload the slides to this.
I will.
Yeah.
Of the different.
Yeah, I actually should say. I submitted the talk.
I thought it was going to be in the tomorrow session.
So.
Yeah. Maybe next year, full talk, right?
Maybe.
Yeah. Well, maybe it will be done. It has a lot more to do.
Okay.
But we have like maybe 90% of the language working.
Can I ask Andrew.
Yes. Thank you so much.
Can I ask Andrew north all to come to the funds?
Hi.
So you also have five minutes.
And then we have two minutes for people.
Do we need more people?
No.
Please click on the mic.
And how do I do?
Here we go.
Okay.
And microphone.
So I'm Andrew.
Apologies if this talk isn't a very good quality.
I've made it in the last 10 minutes.
And it's the first talk of ever done.
So I'm trying my best.
Please be nice about it.
It's going well.
So this is a really quick thing that I did.
Which is I'm a cave.
So I'm a bit crazy.
So I go caving in places like this.
Which is quite nice.
And then also places like this.
Which is less nice.
You can see I sent my girlfriend in there.
Instead of actually going myself.
She came back later and said it wasn't very good.
So I've never.
I've never wanted that one.
So the problem we have with caving is we have a lot of legacy data.
And we don't have any centralized repository of data.
And we cannot learn from accidents and incidents that happen in caving.
You know, the airline industry, you know, maritime industry, even the climbing hobby.
You have their own centralized databases of incidents that people can learn from and have less incidents.
Okay.
We don't have that.
Which is probably a problem.
We do have some data.
At least in America their national's physiological society have been.
It's a mouthful.
So I have been recording data for about a hundred years.
But they record it in kind of stuff like this.
And then every single year they get a new attitude.
Because it's a volunteer run organization.
So I'm sure some people here will understand the problems with volunteer run organizations.
There's no consistency.
So the next year we have this.
And then the next year we have something completely different.
So for about two years we tried to digitize all of this by hand.
We're volunteers going for every single incident and typing it all up.
And we've got for about four hundred incidents with about 15 volunteers.
Because it's quite boring to be honest.
Anyway, algorithms have come on.
So I made Alan and Pipeline.
So I got all these stun PDFs that we already have.
And then I use as your text struct, which again is proprietary.
I'm sorry, but there's nothing that's anywhere near as good.
And then we got a bunch of text.
I didn't know there's some quite stupid.
So apparently if the text is in columns it doesn't handle that.
So then you have to run some analysis of that.
And then we have some text and why positions of the text on the page.
And figure out where the columns are and all this.
This was really hard for me because I dropped out of school when I was 15.
So anyway, eventually we managed to do this.
And then we have a several pass.
Alan based extraction to actually structure all of this incident data.
So the first pass is it gets like a whole text file which is like 100 incidents.
And we chunk and chunk and chunk until we get to a point where we can say,
OK, this is an incident in the Alan town.
Alan makes a list of chunks of text which are incidents.
And then we iterate for all the incidents.
We have another one that stretches the data location date.
And you know, it takes like the type of incident that was like maybe they fell.
Or they're limb got chopped off or a rock fell on them or something like this.
We have to deal with fuzzy dates.
I have to write some Django extension to do this because they people just recorded it as like
winter 1901 which postgres doesn't accept wind and 1901 and you can't sort by that.
So I had to deal with that somehow.
And then I had to do set four which was to make another Alan just go back and correct all the mistakes
that the previous Alan's made which was actually substantial.
So it was quite a lot.
It costs about $400 in tokens but the National Speoleological Society in America funded that.
So that was nice of them.
So what did we get?
We got weapons face like this.
Actually Google stole the design for me.
I had this first.
I actually used Alan to write all of it.
You can see Alan suggested that airplane crash might be a good search term.
I probably should fix that actually.
Like I said, I made it in 10 minutes or so.
That's just now.
And then we have nice structured data like this.
So at the top we have you know tags.
Injury, cablefall.
You can search through tags.
You can see the location.
It's all relational.
So you can see all the incidents and calls back.
Caverns.
You go down to the bottom.
You've got the original PDFs.
Everything we could ever possibly want about cave incidents which for most people is not very much.
And yeah, we got lots of different views.
And I feel really happy with the end result.
The project because we've already had the data be used in two doctoral research studies.
Which for me is someone who dropped out of school when I was 15 just feels really nice and.
I do feel bad for all of volunteers.
You spent months of their time trying to categorize it by hand, which was just wasted.
But hopefully they won't watch this talk.
So that's it.
Thank you very much.
Thank you.
And we have one last final talk for today.
And it's people who is obviously going to talk about fighting, right?
Yeah.
Hi, thanks for having me.
I'll just try and get the screen sharing started.
And here we go.
I'm sure you all use lots of Python packages and you put it often look at download figures for those packages.
I do that for Django on a weekly basis.
We had like 1 million plus per day.
And what I learned very recently is actually there's way more data than just downloads available for you to look at.
There's something called the big query data sets.
There's actually query for free.
There's a very generous free here and look at lots of ways in which people use those packages.
Basically, I don't know who he has heard of BigQuery before, but it's basically just equal with a somewhat different syntax.
And so here that's an example of the query that looks at how often Django packages have releases.
Reason I talk about this is I really like to nerd snipe more people in this room to run this kind of analysis because it's super interesting for us open source maintainers to see those kinds of usage trends.
Just a warning, it does cost money if you go over the one terabytes amount allowance.
So it's not small ramp up later.
And yeah, if you want to use .db that my country showcased earlier.
I do my BigQuery query to get the data to my computer and I use .db ETL locally to do my analysis.
So what kinds of analysis?
I mentioned how often Django packages make their release super interesting for us, making decisions of how to cure the package.
How to cure the package ecosystem, which versions of Django people download is super useful.
We have long term support releases. It's really good to know how popular they are and useful.
If you've been using UV, you might be aware that UV is really popular these days.
Super interesting to see if UV might be taking over from other package maintainers.
So here in the Blacktail ecosystem, UV has taken over from poetry in about six months.
And more recently, UV has taken over PIP, specifically for CI downloads.
So that's another bit of data that is in there.
And yeah, I just think it's super interesting.
I think we're only left to surface of this.
I do think it will make for a great talk at a big conference like your Python.
Just saying, oh, great talk at Django con Europe.
See if because it's in fruit two days. And yeah, you want to get started.
Docs are on the PIP I dox. It's all free.
I put you one teller by the month. Go for it.
Super interesting.
Thank you so much.
Thank you all for being here in the Python Devroom.
At first, this was the last of the Python Devroom.
We hope to see you back next year.
And I hope you still enjoy all the rest of the course then.
Thank you.