Community Guidelines

This is a moderated space for discussion about Python code, ideas, and questions. We welcome everyone to participate and voice their ideas, but that must be done kindly and professionally.

This community follows the Python Software Foundation Code of Conduct. If you haven’t already, please read that first.

This is a living document. Major changes will be announced in Discourse Feedback.

Summary

  • Be nice, stay on topic, use English
  • Engage the topic, not the person, and always remain civil
  • Check for existing posts before starting a new one
  • Avoid substantive edits to your posts after posting
  • Flag things you need help with; the moderators are here to help you
  • Moderators will not edit post content, only formatting, links, and confusing typos (like “pypy” vs “PyPI”)
  • Spam or blatant self-promotion will be removed
  • Posts not following the Code of Conduct will be hidden or removed
  • Off-topic posts will be split into a new topic (or hidden)
  • Topics that appear to have become heated will have “slow” mode turned on
  • Repeated infractions can lead to a suspension
  • Message the moderators with any questions
  • Reach out to the PSF Code of Conduct Working Group with any concerns about moderation

Participation Guidelines

Successful, productive discussions are cultivated by all participants. A community is healthy when its members work together constructively and avoid disruptive behavior, within and across topics. Not following these guidelines or otherwise acting unconstructively will burn community members out and drive them away, which is bad for the health of the forum and the community as a whole.

You can set a good example with how you post and respond in topics. But leave actual moderation to moderators. If someone is disruptive, flag them, and try to direct the conversation back on track without acknowledging them. If needed, moderators will respond directly, possibly privately, or otherwise help get the topic on track again.

This forum is run as an official space provided by the Python Software Foundation and is run by a small number of employees and volunteers. You can see who we are at http://discuss.python.org/about.

Staying On Topic

Our forum is dedicated to discussing Python, the programming language, and its ecosystem. It is a large place. Before your first post, try searching for what you were interested in. If you navigate to one of our categories, you can search in that category alone.

That also means that when you post, stick to the topic at hand, and make sure your topic fits the category you post in. Please note that there are no categories here for off-topic discussion. Leave that for a different online space.

Off-topic posts might be split into a separate topic or hidden. Topics not fitting the category will be moved to a more fitting category. Topics not fitting any category will be removed entirely. Use private messages or create a separate topic if your reply would otherwise be off-topic or steer towards off-topic conversation.

Spam and blatant self-promotion get removed with extreme prejudice and will lead to account suspension or bans.

This forum uses English to communicate. Posts in other languages will be removed.

Seeking Help

If you need assistance from a staff member, flag the post or topic you need help with. You’re free to provide a reason (like “inappropriate” or “off-topic”) or even type in your own message. This will start a conversation with @moderators.

If you’d rather start a message unrelated to a particular post or topic, you can do it by clicking the three-line icon (hamburger menu), and finding a + icon next to the “Messages” section. Address your message to @moderators.

When needed, moderators will step in, make decisions, and enforce good behavior. That will be tailored to the specific context of the user and the topic, which may not be laid out directly in these guidelines.

Since anybody can flag content, and everybody makes mistakes sometimes, a post of yours might be moderated as well at some point. Keep in mind such actions are an effect of consensus: somebody flagged a post, and a moderator reacted to it. If you have been moderated or see moderation actions elsewhere that you do not agree with, the most effective way to course-correct is to give it a little time.

Assume good intent from moderator actions, even if the context is not clear to you. You can ask the moderators questions by using direct messages to the @moderators group. They can choose to explain further there if needed. If you disagree beyond that, contact the PSF Code of Conduct Working Group and explain your issue. Public posts confronting moderators about their decisions will not be tolerated.

If you are a community member in good standing interested in being part of the moderator team, let us know.

Content Editing

Discourse as a platform allows post editing. If a post has been edited, you can see it has a small pencil icon next to it. Click it to reveal full history with diffs and edit attributions.

Community members are allowed to edit their own posts. Substantially changing the meaning of the original post is discouraged, but fixing spelling/grammar, rewording, or adding clarification is welcome. Avoid substantial edits after 15 minutes of posting.

Moderators will only edit posts to correct formatting, broken links, and confusing typos. Posts that have other issues will be hidden if they need to be moderated, and their authors will be contacted to edit their message.

Successful Participation

You will be most successful if the community and maintainers are familiar with you. Participating constructively with the existing backlog of ideas and issues gains you experience and trust. Reducing the existing workload gives maintainers more time to actually engage with and consider new requests. This requires long-term dedication, it is not something that happens in a month.

Avoid overwhelming a conversation and leave room for other voices. Be aware of the number, length, and frequency of your posts compared to others in the topic. It can be difficult for others to participate if a few voices take up the majority of a topic.

Respond constructively in good faith. Usually, if someone is unclear, more experienced people will know or can at least be very confident about what was meant. Respond to that, rather than pedantically attempting to get the person to say something in a specific way. Don’t nitpick.

