Skip to content

Conversation

@seetadev
Copy link
Contributor

@seetadev seetadev commented Jun 2, 2025

Summary

Request to unarchive the py-multiaddr repository and assign active maintainers, based on community discussion and renewed interest in maintaining the Python multiformats libraries.

This change sets archived: false and adds a maintainers list to align with governance standards for active repos. It kicks off a broader initiative to reactivate Python-related projects and governance in the multiformats organization.

Why do you need this?

This request follows a GitHub discussion: discussion link and Slack coordination (detailed discussion with @rvagg and @dhuseby) about reviving the Python multiformats stack. The py-multiaddr library has recently been updated to fix long-standing issues and is now ready to be maintained by a group of active contributors and maintainers from the py-libp2p project.

This change supports:

  • Unarchiving and maintaining py-multiaddr, followed by other py-* repos like py-multibase and py-multicodec ;
  • A proposal to reactivate the multiformats Python Team for sustainable, shared governance;
  • Establishing long-term maintenance practices: CI coverage, contributor documentation, regular release cadence, and responsive issue/PR triage.

Proposed maintainers:

These individuals will be listed in the repository config until the Python Team is revived.

What else do we need to know?

  • This approach follows @rvagg’s suggestion to link back to the github discussion rather than duplicating the full context.
  • We’ll submit a follow-up PR directly in the py-multiaddr repo to update the README and roadmap.
  • Future PRs will target other py-* multiformats repos.
  • We welcome a timely review to continue momentum.

DRI: @seetadev

Reviewer's Checklist

  • It is clear where the request is coming from (if unsure, ask)
  • All the automated checks passed
  • The YAML changes reflect the summary of the request
  • The Terraform plan posted as a comment reflects the summary of the request

@seetadev seetadev requested review from a team as code owners June 2, 2025 17:12
@github-actions
Copy link
Contributor

github-actions bot commented Jun 2, 2025

Before merge, verify that all the following plans are correct. They will be applied as-is after the merge.

Terraform plans

multiformats

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # github_repository.this["py-multiaddr"] will be updated in-place
  ~ resource "github_repository" "this" {
      ~ archived                    = true -> false
        id                          = "py-multiaddr"
        name                        = "py-multiaddr"
        # (33 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # github_team_membership.this["python team:acul71"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = "2242710"
      + username = "acul71"
    }

  # github_team_membership.this["python team:arcinston"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = "2242710"
      + username = "arcinston"
    }

  # github_team_membership.this["python team:dhuseby"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = "2242710"
      + username = "dhuseby"
    }

  # github_team_membership.this["python team:pacrob"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = "2242710"
      + username = "pacrob"
    }

  # github_team_membership.this["python team:seetadev"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = "2242710"
      + username = "seetadev"
    }

Plan: 5 to add, 1 to change, 0 to destroy.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 2, 2025

The following access changes will be introduced as a result of applying the plan:

Access Changes
User achingbrain:
  - will gain admin permission to py-multiaddr
User alanshaw:
  - will gain pull permission to py-multiaddr
User aschmahmann:
  - will gain admin permission to py-multiaddr
User biglep:
  - will gain admin permission to py-multiaddr
User daviddias:
  - will gain pull permission to py-multiaddr
User dignifiedquire:
  - will gain pull permission to py-multiaddr
User galargh:
  - will gain admin permission to py-multiaddr
User guillaumemichel:
  - will gain admin permission to py-multiaddr
User hsanjuan:
  - will gain pull permission to py-multiaddr
User jacobheun:
  - will gain pull permission to py-multiaddr
User jbenet:
  - will gain pull permission to py-multiaddr
User jorropo:
  - will gain admin permission to py-multiaddr
User kubuxu:
  - will gain pull permission to py-multiaddr
User laurentsenta:
  - will gain admin permission to py-multiaddr
User lidel:
  - will gain admin permission to py-multiaddr
User marcopolo:
  - will gain admin permission to py-multiaddr
User marten-seemann:
  - will gain pull permission to py-multiaddr
User mxinden:
  - will gain admin permission to py-multiaddr
User p-shahi:
  - will gain admin permission to py-multiaddr
User rvagg:
  - will gain pull permission to py-multiaddr
User sbuss:
  - will gain push permission to py-multiaddr
User sgtpooki:
  - will gain admin permission to py-multiaddr
User stebalien:
  - will gain admin permission to py-multiaddr
User sukunrt:
  - will gain admin permission to py-multiaddr
User vmx:
  - will gain pull permission to py-multiaddr
User web3-bot:
  - will gain push permission to py-multiaddr
User whizzzkid:
  - will gain admin permission to py-multiaddr

@rvagg
Copy link
Member

rvagg commented Jun 3, 2025

@vmx I'm interested in your take on this, we originally closed down a lot of these repos because (a) they were inactive and (b) they gave the impression of being "blessed" by being in the org. But we already have that, and the contributors to those that remain are at arms length from PL now and we have a group that's keen and able to take over the Python development work. And, Python is a pretty important target so it would be nice to have active development that can be advertised from within this org.

@vmx
Copy link
Member

vmx commented Jun 3, 2025

I think generally the development of Multiformats implementations should happen outside of this repo, in order to not give the impression of "blessed" ones. So it wouldn't make sense to add new implementations here.

But as the implementation is already here and people want to continue that work, it's slightly different. I personally would prefer if it would just be forked/moved somewhere else. But I don't have a strong opinion on it and can live with having it here. My only ask would be that it's kind of made clear that even if it lives here it's not something like a reference implementation or so, but just one of possibly many others.

@seetadev
Copy link
Contributor Author

seetadev commented Jun 3, 2025

Thank you @rvagg and @vmx for the thoughtful input. Appreciate it.

Wish to share that we understand the concerns around the perception of endorsement. To help address that, we're happy to make it explicitly clear that this is not a reference implementation, but simply one of potentially multiple community-driven Python implementations of multiformats.

If agreeable, we can:

  • Add a disclaimer to the README clarifying that this isn't an official or blessed implementation.
  • Ensure ongoing maintenance and updates by the new contributor group.

We believe this will lower friction for Python developers working with multiformats, and help re-energize adoption in the ecosystem.

Please let us know your feedback and pointers. Appreciate your support.

@vmx
Copy link
Member

vmx commented Jun 4, 2025

@seetadev cool, that sounds good to me! Thanks for reviving the Python implementation.

Comment on lines +1996 to +2002
members:
member:
- acul71
- arcinston
- dhuseby
- pacrob
- seetadev
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like a 👍 from @dhuseby on this list since I don't know anybody else here

Copy link
Member

@rvagg rvagg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine by me pending a 👍 from Dave

@seetadev
Copy link
Contributor Author

seetadev commented Jun 4, 2025

@seetadev cool, that sounds good to me! Thanks for reviving the Python implementation.

@vmx: Thank you so much! 🙏 Appreciate your support and encouragement.

We’re delighted to revive the Python implementation and build on the great foundation laid by the multiformats community.

Looking forward to contributing further and collaborating ahead.

@dhuseby
Copy link

dhuseby commented Jun 5, 2025

Lets do it!!

@dhuseby
Copy link

dhuseby commented Jun 5, 2025

LGTM

@rvagg rvagg merged commit a8f53c9 into multiformats:master Jun 7, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants