Introduction and community engagement questions

My name is Shamika and I joined PSF as the Packaging Project Manager in August, 2021. I have never introduced myself to the community. I am using this post to introduce myself, share ways to contact me and also get your thoughts on community engagement.

I have a background in software development / data science. I have used packaging tools as an end user. I took this role to gain more experience in project/program management and working with various stakeholders. Most recently, I engaged with users to gather requirements that would drive future development plans. You can read about it in this blog post.

If you wish to get in touch with me, find me on Discourse (username: smm), Github (username: s-mm) or by email (sm at pyfound dot org).

I would like to get your thoughts on ways to improve community engagement.

  1. Are you satisfied with community engagement on your project? What should be improved/changed? How do you see the Packging Project Manager help with community consensus? (It would be nice if you could provide specific examples)

  2. In recent surveys, it was observed that the number of responders was low and most responders were from specific geographic regions. Do you have any input on how we could engage with users globally and also increase the number of users who respond to surveys/community proposals?


Hi, Shamika! Congratulations on securing the Packaging Project Manager spot – IMO the role has a great deal of potential to provide tremendous good to the Python ecosystem, and packaging in particular, and I’m excited to see the benefits that will come from your efforts in the role.

I have a number of thoughts on #2.

Reaching sufficient audience is one of the biggest challenges for anybody on the Internet these days, whether a streamer, a writer, an OSS package developer, or a representative of a (subset of a) programming language community. With very rare exceptions, there are no single platforms big enough to reach a critical mass of any community. So, it seems to me that the solution is to aggressively market through a large number of channels across multiple media.