Do not respond to every post. Decide what avenues to focus on and which are distractions. Be concise. You can make your point in one or two posts, repeating the same arguments isn’t productive. Trust others to see your post and consider it along with the rest of the topic.

If you disagree with something, state your point and move on. You do not need to have the last word. Not responding, and letting a discussion naturally conclude, is often the better decision.

Step away if you find yourself arguing in any way. Flag posts for moderators to step in. Long arguments are rarely productive, and often end up being off-topic.

People are allowed to use the features available to them in Discourse. That means editing, splitting topics, moving categories, etc. This may not be visible to email users. Email users have to accept their experience as it is.

Category-specific guidelines

Ideas/Typing/Packaging/PEPs categories

Ideas are harder than it seems. In case of unsolvable differences, status quo wins by default. For your idea to be successful, you have to be able to present it in a way that creates consensus.

Propose one idea and stick with it for a time. Ideas can take years to formulate and implement. Jumping around between completely different areas of focus is not conducive to this process. Propose one thing you care about and stick with it.

Avoid repeatedly posting slightly different ideas about the same thing if previous ones are declined.

Proposing multiple ideas simultaneously, or immediately proposing something else after a previous idea is rejected, quickly becomes disruptive.

Don’t take negative reactions to an idea personally. You care about your idea, but you need to be prepared for others to have different views. Continuously posting defenses of your idea, rather than responding to feedback and evolving (or dropping) the idea, quickly becomes uninteresting for others to participate.

Make sure you’re getting positive reactions from the people who will actually implement/maintain what you’re proposing. If core developers are not participating, or have indicated neutral to negative interest, it may be time to step back and reassess your idea rather than continue to discuss it.

Asking Questions

There’s a dedicated category called “Python Help” for people seeking help with Python-related issues. When you need help, you can do a lot to improve your chances of getting the right response quickly.

Share background context, but stay on topic. Be specific, but also provide information about your environment. Expect that people will ask for clarification. Expect that help might take time to arrive. Be patient.

Do not ask for others to implement your school or work assignments from scratch. Do not ask for others to find bugs in code generated by AI tools like ChatGPT. Do not ask for help with piracy, hacking, and other illegal activities.

Answering Questions

Community members seeking help will vary from absolute beginners (some still in school!) to seasoned professionals. Treat everyone with respect. We are very grateful for your time spent helping others, but only do it if it brings you joy and you have the patience for it.

Answer questions directly. You can point people to broader topics or more interesting solutions, but first and foremost, always help the asker by answering the direct question.

Assume good faith from the community member. Don’t try to question why they’re asking their question, or why they want to do something. You’re welcome to decide not to answer a question based on what you think about it, but no need to call that out publicly. If you don’t want to answer, you don’t have to, but give others the space to do so.

Use your judgment as an experienced developer to interpret a question. Community members may not know how to communicate their question precisely or clearly, but usually, the intent can be reasonably guessed in that case. Don’t demand that they ask their question in a particular way or withhold help. If you truly can’t help without further information, leave a short post saying so, or simply move on and don’t post at all. You are encouraged to work with community members, back and forth, to help them solve their problem, while working positively in collaboration with them.

Don’t overwhelm a question with detailed discussion about performance or theoretical best practices. Tailor your answer to the level of the question. If someone else has already answered in substantially the same way, no need to repeat that or to further tweak it. Don’t overwhelm simple questions with multiple detailed replies when one will do.

While AI tools such as ChatGPT can be used to assist in researching and copyediting your own work, never simply copy and paste code or answers generated by LLMs (large language models). Write your answers in your own words and verify any information yourself that you share with others. Users are looking for curated and personal help from real people, not for someone to use a (often misleading or inaccurate) search engine for them.

Moderation Guidelines

Moderators and admins ensure this community remains welcoming and inclusive. They follow these guidelines themselves, and apply these guidelines to the community.

Moderation actions

If the participation guidelines are not followed, action will be taken. Actions may include:

  • Asking the participants of a topic to remain on topic.
  • Slowing down heated topics so every participant can only post every n hours.
  • Locking topics so they no longer accept new posts.
  • Delisting (hiding) topics so they no longer appear in topic lists in categories.
  • Silencing users temporarily, so they can read but cannot post.
  • Suspending users temporarily, so they cannot log into the site. This action is only taken after review with other moderators, and is preceded by an explicit warning to the user.
  • In only the most egregious situations, action may be taken immediately to protect other community members.

When a serious moderation situation occurs, the forum moderators and admins will consult the PSF Code of Conduct Working Group. The Working Group will review the situation and provide recommended actions to be taken. This may include temporary or permanent suspensions or bans. The decision to suspend or ban a community member is not taken lightly, and is not determined by any individual.