• Re: QA Experiment: removing "stale uploaders" (1/3)

    From Emmanuel Arias@21:1/5 to All on Fri Aug 16 00:00:01 2024
    Hello!


    On Thu, Aug 15, 2024 at 04:45:24PM -0400, Louis-Philippe Véronneau wrote:
    Hello!

    I had a chance to have a chat with doko at DC24 and one of the things that came out was this question:

    "Are there packages in the DPT that aren't maintained by their uploaders and are kept in the team because other people fix bugs and do team uploads on them?"

    Let's call these "stale uploaders".

    To get some data, I had a little fun and wrote a Python script [1] to match
    a package git history with the Uploaders field in d/control. If in the last
    3 years, someone listed in the Uploaders field hasn't made a single commit, the package gets flagged.

    Turns out about half of the packages in our namespace get flagged one way or another :P

    =====================
    Some caveats:

    1. To save time and disk space, I did shallow clones of the DPT's git repositories, using 2021-08-14 as a cutoff date.

    This certainly creates false-positives, but it seemed like a reasonable tradeoff.

    2. There might be some discrepancies between packages' git repositories on Salsa and what's been uploaded to the archive. Some of these repos might not have gone through NEW at all.

    3. A cursory look revealed a bunch of empty repositories [2] and packages that had been moved to other namespaces, but never removed from the DPT's namespace.

    4. Packages flagged as "None" don't have an "Uploaders" field. Either:

    * the DPT is the "Maintainer" and we should make sure the package has been orphaned

    or

    * there's a human "Maintainer" and the DPT isn't listed in Uploaders and we should fix the package.

    5. Some of the packages flagged as "Debian Python Team" have the team as Uploaders. Considering the recent policy change, we should probably try to make things more uniform by having the DPT as maintainer everywhere. =====================

    All in all, a fair amount of manual work is probably needed to make this
    list useful and remove false-positive, thus the 'QA Experiment' part in the title of this mail.

    Before putting more efforts into this, I wanted to hear from other team members. Do you think this is valuable work?

    Yes, IMO it help us to have more knowledge about the packages maintained
    in the team.


    If I get a good enough list (again, the current one needs work), would you support removing "stale uploaders" from our team-maintained packages??

    It make sense, I think after have a final list we can analyze if those
    packages can be removed or look for a maintainer.

    Cheers,

    [1]: https://salsa.debian.org/pollo/qa-scripts/-/blob/master/dpt-stale-uploaders.py

    [2]: See empty.txt. I took the liberty of removing them, as they were all older than 6 months.

    --
    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ Louis-Philippe Véronneau
    ⢿⡄⠘⠷⠚⠋ pollo@debian.org / veronneau.org
    ⠈⠳⣄


    asn1crypto-tests
    blea
    cefpython
    cornice
    datalad-metalad
    django-uwsgi-ng
    fedora-messaging
    flake8-mypy
    flask-rest-jsonapi
    karabo-master
    lets-enc
    manim-ce
    metaextract
    mpremote
    napalm-nxos
    oq-engine
    orange3
    pcre2.py
    pyarranger
    pyls-mypy
    python-django-dynamic-scraper
    python-ezcolor
    python-gdsii
    python-hiyapyco
    python-js2py
    python-plone.testing
    python-protobuf3
    python-robotframework-selenium2library
    python-robotsuite
    python-setuptools-golang
    python-sounddevice
    stashy
    thumbor-plugins-jpegrecompress
    thumbor-plugins-mozjpeg
    thumbor-plugins-optipng
    thumbor-plugins-pngcrush
    thumbor-plugins-pngquant
    tvb-framework
    unrpa
    upstream-ontologist

    aafigure: Debian Python Team
    adapt-parser: Ethan Ward
    afew: Free Ekanayaka
    aioftp: Adam Cecile
    aiohttp-cors: Debian Python Team
    aiohttp-debugtoolbar: Piotr Ożarowski
    aiohttp-jinja2: Debian Python Team
    aiohttp-jwt: Adam Cecile
    aiohttp-mako: Debian Python Team
    aiohttp-retry: Adam Cecile
    aiohttp-wsgi: William Grzybowski
    aiomysql: Adam Cecile
    aionotify: Adam Cecile
    aiopg: Debian Python Team
    aioredis: Debian Python Team
    aiorwlock: William Grzybowski
    aiowsgi: Jelmer Vernooij
    aioxmlrpc: Debian Python Team
    aiozmq: Debian Python Team
    airr: Steffen Moeller
    ajsonrpc: Peter Záhradník
    alienfeed: Debian Python Team
    alot: Simon Chopin, Johannes 'josch' Schauer
    annexremote: Michael Hanke
    anorack: Georg Faerber
    anosql: Florian Grignon
    ansi: Muri Nicanor
    ansible-lint: Gregory Colpart
    ansicolors: nicoo
    antlr4-python3-runtime: Debian Python Team
    apachedex: Debian Python Team
    api-hour: Debian Python Team
    app-model: Debian PaN Maintainers
    appdirs: Scott Kitterman
    archivemail: Debian Python Team
    archmage: Debian Python Team
    arcp: Michael R. Crusoe
    argparse: Debian Python Team
    argvalidate: Stephan Peijnik
    asn1crypto: None
    astroid: Debian Python Team
    astroid2: Debian Python Team
    asyncpg: Debian Python Team
    atheist: Cleto Martín, Francisco Moya, David Villa Alises
    authprogs: None
    authres: Debian Python Team
    autokey: Luke Faraone, Anthony Fok
    automat: Free Ekanayaka
    automx2: None
    autopep8: Debian Python Team
    autosuspend: Johannes Wienke
    awx: None
    axisregistry: Debian Python Team
    azure-cosmos-python: Luca Boccassi
    azure-cosmos-table-python: Luca Boccassi
    azure-functions-devops-build: Luca Boccassi
    babelfish: Etienne Millon, Oxan van Leeuwen
    babiloo: Marco Rodrigues
    backblaze-b2: Ondřej Kobližek
    backports.functools-lru-cache: Debian Python Team
    backports.shutil-which: Stefano Rivera
    backports.ssl-match-hostname: Nicolas Dandrimont
    backupchecker: Carl Chenet
    bdist-nsi: Dominik George
    beancount: Nicolas Dandrimont, Stefano Zacchiroli
    beanstalkc: Apollon Oikonomopoulos
    beets: Ryan Kavanagh
    behave: Vincent Bernat
    belier: Carl Chenet
    bepasty: None
    bernhard: Vincent Bernat
    betamax: Daniele Tricoli, Ian Cordasco
    bidict: William Grzybowski
    billiard: Brian May
    binaryornot: Vincent Bernat
    bitstruct: Brian May
    bjsonrpc: Miriam Ruiz, David Martínez Martí
    blessings: Debian Python Team
    blinker: Ondřej Surý
    blist: Michael Gilbert
    blivet: Christopher Hoskin
    bloscpack: Debian Python Team
    bluewho: Debian Python Team
    bond: Yuri D'Elia
    bookletimposer: intrigeri, Taowa Munene-Tardif
    bottleneck: Ghislain Antony Vaillant, Pietro Battiston
    breadability: Hugo Lefeuvre
    brebis: Carl Chenet
    btchip-python: Richard Ulrich
    bugz: Debian Python Team
    bunch: Simon Chopin
    bundlewrap: Debian Python Team
    cachelib: Joseph Nahmias
    cachey: Debian PaN Maintainers
    cachy: Emmanuel Arias
    camelot-py: None
    canto: Vincent Legout
    case: Christopher Hoskin
    catwalk: None
    cdlclient: Debian Python Team
    celery: Brian May
    celery-batches: Ana Rodríguez López
    celery-haystack: Michael Fladischer
    cerealizer: Vincent Bernat
    cf-python: Klaus Zimmermann
    chardet: Mark Pilgrim, Debian Python Team, Daniele Tricoli
    chargebee-python: Scott Kitterman
    checkbox-ng: Sylvain Pineau, Zygmunt Krynicki, Debian Python Team checkbox-support: Sylvain Pineau, Zygmunt Krynicki, Debian Python Team cheetah: None
    cherrypy3: Stephan Sürken, Jeroen Ploemen
    citeproc-py: Yaroslav Halchenko
    clikit: Emmanuel Arias
    cloud-sptheme: Nicolas Dandrimont
    codespell: Peter Spiess-Knafl, Georg Faerber
    codicefiscale: Elena Grandi
    codraft: Debian Python Team
    coherence: None
    colortest-python: Otto Kekäläinen
    colorzero: Dave Jones, Peter Green
    commit-helper: None
    commoncode: None
    concurrent-log-handler: Mechtilde Stehmann
    configargparse: Debian Let's Encrypt Team
    configobj: Jelmer Vernooij
    constantly: Free Ekanayaka
    convertall: Jackson Doak
    coreapi: Pierre-Elliott Bécue
    coreschema: Pierre-Elliott Bécue
    cov-core: None
    cram: Andreas Tille
    creoleparser: Bernd Zeimetz, Chris Lamb
    crudini: Zev Benjamin, Luke Faraone
    cssutils: Loïc Minier, Martin Pitt
    ctop: ChangZhuo Chen (陳昌倬)
    cubictemp: Debian Python Team
    cysignals: Debian Python Team
    cython: Ondrej Certik, Yaroslav Halchenko
    d2to1: Aurelien Jarno
    dask-jobqueue: Steffen Moeller
    dask-sphinx-theme: None
    datalab: Debian Python Team
    datalad-deprecated: Yaroslav Halchenko
    datalad-fuse: Yaroslav Halchenko
    datalad-gooey: Yaroslav Halchenko
    datalad-next: Yaroslav Halchenko
    datanommer.commands: Nicolas Dandrimont
    datanommer.consumer: Nicolas Dandrimont
    datanommer.models: Nicolas Dandrimont
    db2twitter: Debian Python Team
    deap: Miriam Ruiz
    debomatic: Debian Python Team
    decoratortools: Daniele Tricoli
    defusedxml: Luke Faraone
    derpconf: Gilles Dubuc
    devpi-common: Nicolas Dandrimont
    devpi-server: Nicolas Dandrimont
    diamond: Debian Python Team
    dictdiffer: Debian PaN Maintainers
    didjvu: None
    diff-cover: Joseph Nahmias
    dill: Josue Ortega
    dioptas: Debian Python Team
    dirtbike: Scott Kitterman
    discodos: Johannes Tiefenbacher
    diskcache: Yaroslav Halchenko
    disper: Vincent Cheng
    distance: Drew Parsons
    django-adminaudit: Chris Johnston, Chris Lamb
    django-ajax-selects: Brian May
    django-allauth: Jonas Meurer
    django-app-plugins: Debian Python Team
    django-assets: Chris Lamb
    django-auto-one-to-one: Chris Lamb
    django-background-tasks: Hans-Christoph Steiner
    django-bitfield: Luke Faraone
    django-bleach: Dominik George
    django-cas-server: William Blough
    django-celery: Michael Fladischer, Brian May
    django-celery-transactions: Michael Fladischer
    django-classy-tags: Ondřej Surý, Thomas Goirand
    django-colorful: Michael Fladischer
    django-conneg: Debian Python Team, Olivier Berger
    django-cors-headers: Brian May
    django-dirtyfields: Christopher Hoskin
    django-dynamic-preferences: Dominik George
    django-environ: Brian May
    django-filter: Debian Python Team
    django-floppyforms: Michael Fladischer
    django-guardian: Brian May
    django-haystack-redis: Dominik George
    django-hijack: Senthil Kumaran S (stylesen), Neil Williams django-housekeeping: Mattia Rizzolo
    django-hvad: Hans-Christoph Steiner
    django-ldapdb: Pierre-Elliott Bécue
    django-macaddress: Debian Python Team
    django-material: Dominik George
    django-memoize: Christopher Hoskin
    django-model-utils: Brian May
    django-modeltranslation: Raphaël Hertzog
    django-nose: Michael Fladischer, Brian May
    django-notification: None
    django-oauth-toolkit: Thomas Goirand
    django-openid-auth: Michael Fladischer, Andrew Starr-Bochicchio django-otp-yubikey: Dominik George
    django-pagination: Andrew Starr-Bochicchio, Chris Lamb, Thomas Goirand django-paintstore: Jonas Meurer, Thomas Goirand
    django-phonenumber-field: Dominik George
    django-picklefield: Thomas Goirand
    django-pipeline: Brian May, Thomas Goirand
    django-q: Jonas Meurer
    django-qr-code: Mattia Rizzolo
    django-ranged-fileresponse: James Valleroy
    django-sass: Christoph Berg
    django-sekizai: Ondřej Surý, Thomas Goirand
    django-session-security: Jean-Michel Vourgère
    django-setuptest: Christopher Hoskin
    django-simple-captcha: Brian May
    django-simple-redis-admin: Michael Fladischer
    django-sortedm2m: William Grzybowski
    django-stronghold: Sunil Mohan Adapa, Federico Ceratto
    django-tables: Brian May
    django-taggit: Michal Čihař
    django-threaded-multihost: Debian Python Team
    django-tinymce: Hans-Christoph Steiner
    django-webpack-loader: Michael Fladischer
    django-websocket-redis: Michael Fladischer
    django-widget-tweaks: Dominik George
    django-xmlrpc: Brian May
    djangocms-admin-style: Michael Fladischer
    djangorestframework: Brian May
    djangorestframework-api-key: Adam Cecile
    djangorestframework-filters: Wookey
    djangorestframework-nested-resource: Michael Fladischer
    djongo: Adam Cecile
    djoser: Michael Fladischer
    djvusmooth: Daniel Stender
    dkimpy: Debian Python Team
    dkimpy-milter: Debian Python Team
    dnsdiag: Debian Python Team
    dnspython: Robert S. Edmonds, Matthew Grant
    dnspython3: Robert S. Edmonds, Matthew Grant, Scott Kitterman
    dockerpty: Jason Pleau
    doconce: Johannes Ring
    docstring-parser: Debian PaN Maintainers
    dodgy: ChangZhuo Chen (陳昌倬)
    dominate: None
    doublex: Debian Python Team
    drf-fsm-transitions: Michael Fladischer
    drf-generators: Michael Fladischer
    driconf: Vincent Cheng
    drobo-utils: Debian Python Team
    dupeguru: Debian Python Team
    dxchange: None
    dxfile: None
    easy-ansi: nicoo
    easyprocess: Debian Python Team
    elasticsearch-curator: Apollon Oikonomopoulos, Aggelos Avgerinos
    elementtidy: Torsten Marek
    elib.intl: Jonathan Wiltshire
    eliot: Andrej Shadura
    elixir: Gustavo Noronha Silva
    emesene: Debian Python Team, Fabrizio Regalli
    emma: Piotr Ożarowski
    enlighten: Shayan Doust
    enum34: None
    enzyme: Etienne Millon, Oxan van Leeuwen
    episoder: Debian Python Team
    epsilon: Tristan Seligmann, Vincent Bernat
    errbot: Birger Schacht
    etm: Jackson Doak
    etm-qt: Jackson Doak
    ewah-bool-utils: Debian Astro Team
    exam: Gilles Dubuc
    faber: None
    fabric: Andrew Starr-Bochicchio
    factory-boy: Brian May
    fail2ban: Yaroslav Halchenko
    faker: Christopher Baines, Brian May
    fakesleep: Free Ekanayaka
    fastapi: Debian Python Team
    fastchunking: Sophie Brun
    fastentrypoints: William Grzybowski
    faulthandler: Miriam Ruiz, Stewart Ferguson
    fava: Stefano Zacchiroli, Pierre-Elliott Bécue
    fdroidserver: Debian Python Team
    fedmsg: Simon Chopin, Nicolas Dandrimont
    feed2toot: None
    feedgenerator: Ondřej Surý
    feedparser: Etienne Millon
    flake8-docstrings: Ghislain Antony Vaillant
    flake8-polyfill: Ghislain Antony Vaillant
    flask-api: Stefano Zacchiroli, Nicolas Dandrimont
    flask-appbuilder: Joseph Nahmias
    flask-assets: Jelmer Vernooij
    flask-autoindex: Jonathan Carter
    flask-babelex: Christoph Berg
    flask-basicauth: Debian Python Team
    flask-bcrypt: Orestis Ioannou
    flask-cache: Jelmer Vernooij
    flask-compress: Dominik George
    flask-dance: Gabriela Pivetta, João Pedro
    flask-gravatar: Adrian Vondendriesch
    flask-htmlmin: Adrian Vondendriesch
    flask-jwt-extended: Joseph Nahmias
    flask-ldapconn: Dominik George
    flask-limiter: Nicolas Dandrimont
    flask-mail: Dominik George
    flask-migrate: None
    flask-mongoengine: Adrian Vondendriesch
    flask-multistatic: Sergio Durigan Junior
    flask-oauthlib: Jelmer Vernooij
    flask-peewee: Adrian Vondendriesch
    flask-principal: Emmanuel Arias
    flask-restless: Dominik George
    flask-script: None
    flask-security: Adrian Vondendriesch
    flask-silk: Jonathan Carter
    flask-sqlalchemy: Henning Sprang
    flask-testing: Stefano Zacchiroli, Nicolas Dandrimont
    flask-wtf: Bernd Zeimetz
    flower: None
    flufl.enum: None
    flufl.lock: Pierre-Elliott Bécue
    flufl.password: None
    flufl.testing: None
    fookebox: Debian Python Team
    foolscap: Stephan Peijnik, Julian Taylor
    forgethtml: Morten Werner Forsbring
    forgetsql: Morten Werner Forsbring
    fparser: None
    fpconst: Bernd Zeimetz
    fpdf2: Elena Grandi
    fpylll: Jerome Benoit, Ximin Luo
    freealchemist: Debian Python Team
    freeart: Debian Science Maintainers
    freevial: Debian Python Team
    frescobaldi: Ryan Kavanagh
    fscacher: None
    ftputil: None
    Funing: None
    fusion-icon: Debian Python Team
    gamera: None
    gaupol: Debian Python Team
    genshi: Simon Cross
    geojson2vt: Adam Cecile
    gerritlib: Filip Pytloun
    gespeaker: Debian Python Team, Vincent Cheng
    gevent-websocket: William Grzybowski
    geventhttpclient: Debian Python Team
    gextractwinicons: Debian Python Team
    ghdiff: None
    ghp-import: Andrew Starr-Bochicchio
    git-repo-updater: Sudip Mukherjee
    git-review: Ghe Rivero, Thomas Goirand, Clint Adams, Allison Randal
    gixy: None
    glad: None
    gladtex: None
    glipper: Debian Python Team
    glyphspkg: Debian Fonts Task Force
    gmail-notify: Alan Woodland
    gmobilemedia: Debian Python Team
    gnome-feeds: Henry-Nicolas Tourneur
    gnukhata-core: Manas Kashyap, Shanavas M
    gnupginterface: Debian Python Team, Gustavo Franco
    go2: Debian Python Team
    google-api-python-client: Scott Kitterman
    google-auth-oauthlib: Shayan Doust
    google-sitemapgen: Kumar Appaiah
    gp-saml-gui: Debian Python Team
    gpiozero: Dominik George, Dave Jones
    gpxpy: Dominik George
    gpxviewer: Andrew Gee
    graphy: Miguel Landaeta
    graypy: None
    greekocr4gamera: Debian Python Team
    gtextfsm: Debian Python Team
    gtimelog: Andrej Shadura
    gtts-token: Ethan Ward
    guessit: Etienne Millon, Oxan van Leeuwen
    gui-ufw: Devid Antonio Filoni, Miriam Ruiz
    guzzle-sphinx-theme: Michael R. Crusoe, Gianfranco Costamagna
    gwakeonlan: Debian Python Team
    gyp: Joseph Nahmias
    hachoir: Andrej Shadura
    hachoir-metadata: Debian Python Team
    hachoir-parser: Debian Python Team
    hachoir-regex: Debian Python Team
    hachoir-subfile: Debian Python Team
    hachoir-urwid: Debian Python Team
    hachoir-wx: Debian Python Team
    haproxy-log-analysis: Christopher Baines
    harvestman: Kumar Appaiah, Anand Pillai
    helpdev: None
    hg-git: None
    hiro: Nicolas Dandrimont
    hotssh: Debian Python Team
    hovercraft: None
    hsmwiz: Hans-Christoph Steiner
    htmlmin: Adrian Vondendriesch
    httpcode: ChangZhuo Chen (陳昌倬)
    httpcore: Debian Python Team
    httpx: Debian Python Team
    humanfriendly: Gaurav Juvekar
    hvac: Gregor Riepl
    hyperlink: Free Ekanayaka
    hypothesis-auto: Tristan Seligmann
    imap-tools: Mechtilde Stehmann
    impacket: Emmanuel Arias
    importlib: Fladischer Michael, David Watson
    importlib-resources: Jonas Meurer
    in-n-out: Debian PaN Maintainers
    incremental: Free Ekanayaka
    indexed-gzip: Michael Hanke, Yaroslav Halchenko
    indywiki: Debian Python Team
    inflection: None
    influxdb-python: Alexandre Viau
    inotify-simple: Mechtilde Stehmann
    inotifyrecursive: Mechtilde Stehmann
    inotifyx: Debian Python Team
    input-remapper: Debian Python Team
    ipdb: Andrey Rakhmatullin
    ipy: Bernd Zeimetz
    ipyparallel: Joseph Nahmias
    ipython-OLD: Julian Taylor
    ipywidgets: Ximin Luo
    isbg: Taowa Munene-Tardif
    isodate: Maximiliano Curia
    itstool: Tanguy Ortolo
    itypes: Pierre-Elliott Bécue
    j2cli: Debian Python Team
    jabberbot: Carl Chenet
    jaraco.classes: None
    jaraco.collections: None
    jaraco.context: None
    jaraco.functools: None
    jaraco.itertools: None
    jaraco.text: None
    jeepyb: Filip Pytloun
    jinja2: Debian Python Team
    jinja2-time: Debian Python Team
    joypy: Steffen Moeller
    jpegiptc: Pedro Paulo, Leandro Felicio, Raphael Rossi, Felipe Travi
    json-tricks: Yaroslav Halchenko
    jsonhyperschema-codec: Pierre-Elliott Bécue
    jsonpickle: John Paulett, Jan Dittberner
    jsonrpclib-pelix: Tristan Seligmann
    jsx-lexer: Julian Gilbey
    junos-eznc: Vincent Bernat
    jupyter-kernel-test: Joseph Nahmias
    jupyter-server-mathjax: Joseph Nahmias
    jupyter-server-terminals: Julien Puydt
    jupyter-sphinx: Alexandre Marie
    jupyterlab: Julien Puydt
    kabikaboo: Jeremy Bicha, Dave Kerr
    kanboard-cli: ChangZhuo Chen (陳昌倬)
    karabo-data: None
    kazam: Andrew Starr-Bochicchio
    keyrings.alt: Carl Chenet
    keysync: Debian Python Team
    khal: Filip Pytloun
    kid: Debian Python Team
    kivy: Bastian Venthur
    kiwi: Debian Python Team
    kombu: Brian May, Christopher Hoskin, Sergio Durigan Junior
    kupfer: None
    kyklop: Klaus Zimmermann
    lazr.authentication: Dimitri John Ledkov, Stefano Rivera
    lazr.config: Jonas Meurer
    lazr.restfulclient: Debian Python Team
    lazr.smtptest: None
    lazr.uri: Debian Python Team
    lazygal: Debian Python Team
    ldaptor: Jan Dittberner
    ldif3: Michael Fladischer
    ledgerhelpers: None
    legit: TANIGUCHI Takaki
    libapache2-mod-python: Robert S. Edmonds
    libcloud: Soren Hansen, Andrew Starr-Bochicchio
    liblarch-gtk: Debian Python Team
    librouteros: Alexander GQ Gerasiov
    libthumbor: Gilles Dubuc, Marcelo Jorge Vieira
    lightblue: Diane Trout
    lightgbm: Juri Grabowski
    lightyears: None
    linkchecker: None
    llvm-py: Debian Python Team
    locust: Debian Python Team
    logilab-astng: Debian Python Team
    logilab-common: Debian Python Team
    loguru: Steffen Moeller
    lollypop: Henry-Nicolas Tourneur
    lottanzb: Debian Python Team
    louie: None
    lunch: Alexandre Quessy
    m2ext: Simon Chopin, Nicolas Dandrimont
    magicgui: Debian PaN Maintainers
    mako: Debian Python Team
    mantis-xray: Debian Python Team
    maptransfer: Michael Ziegler
    mariadb-connector-python: Mechtilde Stehmann
    markupsafe: Debian Python Team
    mastodon: Debian Python Team
    matplotlib2: Debian Python Team
    mdp: Tiziano Zito, Yaroslav Halchenko
    membernator: Taowa Munene-Tardif
    menulibre: Jackson Doak
    mercurial-extension-utils: Andrej Shadura
    mercurial-keyring: Andrej Shadura
    merge3: Jelmer Vernooij
    metakernel: Joseph Nahmias
    miio: Johannes 'josch' Schauer
    mimerender: Dominik George
    mimms: Debian Python Team
    mitmproxy: Andrej Shadura
    mmllib: Dominik George
    moap: Debian Python Team,Marc-Andre Lureau
    mocker: Andrew Mitchell, Charles Plessy
    mockldap: Michael Fladischer
    modernize: Benjamin Drung
    moksha.common: Nicolas Dandrimont
    moksha.hub: Simon Chopin, Nicolas Dandrimont
    mongomock: Alexandre Viau
    moosic: Arto Jantunen
    more-itertools: None
    mpdris: Debian Python Team
    mrtparse: Debian Python Team
    mugshot: Jackson Doak, Sean Davis
    multiprocess: Debian Python Team
    munkres: Stefano Rivera
    musicbrainzngs: Josue Ortega
    mutagen: None
    mwclient: None
    mwic: Georg Faerber
    myghty: Oleksandr Moskalenko
    myghtyutils: Oleksandr Moskalenko
    myhdl: Ruben Undheim
    mypaint: Andrew Chadwick, Vincent Cheng
    mysql-connector-python: None
    nabu: Debian Python Team, Picca Frederic-Emmanuel
    nagiosplugin: Jordan Metzmeier, Jan Dittberner
    nagstamon: Carl Chenet, Christoph Martin
    namebench: Miguel Landaeta
    napalm-base: Debian Python Team
    napalm-eos: Debian Python Team
    napalm-fortios: Debian Python Team
    napalm-ios: Debian Python Team
    napalm-iosxr: Debian Python Team
    napalm-junos: Debian Python Team
    napari: Debian PaN Maintainers
    napari-plugin-engine: Debian PaN Maintainers
    natsort: Agustin Henze, Ulises Vitulli
    nautilus-pastebin: Debian Python Team
    nbdime: None
    nbsphinx: Jerome Benoit
    nbsphinx0.3: Jerome Benoit
    netifaces: Mario Izquierdo (mariodebian), Thomas Goirand
    netmiko: Vincent Bernat
    networkx: None
    nevow: Debian Python Team, Tristan Seligmann
    nfoview: None
    nodebox-web: Debian Python Team
    nose: Torsten Marek, Brian May
    nose2: Brian May, Pierre-Elliott Bécue
    nose2-cov: None
    notify-python: Debian Python Team
    ntplib: Tim Retout
    numpy: Christian Kastner
    numpy-groupies: Steffen Moeller
    numpy-stl: Bernd Zeimetz
    numpydoc: Denis Laxalde
    nuxhash: Your Name
    nwdiag: Kouhei Maeda
    nwg-clipman: None
    nwg-hello: None
    nxtomo: Debian Python Team
    obsub: Free Ekanayaka
    ocr4gamera: Debian Python Team
    ocrfeeder: Bernhard Reiter
    ocrodjvu: None
    oct2py: Josue Ortega
    octave-kernel: Joseph Nahmias
    oggconvert: Debian Python Team
    okasha: أحمد المحمودي (Ahmed El-Mahmoudy)
    onedrivesdk: William Grzybowski
    openerp7: Dmitrijs Ledkovs, Tristan Hill, Chris Halls
    openstv: Debian Python Team
    openteacher: Debian Python Team
    osmalchemy: Debian Python Team
    osmnx: Debian Python Team
    overrides: None
    pacparser: Andrew Pollock
    pandoc-plantuml-filter: Hanno Stock
    panoramisk: Orestis Ioannou
    papyon: Debian Python Team, Laurent Bigonville
    paq: Drew Parsons
    parallelpython: Debian Python Team
    paramiko: Jeremy T. Bouse, Guido Guenther
    parsedatetime: Bernd Zeimetz
    pastedeploy: None
    pastewebkit: Debian Python Team
    pcapy: Emmanuel Arias
    pdfarranger: Jeremy Lainé
    pdfminer: Daniel Kahn Gillmor
    pdfposter: Elena Grandi
    pdftables: Debian Python Team
    pdm-pep517: None
    pebl: Miriam Ruiz, Yaroslav Halchenko
    peewee: Adrian Vondendriesch
    pelican: Ondřej Surý, Geert Stappers
    pem: Andrej Shadura
    pep8: David Watson, Sylvestre Ledru
    pep8-naming: ChangZhuo Chen (陳昌倬)
    petit: Carl Chenet
    pexpect: Tobias Hansen
    pg8000: Dominik George, Rahul Amaram
    phatch: Emilio Pozuelo Monfort, Stani M, Piotr Ożarowski
    phenny: Noah Slater
    pidcat: Debian Python Team
    pinball-table-gnu: None
    pipenv: Bastian Venthur
    pipenv-pipes: Joel Cross
    pipsi: ChangZhuo Chen (陳昌倬)
    pisa: W. Martin Borgert
    pkgconfig: Josue Ortega
    pkpgcounter: Kumar Appaiah, Jerome Alet
    plainbox: Sylvain Pineau, Zygmunt Krynicki, Debian Python Team plainbox-provider-checkbox: Sylvain Pineau, Zygmunt Krynicki, Debian Python Team
    plainbox-provider-piglit: Zygmunt Krynicki, Debian Python Team plainbox-provider-resource-generic: Sylvain Pineau, Zygmunt Krynicki, Debian Python Team
    planet-venus: Olivier Berger
    platformio: Peter Záhradník
    ply: None
    pokrok: Steffen Moeller
    polib: Debian Python Team
    policyd-rate-limit: Valentin Samir
    polyline: Joseph Nahmias
    ponyorm: None
    portalocker: Josue Ortega
    portio: Luca Boccassi
    power: Jonathan Carter
    powerline: Jerome Charaoui
    powerline-gitstatus: Jerome Charaoui
    pprintpp: None
    praw: Josue Ortega
    prawcore: Josue Ortega
    preggy: Marcelo Jorge Vieira
    premailer: Geoffrey Thomas
    preprocess: Johannes Ring
    prettytable: Debian Python Team
    prompt-toolkit: Lennart Weller
    prospector: ChangZhuo Chen (陳昌倬)
    protonvpn-cli: Francisco Vilmar Cardoso Ruviaro
    psphere: None
    pssh: Hilmar Preuße,Jochen Sprickerhof
    psyclone: None
    psycopg2: Fabio Tranchitella
    psycopg3: Debian Python Team
    psygnal: Debian PaN Maintainers
    ptable: Scott Kitterman
    ptex2tex: Johannes Ring
    ptpython: Debian Python Team
    ptvsd: William Grzybowski
    pubtal: Debian Python Team
    puddletag: Debian Python Team
    puremagic: None
    pusimp: Drew Parsons
    py-libzfs: Debian ZFS on Linux maintainers
    py-postgresql: Daniel Kahn Gillmor, William Grzybowski
    py-postgresql-old: Debian Python Team, Daniel Kahn Gillmor
    py-radix: Aggelos Avgerinos
    py-sendfile: Stephan Peijnik
    py-stringmatching: Drew Parsons
    py-ubjson: Orestis Ioannou
    py3cairo: Koichi Akabe
    py3dns: Debian Python Team
    py3exiv2: Marcelo Jorge Vieira, Pablo Santiago Blum de Aguiar
    pyacoustid: Debian Python Team
    pyaes: None
    pyagentx: Valentin Vidic
    pyahocorasick: None
    pyaimt: Debian Python Team
    pyamf: Miguel Landaeta
    pyannotate: None
    pyasn: Hans-Christoph Steiner
    pyasn1: Debian Python Team, Deepak Tripathi, Vincent Bernat
    pybackpack: Debian Python Team
    pybik: B. Clausius
    pybindgen: Sophie Brun
    pybloomfiltermmap: None
    pycairo: Torsten Marek
    pycallgraph: Debian Python Team
    pycaptcha: Olivier Sallou
    pycarddav: Christoph Egger
    pycg: Sandro Tosi
    pycha: Debian Python Team
    pychecker: Kenneth J. Pronovici, Sandro Tosi
    pychromecast: Ruben Undheim
    pycodestyle: None
    pycryptodome: Christopher Hoskin
    pycsco: Debian Python Team
    pycxx: Julian Taylor
    pydantic: Michael Banck
    pydantic-core: Michael Banck
    pydap: Debian Python Team
    pydb: Debian Python Team
    pydbus: Alberto Caso
    pydenticon: Andrej Shadura
    pydispatcher: Neil Muller
    pydle: Jelmer Vernooij
    pydocstyle: ChangZhuo Chen (陳昌倬)
    pydot: None
    pydoubles: Debian Python Team
    pyeapi: Vincent Bernat
    pyecm: None
    pyelemental: Cesare Tirabassi
    pyenchant: Debian Python Team
    pyeos: Debian Python Team
    pyequihash: Debian Python Team
    pyexcelerator: Debian Python Team
    pyexiv2: Debian Python Team
    pyfavicon: Henry-Nicolas Tourneur
    pyfeed: Thomas Preud'homme, Debian Python Team
    pyfg: Debian Python Team
    pyfits: Aurelien Jarno
    pyflakes: Varun Hiremath
    pyflot: Andrew Starr-Bochicchio
    pyfribidi: Lior Kaplan, Shachar Shemesh
    pyfuse3: Nikolaus Rath, Francesco Paolo Lovergine
    pygame: Ed Boraas, A Mennucc1, Dominik George
    pyglet: Michael Hanke, Per B. Sederberg, Stephan Peijnik, Yaroslav Halchenko pygments: Debian Python Team
    pygnuplot: Josue Ortega
    pygooglechart: Sandro Tosi, Debian Python Team
    pygopherd: None
    pygpu: Sandro Tosi, Jan Dittberner
    pygtail: Christopher Baines
    pygtkspellcheck: Raphaël Hertzog
    pyhamcrest: David Villa Alises
    pyhanko: None
    pyhunspell: None
    pyicqt: Debian Python Team, Patrick Ringl
    pyicu: Debian Python Team
    pyinfra: Christophe Siraut
    pyinotify: Debian Python Team
    pyiosxr: Vincent Bernat
    pyip: Bernd Zeimetz
    pyjavaproperties: Hans-Christoph Steiner
    pyjks: Hans-Christoph Steiner
    pyjokes: None
    pyjunitxml: Michael Rosenfeld
    pykaraoke: Miriam Ruiz
    pykcs11: Debian Python Team
    pyke: Daniele Tricoli
    pykickstart: Carl Chenet, Fathi Boudra
    pykwalify: Johan Fleury
    pylama: ChangZhuo Chen (陳昌倬)
    pylast: Josue Ortega
    pylibmc: Carl Chenet
    pylint-celery: ChangZhuo Chen (陳昌倬)
    pylint-common: ChangZhuo Chen (陳昌倬)
    pylint-django: None
    pylint-flask: ChangZhuo Chen (陳昌倬)
    pylint-plugin-utils: None
    pylint2: Debian Python Team
    pylirc: Loic Minier, Arnaud Quette, Charlie Smotherman, Debian Python Team pylons: Piotr Ożarowski
    pyls-black: Julian Gilbey
    pylzss: Drew Parsons
    pymacs: Emmanuel Arias
    pymarkups: Debian Python Team
    pymdown-extensions: None
    pyme: Debian Python Team
    pymilter: Daniel Kahn Gillmor
    pymodbus: Maximiliano Curia
    pympler: William Grzybowski
    pymssql: Geoffrey Thomas
    pymupdf: Johannes 'josch' Schauer
    pynag: Clint Byrum, Pall Sigurdsson
    pynagram: Debian Python Team
    pyodbc: Debian Python Team
    pyogg: Debian Python Team
    pyomo: Debian Python Team
    pyopengl: Torsten Marek
    pyout: Yaroslav Halchenko
    pyp: Khalid El Fathi, ChangZhuo Chen (陳昌倬)
    pypar2: Debian Python Team
    pyparsing2: Thomas Goirand
    pyparted: None
    pypass: ChangZhuo Chen (陳昌倬)
    pype: Debian Python Team
    pyphen: Daniel Kahn Gillmor
    pypolicyd-spf: Debian Python Team
    pyproject-examples: None
    pypuppetdb: Jonas Genannt, Apollon Oikonomopoulos
    pyqt-qwt: Debian Python Team
    pyquery: Jonathan Wiltshire,TANIGUCHI Takaki
    pyqwt3d: Debian Python Team
    pyqwt5: Debian Python Team
    pyrad: Jeremy Lainé, Bjorn Ove Grotan
    pyramid-beaker: Ansgar Burchardt
    pyramid-jinja2: None
    pyreadstat: Debian Python Team
    pyres: Gilles Dubuc, Marcelo Jorge Vieira
    pyrfc3339: Debian Let's Encrypt Team
    pyroute2: Florian Pelgrim
    pyrrd: Elena Grandi
    pyrsistent: Andrej Shadura
    pyrundeck: Benjamin Drung
    pyscard: Debian Python Team
    pyscript: Debian Python Team
    pysdl2: Victor Fayvel
    pysendfile: Debian Python Team
    pyside: None
    pyside-mobility: Didier Raboud
    pysimplesoap: None
    pysmbc: Jérôme Guelfucci
    pysmi: Debian Python Team
    pysodium: Christopher Hoskin
    pyspf: Debian Python Team, Gustavo Franco
    pyspread: Debian Python Team
    pysrt: Etienne Millon, Oxan van Leeuwen
    pyssim: Gilles Dubuc
    pystemd: Alexandros Afentoulis
    pytagsfs: Debian Python Team
    pytds: Christopher Hoskin
    pyte: None
    pytest-bdd: Brian May
    pytest-catchlog: None
    pytest-django: Brian May
    pytest-env: None
    pytest-expect: Diane Trout
    pytest-flake8-path: Guilherme Puida Moreira
    pytest-flask: Alexandros Afentoulis
    pytest-httpbin: Pierre-Elliott Bécue
    pytest-instafail: None
    pytest-jupyter: Julien Puydt, Gordon Ball
    pytest-lazy-fixture: Joel Cross
    pytest-localserver: None
    pytest-mock: Vincent Bernat
    pytest-ordering: Steffen Moeller
    pytest-pep8: Adrian Vondendriesch
    pytest-pylint: Ondřej Kobližek
    pytest-qt: Ghislain Antony Vaillant
    pytest-runner: Brian May
    pytest-tornasync: Joseph Nahmias
    pytest-xvfb: Ghislain Antony Vaillant, Nick Morrott
    pyth: Daniele Tricoli
    python-aalib: Stefano Rivera
    python-adal: Nicolas Dandrimont
    python-adns: Jan Dittberner
    python-afl: Debian Python Team
    python-agate: Ghislain Antony Vaillant
    python-agate-dbf: Ghislain Antony Vaillant
    python-agate-excel: Ghislain Antony Vaillant
    python-agate-sql: Ghislain Antony Vaillant
    python-aiohttp: Tianon Gravi, Paul Tagliamonte, William Grzybowski python-aiohttp-proxy: Martin
    python-aiohttp-retry: Yaroslav Halchenko
    python-aiohttp-swagger: Joel Cross
    python-aioice: W. Martin Borgert
    python-aiomeasures: None
    python-aiortc: W. Martin Borgert
    python-aiostream: Debian Python Team

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)