So, for the Packaging Project Manager activities in particular, such as the surveys about packaging tool use, I would recommend:

  • Reach out to multiple (25+? 50+?) prominent individuals within the Python community, across all domains (web, libraries, data science), and ask them to publicize via whatever platform makes sense to them – blogs, Twitter, Reddit, Facebook, Discord, whatever.
  • Reach out to every major and minor Python-related podcast you can find, and at least ask them to mention and link to the item.
    • Also, consider trying to go on one or more podcasts as a guest, to discuss in more detail what the goals of the activity are, what input is desired from the community, etc.
    • Along these lines: The hiring of the Packaging Project Manager itself is a big deal! It is something that I feel should’ve been brought to the Python podcast(s) already. An interview with you, Shamika, to introduce both you and the goals of the position to the community would would be quite valuable to everyone. From my standpoint, your start in the position was an extremely soft launch and did very little to establish you in the perception of the Python community. Would be a great idea to remedy that.
  • Reach out to major written Python outlets (e.g., to also request they at least mention and link to the item
    • Also consider giving interviews with these outlets, for the same reasons as with podcasts
  • Post notices of the item on every single channel that’s under PSF control, or over which PSF has enough influence:
    • Post a banner notice on
    • Post a notice on PSF site/blog
      • Perhaps upgrade this to a more detailed discussion of the role and its goals?
    • Pin the survey topic on the Discuss frontpage
    • Aggressively tweet about the item, including aggressively retweeting any (positive) commentary you find out there
    • Maybe there’s some way to put the item in front of Stack Overflow users? Not sure what that would be, that didn’t involve purchasing ads, though

Other possible avenues, which seem to me to have lesser potential for timely reach, but that might be a good option for expanding to a more global audience, include connecting with local/regional meetup groups and giving short talks at local/regional conferences.

I’m sure there are other channels as well. I hope this post will serve to catalyze further discussion here about other options. The more important it is to get broad exposure to a given item, the more of these channels I would recommend pursuing.

I recognize that this is all very time-consuming… but, personally, I see few options that aren’t.

I agree, this is the sort of thing I think would be very useful. We did something similar (possibly on a smaller scale) when developing the new pip resolver, and it made a huge difference in getting visibility.

This in particular I agree with very strongly. The role is definitely a big deal, and has so far been extremely low key, with almost no visibility. IMO, that’s the first thing that needs to be remedied - get “the general public” aware of who you are, what your role is, and how you can help. This in itself should prompt people to contact you with their issues/concerns/suggestions, which will have excellent synergy with the outreach you’ll be doing based on the other points @btskinn makes.

Another channel for communication is Python package installers (Pip, Poetry, etc): they could print a dynamic message to the user. This seemed to work for the recent links to GitHub issues for warnings in Pip. If this sounds useful, I can start a Discourse topic etc

While I think this worked well for “you got this error/warning, go here for help debugging the issue”, I don’t think I’d want to see pip used as a general “advertising” channel for packaging news. Not even for a (presumably) one-off case like this.


Welcome Shamika! Packaging PM is a hugely important role. Another untapped resource are companies that interface with the PyPI/Python packaging ecosystem, e.g. by consuming packages and adapting them to their internal needs. I can definitely say that’s a huge source of pain for companies like mine, and I’m sure we’re not alone. Finding ways to identify the pain and help utilize resources that those companies can bring to the problem (in people and $) would go a long way toward helping improve the situation. Please reach out via PM if you want to discuss in more detail.

1 Like

@btskinn Thank you for the detailed advice. You have mentioned couple of channels that have never been mentioned before. All of this goes into my comms plan.

1 Like

@EpicWink I’m not sure users would like to see this. I expect to communicate with the community quite often and I don’t think it will be possible to share every update with them via this channel.

1 Like

Right, but not that I’m necessarily endorsing that idea, just keep in mind that unfortunately only a very small fraction of users (perhaps on the order of a hundred out of many millions, which is something like 0.0001%) see your updates here, and even counting all those channels, I’d think that only a fraction of Python end-users actually monitor any of them on a regular basis. While this is fine for getting a somewhat representative sample of generally more-active users, and for updates that interest those more active in packaging, if you really want to reach a broad cross section (particularly niche communities) with something really important, messages/warnings/etc. with pip and other packaging tools may be the only really reliable way to do that (though also having the most downsides in terms of noise, so it must be carefully considered). See, for example, the recent big sysconfig issue, where something like that was done.

if you really want to reach a broad cross section (particularly niche communities) with something really important, messages/warnings/etc. with pip and other packaging tools may be the only really reliable way to do that (though also having the most downsides in terms of noise, so it must be carefully considered).

Couple of thoughts here – first, if this were put into place, I think pip specifically is a bad place to run packaging announcements. Rough guess, I suspect there are at least ~100x more people just using pip to install packages, as compared to the number of people building packages, and so using pip would be noisy for a lot of people that aren’t in the target audience. A much better place to site packaging announcements would be the build and deploy tools: build, twine, poetry, flit, etc.

Second, I think the implementation might be best done as an opt-in to a centralized, public announcements channel. For example, a JSON endpoint could be added to warehouse/ that reports whatever current packaging-related messages – last I knew warehouse uses CD, so adding/updating/removing that message should be as simple as a PR/commit to main. With that in place, whatever community members (projects, individuals, whoever) who want to republish/rebroadcast those messages could just query that endpoint and use the result accordingly. It could also be set up to automatically put those messages in a banner on (perhaps selectively, only for high-priority messages, to minimize audience desensitization to the banner).

1 Like

This sounds like a reasonable technical solution to the issue. But IMO the problem is that the main issue isn’t technical, it’s social. Packaging users don’t want to find out about changes in the ecosystem, etc. In general they don’t even see themselves as “packaging users” and quite often see packaging as merely an obstacle to (or at best a tool for) getting things done. The main communication challenge here is getting people affected by ecosystem-wide changes to even be interested in what’s going on.

IMO, the solution here is to give packaging more of a “human face”, which is why I feel it’s important to have someone acting as a spokesperson, doing outreach and public relations work. Whether that’s part of the packaging project manager’s role, or a completely separate individual, I don’t know.