 Hello everybody, this is Python Bot and we can talk about anything Python related here. I prepared some topics but feel free to ask and discuss anything Python related. If possible, Debian Python related. We will probably end up discussing a bit about Git as well but hopefully I have a distraction at the end so that we can avoid that. Are there any questions? Or should we start with those? Oh, by the way, if somebody can make notes on Gaby, that would be great. So, first topic, Python suffers. Can we get rid of it as soon as possible? Are there any outstanding issues with it? Are there any packages that cannot be converted? Or does anybody have problems with conversion and needs help? How many bands are there? At this point, how many left? Last time I checked, there were like 200 packages left, I think. I'm 60 right now. Somewhere around 320 packages. That's unfortunate. I think each of them already has a back. How many of them are in T-Methans? That's here for a man. Does roughly coincide with the number of packages which don't have a 5-degree module? I'd be happy to backer on them. That was a joke. Everyone would assume that once a package container wants to enable Python 3 module, then it would stop using Python 4. Yes, it would probably go on. About 108 packages in BNT. At least those can be converted. How long should you upload them? No, no. So you upload all of them together. It should be a really easy task. It's a good thing for newcomers. If somebody wants to start working on Python packages, there's a wiki page with all the steps needed to convert. So we should advertise it to all newcomers, so they know how good it is. Do we have back-report already? Back-report, yes. This could be a good task for anyone doing your DNA processing. There's a claim for newcomer packages. Who in the room is here and can upload packages? Who in the room is here and can upload packages to the archive? So that would probably be people. Who is in the room and cannot upload packages? We didn't raise a hand. That's great. So we meet on Thursday in the afternoon. After each five packages, we are done. That's actually not a bad idea. I think it's only a daunting task if it comes down to two people. So welcome to the meeting on Thursday in the afternoon. I think actually the eating area is quite good because it's great and it's a comfy seating. When? Five o'clock, six o'clock? After the group meeting. Isn't that today? That's today. Well, we can do it today as well, sure. After the group meeting, we go to dinner or not? No, dinner is Thursday, or not today. So there are no bumps in Helsinki or Stockholm after three o'clock. So we could have between three and say five. Today or Thursday? Okay, that's good. So can somebody take a photo who's here? We're recording. Can we write that down on the ad hoc sessions on the entrance? This is for everyone's karma. And then send an email announcing it. So we didn't listen to it? No. Because we couldn't be the migration before that. We'll leave it to the end tomorrow. If somebody doesn't feel comfortable with converting or something and wants me to talk to him or her, I'll be available till Friday if you can wish me and we can work on it together. So we uploaded the news for those. Salads as a reward. I mean, if you all agree on that, I think that we should just use a novel. I think it's five-day delayed or three-day delayed. We have over 100 packages in the EPMT package. Yeah, you maintain packages are a lot of problems. We can start with those. Who is during that conference today? Otherwise, it's five. Can you use the rule during the conference today? Okay. If it's team-maintained already, then we don't need to add a new one. The first eight, three o'clock. These are the lightning phones, by the way. Oh, they are three o'clock. Lightning phones are three o'clock. Lightning uploads. So then we go at two o'clock and parallel with the other three o'clock. I thought we wanted to do it in the evening and once I had been having pizza. The conference dinner's that late. No, it's day or something. So what about today at 4 p.m.? A group photo? A group photo. A group photo. A group photo. Which room? We must check what's available. Okay, so everybody check on the board. Oh, well, we... Cool. Next lobby. Sorry, what time? After the group photo. Okay. After the group photo, maybe. We can announce the location of the group photo. But what's the other old and crappy Python helpful that we used to have? Sorry, my bad. So this isn't a problem anymore. Honestly, not on top of that. Another topic. Initially, the new DH Python 3 was shipped in the Python 3 package. But later, to make it easier to prepare the backwards and so on, I voted to separate the source package. And everything is now shipped in the DH Python package. And the Python 3 still depends on this package. So there are probably some source packages that don't depend on the DH Python. And in order to remove DH Python from Python 3 dependency so that Python 3 doesn't pull in files that are not really needed on our systems, we need to make sure that all packages that use it explicitly build depend on DH Python. Sounds like an excellent thing to do along with the conversion. It sounds easy enough to check. It's going to begin to be in rules, either as with Python 3 or explicitly in Python 3. Is there a way to check in the DH Python? Is there reasonably scriptable across all packages? Probably. It's addable there, but not very scriptable. So, I mean, at least the checking. Sounds like it, yeah. Is it ready? Last time I updated the file, the link was complete. So it's scripted, yeah. Is there a box file already? Yes. There's almost a box there. No, it's passport, sorry. Tim change, look, it looks like it is. It's not that bad. That's appropriate. Build dependency and then I will remove DH Python from Python 3. And I would, but that's really just a cosmetic thing, to be honest. The more important problem is the same thing in Python 2 package, Python 2 depots, which is still shipping older version of DH Python 2, which doesn't have multi-arc, for example, and it's like a fixed box when there are really important ones in there as well, but I would really prefer to have only one instance. And there are a lot more packages that still use the older one. And switching to the new one is just about adding new build dependencies. And it's like the old one provides a wrapper which checks if there's a build dependency on DH Python. If there's no such dependency, then the older one is used. If there is build dependency, then the newer one is used. And I would really like to get rid of the old one. It's a really simple task, but I even have a LinkedIn warning and the older DH Python tool writes a warning as well during each build, but there are still many packages. And should we do that? So I made a recent test report last week so it would be good if somebody could check the build blocks for this morning and identify a list of packages. Why aren't you just moving the depends from, I mean, DH Python is written in Python 3 and I don't want Python 2 and I don't want to put it in Python 3. You just draft all the warnings with the build blocks. Can you tell me where the logs are? The next step would be probably to file bugs and then it's always like this. Next topic. So will the Python support be better than the OK quantity? I think I will bring it in the R5 or to move it in and stretch this one. Just in case there are packages outside Devian that still use it. I would like to ask you to move it. Well, keep it, but we won't see DH Python support binary so that existing windows can still be installed, but not new ones can be built. Another option would be make it a wrapper of DH Python 2. I guess in most packages there are a few features that are not in DH Python and I don't plan to implement them because they were really Python support specific. But most packages are probably just about replacing DH Python by support with DH Python 2 for most packages it should work. The only concern is that we drop support for modules outside of the art party then people don't care about building this. They want to keep the existing support for this. So with the binary triggers and configuration stuff, DH Python should be made a Python support binary but then again you still can't install these packages. This now affects difficulty of back working. Python 3.5 is already supported in a format file. I guess we will ship these 3.5 files in stretch. So the release, the option is planned. So today we have the release plan at 8.1 in the archive and I think the release is planned for September. Yeah, at least at this time we should make Python 3.5 the support version. Could you please not make it the default Python 3 just at the time of the release because from some extreme it says that oh it's not released yet so I'm not supporting it therefore. You know what I mean? I mean at least a few weeks to give upstream time to say so that you can tell them. So first we have to finish some other tiny transitions. Then the first thing to do is to make it the support version. It's not meant to make it. I don't have to make it the default. We will support two of them. Sure, four and three of five of course a few weeks at least. And once... I will explain to you. But why? I'm stating. I think... I'm not sure. I think that upstream time for the first one we need three months after the first release. At this time we should consider making it the default as well. Before we go see some fallout in the packaging I think because that's the first time that we have two Python 3 versions in the archive. Well, for a long time yes. Well, the last time we had very few modules supporting Python 3. So we saw some issues in the window when trying to build packages that we have the fall loops across our Python versions. But with our build dependencies we'll try to call all of that. So I do think most of those issues are now there's at least bugs piled and dev in for everything because we had to fix those to get Python 3 defaults in so we at least fixed everything in Ubuntu that failed to build three versions. Hatches have been submitted to deviant for that and it's a fairly small set all things considered. Oftentimes there were simply mismatches of things that would build a kind of only Python dashed out for instance but then try to loop through a list of Pythons simple things like that. Another aspect, so are you going to upload it to C or experimental to Python as support? My selfish desire would have been to wait until the privacy supports it because now they don't, right? And many Python projects they pretty much not ready because they just rely on privacy. I would expect quite a bit of flood of failed builds on my regard. I don't know probably whenever 3.5 release can get more or less failed because they supported it at some point and they removed it because then it should get loose. So selfish me to avoid all the failed builds because of testing, failing with all releases of upstream I would prefer to wait a little bit more. I'd say as a selfish you you should have the failure then detect it which back to when you do 3.4 and then one upstream that way it's going to work if I had more time I would have probably done many things. Of course we could just blaze in the head but it will create amount of work which we could avoid that's pretty much what I'm saying. Just a little bit of waiting if they don't then always go ahead but if it supports it upstream starts to fix it after a few weeks or months we enable it it will be much smoother transition for us. Just say. Are you adding it to support it in unstable or making it to be both unstable? No even supported because if I'm building from multiple versions by default which I'm trying to do What's your use case that you're doing that for? Support of Python Are you talking about this in the archive for packages? It's a relatively small set that even supports multiple versions of Python currently. What about if the criteria here is Travis so it's probably the person who needs to be upstream after Travis changes it because otherwise you can fix it with live-action anyway. Not that I'm waiting I'm suggesting to wait for every upstream to get there but just remain in front of the train a little bit. We've already done this analysis but those virtual environments they are independent of that just saying. I threw links into the pad to our experience you can see the list of things that failed the build completely with Python 3.5 as default which is the case where we have to worry about that when we switch to the default but just with the supported stuff we may still have a couple things that have failed the build I'd have to go back and check my notes on that and we've got some failing test cases talks for instance that's still on the list of failures and a handful of things I don't think it's not like we have to worry about getting all of upstreams on board with Python 3.5 before we enable with a supported. I would need to look at how many I support and I would need to master it pretty much or if you know let's say NumPy is it ready? If it's not then we'll create a havoc which we better avoid so if we look at the core packages are they ready for 3.5? NumPy is fine it actually had problems with the cables that had to be fixed there was nothing that was broken You were making a small transition Oh, just an sd++ for our first choice I think that will take a while so maybe I still date will collapse once we are ready with I mean there shouldn't be much overlap we are not going to start new transitions because it's not done so once we have a slot with release team should we do it or 3.5 so far it's unstable so I mean this transition will probably be done end of September that's in my escalate so at this time I think 5 was released so if there is a free slot we should take it or ask for it Can we agree for example to make it supported unstable once we have a slot for release team and final version is released Why would it need a slot I mean for the review transitions to not ask any transitions to just add a review will be spread in the supported set they only ask it when they drop the older one or when they change the info usually adding a one review which is not yet the default does not require any coordination it's just package by package yes we already have 900 or so Python free packages so reviewing them even if all of them are extensions will probably take up release some build I'm not saying you need to not do it but just ask the release team about it or be well to assure the release team that we don't add any burden sure as I said before we have like 3000 Python 2 packages and 900 Python 3 and what can we do to make the second number higher delete my points hahaha and then the archive breaks no more packages no more bugs so I think last year we had a discussion on the Denium Python making this to have a last part about 4 packages which do not use Python 3 which do not provide all those so I recently wrapped all this up for the classifiers that say upstream support Python 3 and I've got all bugs on all packages that didn't ship Python 3 there should be user tags somewhere so how many are there what are the magnitudes like 100, 200 I can't quite remember I mean there are so many packages which just use Python 4 so a great value if we just identify those and replace them with Python 3 that will help a lot sure it would be nice to have some kind of dependency tree for that because I have a bunch of scripts for models that only support Python 2 because they need a library that doesn't support Python 3 yet yet so that was all posted by email but surprisingly well so there is a Python 3 and I one point dumped all the dependencies and we've had since then tons of work done on the dependency chain I think people are trying to chip and attack on it so it might be some dump sitting around somewhere that might be of use is PyBuild a big problem do we have sufficient number of back borders again selfish because I care about back borders how easy it is to support this so previous Dev and Williams that has PyBuild should be more or less working the same way so if we are to provide back borders to a stable it should be fine and a few increasing the group I mean even if you can't use all of the Python 2 you should be able to back port something which only depends on PyBuild and you use the PyBuild system PyBuild system which is it PyBuild VH Python provides a build which is used as build system in VH sequence and if you add Python 3 all packages to build dependencies it will automatically start building Python 3 packages and right and there is groups also for testing so how easy is VH Python to back port these days in the early days of the start it requires Python 3.2 which is easy and I didn't use any new features because I tried to use only features available in Python then in stable but right now I didn't have anything that requires Python 3.4 so Python 3.2 we are requiring multi-output it's nothing quiet okay so multi-output is only quiet that's when it comes next topic I want to ask what is fact with multi-output it's not a problem is there anything in PyBuild system of VH Python scripts that can improve or make it easier I know it's tricky but it's not really PyBuild system but I can first define control file find debug packages and add it to VH3 options it's easy yeah it's in stock here and you can have support from the archive and help her so now I think he just has a switch of boolean and it will automatically create debug packages then with the bugs in Python debug packages it just has something different but we use our dash dbg packages for both Python dbg packages and the gdb symbols so we can stop caring about the gdb symbols if it makes a stripping problem go away should we care about that okay bug oh on the pay-down package itself I don't know if you see it's actually now the Python debug packages like the manuscript extension for the debug interpreter and debug symbols or the extension for the normal I see build with the pattern of the diagram I see I see so let's help what's wrong shouldn't we just street not street packages that name and with dbg probably what we do what we do do we have any use case for debug packages should we street should we say you fixed that sorry it wasn't really like the extra block packages that name and dash dbg I don't know if it does not I was in the source code that wasn't really another discussion I forgot what was the outcome recently Python builder it provides hdb proxy overloads but in some packages we want them just because let's say testing using local codes even though it might be provided in some platforms sometimes it is provided and we better use it when it is is there an easy way to disable this yes the latest version I uploaded already I just said if there's a hdb proxy set street code something like that it will just not forward forward them every time I'm using Python or trying to converge something like that look for information doesn't find it look for similar packages don't find them and then I'm asking Piotr how it's supposed to work so I really would like to have some kind of tutorial or some kind of well, use our guide how to use Python well, somehow better documentation or could there be maybe some very sophisticated Devin boots which even comments out some options which are available but they are there so you could kind of scheme through it so that's how I would develop it's like some degree it's a mix of documentation yes yes, there is one something complicated yes so maybe somebody who's interested in this kind of documentation could well, just write how to or suggest how to did you see the wiki page I just sent you on the higher side no I know this page, yes so what's missing there the page this one or the style guide in the bar in world there is also the fragment page starts with a quick I'm not good at writing documentation so if anybody wants to help I can answer questions and so on and somebody any volunteers could translate my I still have some time if I could run 5EI you're ready should it be in there it can be what's the name again you're ready can you spell it R-E-P-I-P can you can you make a font page can you blow your font page so as you can see you have huge dependencies it works like SDDepth I just wasn't happy with STDepth internals and I decided to write something that uses smaller Debian tools and I started working on it during that comp and it already does more than STDepth, if for example creates build depends it's all the long description is just do it it detects if Python 3 is supported and creates Python 3 packages and Python 5 packages as well it creates copyright in that 5 format it uses Python so if you work something to Python you can probably use it or STDepth converting to Python is not really that hard the main step is to add this option if you use GH Sequencer this tool is just the first step to create something but I will convert the whole Python archive into Debian repository and I hope to finish it before the DEVCOM ends I think we have just 5 minutes left 2 minutes are there any other questions what's the point that I would like to embed building Python 3 standard library in fact for Python 2 now I am meeting you what's the problem is there is the backing of the Python 3 standard library so I guess that's the problem so basically I don't mind if part of the Python 3 standard library are packaged to our package for Python 3 if you mind providing these very same packages as Python 3 packages in the archive because that would basically afford which has no future to get removed it will exist forever that's something I do not want in the archive it brings the whole idea of an standard library I see the point for the open stack packages that it uses well it is a part of the extreme transition of Python 3 you know what I mean they do that and after when we release with Python 3 any of these packages well that's a problem but usually if you just introduce things if you create or form the Python standard library which you do by you I mean open stack then I think others will use that it will be extremely difficult to remove from the archive again if you look at Python 2 in the past if we had a module in the standard library we just had a provides in the standard library which provided this module we had code in each shipping package try import from the standard library except import error import from the package module I think that's the same thing in the standard library they should not focus on the library for Python 3 we will leave it there we will have code in directly well yes like something like like in cache 2 for example I think yes line cache was one example and if you look at SQLite was something in the past which was edited in the past packages I completely understand why you are doing that because I don't have my word right but I don't see a good way to remove these packages again from the archive I'm trying to talk the same about what he says I have to follow up on the past my list for that but we are late with time so maybe we skip this part so there are still the positions of how to when to move repositories to get now is everyone happy with DPM no because we are not happy with it it's going to happen I don't care I'm used to what's going on I really prefer having to not use DPM than continue to use it I forgot I don't know I haven't finished in DPM is still not really what day 4 I don't know good thing to give him more user base but I don't know I think he wants to add this part I could literally just to begin start adding a list for it anyway I don't see the difference much except for big packages and then with it's going to be no you can do commits on the prime without uproar I probably not the jungle repository but I don't know if there are a bit of like packages you can change the you can change the history the problem is that non can push to so pick one so we we picked DPM it's pretty much ready to go it's just a matter of doing it I'm going back to bed after this I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I