The Real Python Community Slack is a Python community that communicates mostly in English and has members situated all over the globe. You are free to discuss any issues or concerns you may have, celebrate your achievements, or hang out with the community around the virtual watercooler in this friendly group. This instruction manual is for you if you would want to:
-
Get the most out of the Real Python
Slack community
-
Navigate some of
Slack’s most valuable features
-
Get your
questions answered
by other Real Python members -
Learn the
dos and don’ts
to keep things on an even keel
We would be happy to consider your suggestions as well as answer any queries you may have. You may either post them in the comments section below or share them with the admins in Slack. If someone has a Real Python symbol next to their name on Slack, it indicates that they are an administrator on the platform.
name.
Enjoy Yourself, Be Curious, Ask Questions, and Respect Others
The members of the Real Python Slack group are very approachable and like answering questions and just chatting with one another. It is a wonderful resource for Pythonistas who are just starting out as well as those who are more experienced and are eager to broaden their knowledge and make new friends.
There is no such thing as a foolish question since there are none! It’s interesting to note that questions posed by novices often lead to the most engaging and in-depth conversations on Python and programming in general. Thus, don’t be afraid to inquire!
Everyone in the Real Python Slack group is here to learn, and individuals are always happy to provide a helping hand. This is not a contentious forum in any way. Hence, pay attention to one another and treat them with respect. You’ll make some buddies!
Obviously, there are difficulties associated with online communication that do not exist when individuals physically interact with one another. In the event that you have any questions or concerns about anything at all, you are more than welcome to get in contact with one of the
administrators:
They will go out of their way to assist you in every manner that they can.
If you are curious in how to navigate the community, how you may profit from it, and how you can contribute to it, then continue reading for some useful suggestions and recommendations. In the next sections of this tutorial, you’ll get familiar with some of the dos and don’ts that will help you keep things running smoothly.
flowing.
Find the Best Channel to Ask Your Question
You may ask questions in one of the many different channels that are available on Slack. The majority of channels each devote their attention to a specific subject or area of expertise. When you sign up for Slack, you’ll immediately be connected to a few channels that are used more generally. You are not only welcome, but strongly encouraged, to participate in any of the other channels that are available inside the community Slack.
You may access the list of channels that are currently accessible by clicking the plus sign that is located next to the Channels menu. Click the Join button after deciding on the channel that you want to join and selecting it. For instance, if you’re interested in web development, data science, or jobs, you may want to sign up for the following channels: #webdev, #data-science, and #careers.
It’s possible that this may appear a little bit different for you depending on the platform you’re using Slack on.
When you have joined a few different channels, you will be able to ask your question in the channel that is most directly linked to the issue that you are having. If your topic does not fall into any of the predefined categories, then you should direct it to the #coding-questions channel.
you.
Spend Some Time Composing Your Questions
When you are in a hurry and come into an issue, the temptation to get on Slack, paste all of your code, and post IT’S NOT WORKING might be strong. Sadly, this is a foolproof method for getting others to dismiss your inquiry. Learning how to properly pose questions is challenging!
Everyone seems to be so busy and hurried these days. Suppose that you have disturbed a coworker who is in the middle of their job and asked them for assistance with an issue. You cannot bring your laptop with you, place it on the table in front of them, and then claim that it is malfunctioning. You convey the problem to them in a manner that may provoke a constructive response from them.
response:
-
Summarize the problem
-
Give some context to the question
-
Provide a minimal reproducible example
-
Mention what you’ve tried so far
-
Check your spelling, grammar, and formatting
It is more likely that someone will not know the answer to your question off the top of their head and will therefore be more likely to disregard it as something they do not know. The more complicated your question is to wrap your head around, the more likely it is that someone will not know the answer. No of your degree of expertise, reading code is difficult; it requires a lot of time and effort.
Spend some time organizing your ideas, and then describe the particular issue, together with the code, in a single article.
.
Summarize Your Problem
If you can summarize the issue in one or two phrases, it can go a long way toward helping others aid you. Nevertheless, poor summaries may cause individuals to withdraw their assistance.
off:
-
Don’t
: This code isn’t working. -
Do
: Why does using
float
instead of
int
give me different results when all of my inputs are integers?
Everyone is busy, so if you can express your query in the first phrase, it will be much simpler for others to comprehend the situation and give assistance in a timely manner.
There can be instances when you get replies that do not seem to directly address the problem that you are experiencing. Consider whether or not your summary identifies the problem in a way that is both clear and truthful rather of becoming irritated with your fellow students. If necessary, thank the community for their comments in a kind and courteous manner, and then write an updated summary in the thread on your original question.
post.
Give Context to Your Question
Providing the background information and the overarching objective helps avert the XY issue. This is something that often occurs when a person has an idea for a solution and then inquires about how to put that concept into action without first offering the context of the issue. There’s a possibility that the initial issue has a solution that you haven’t considered yet. If you do not provide the background and do not identify the initial issue, it may result in a significant amount of time being wasted on both your part and the part of the individual who chooses to assist you.
Take, for instance, the scenario in which you want to execute a shell script written in Python but you don’t know how to browse to the appropriate folder in order to do so. Someone takes a significant amount of time to educate you on how to run the file and the hazards associated with using Python to execute shell scripts. Then you explain that the shell script does nothing more than delete files, at which point the individual assisting you wonders why you don’t just use Python instead of the shell script.
In many instances, the context of the question—that is, the real issue that you are facing—can be considered to be of far more significance than the answer that you strive to find. Hence, if you ask someone a question, you should always offer some background.
questions.
Provide A Minimal Reproducible Example
Please attempt to present a minimum reproducible example . When you provide a simple repeatable example, you are giving someone enough code and instructions to recreate your environment and duplicate the undesirable behavior that you are encountering.
When the code is not functioning properly, and particularly when there are more than ten lines of code, it is difficult to detect errors just by reading the code. Running the code on your own and making any necessary adjustments is a far more effective way to locate the problem. Because of this efficiency, a minimum repeatable example is very useful; it is comparable to having a group of specialists congregate around your computer in order to interact with your code.
If your issue can be traced directly back to your surroundings, you should make this connection clear. Make it quite apparent that this is not something that can be replicated by other people. Having stated that, you will need to come to terms with the fact that other people will find it difficult to solve this challenge.
debug.
Provide Tracebacks
Making a statement that something is not functioning properly does not give very much information. On the other hand, the error messages, also known as tracebacks, that Python generates are quite instructive.
Nevertheless, tracebacks may be difficult to discern, and reading tracebacks is a talent that requires years of practice to become proficient at. Nonetheless, you should always supply the output or error messages generated by your code. The output provides crucial hints as to what could be wrong, which more seasoned programmers might be able to figure out.
decipher.
Don’t Cross-Post
As a general guideline, please refrain from posting the same question in several channels at the same time. By just posting in a single location, you assure that there will only be a single focal point for individuals to respond to your inquiry. If you cross-post, you run the risk of making other users waste their time responding to your inquiry when someone else may have already done so in another location.
If you need to remove your question because you submitted it in the wrong place by mistake, then read the section under “Delete and Modify Your Posts.”
.
Try to Solve the Problem Yourself
The members of the Real Python community are always happy to provide a hand and respond to inquiries, but they won’t do your assignments for you. They will not finish any of the homework assignments you give them! They are here to assist you in learning, and the most effective method to learn is via hands-on experience. This paper by Eric Lippert, titled “How to Debug Little Programs,” is considered to be a classic and serves as a great guide for the overall strategy that should be taken while debugging.
If you are just starting off, another resource that can be helpful to look at is Understanding the Python Traceback. This course will help you get a better understanding of what is going on in your code, which will enable you to ask better questions in the community Slack.
Be careful not to lose your cool, however; there’s no need to be embarrassed if you find yourself in a bind. Please ask! Simply mention everything you’ve attempted up to this point.
far.
Deal With Unanswered Questions
It might be really annoying when you don’t receive a response to your query. If you discover that your questions aren’t being answered, it’s probably a good idea to ask yourself a couple of them.
questions:
- How much time has passed?
-
Did I include all
relevant information
? -
Did I post to the most
appropriate channel
?
If the response to the question of how much time has gone since you last asked yourself is only a few hours, then you should give it more time. The majority of our users are employed full-time and only check in on Slack when they have some downtime to concentrate on improving their Python abilities.
The various time zones are also an important consideration. It’s possible that the individual who will ultimately respond to your question is now asleep when you publish it. Hence, give it some thought while you sleep; not only will this offer your mind the opportunity to work on the issue in the background, but you may also wake up with a solution.
You should also examine the dos and don’ts included in this guide to see if there is anything important that you forgot to include. Have you provided either your traceback or your error message? Is all of the pertinent code present, and has it been structured correctly? Because of all of these factors, the capacity of members to provide assistance may be affected; thus, it is important that you rethink your question and make it simpler for others to comprehend.
When you’re first starting out, it’s normal to feel confused about which details should be emphasized and which should be glossed over, and that’s OK. The more you do it, the simpler it will become. Follow the rules that were just presented, and don’t allow your uncertainty prevent you from asking your inquiry. The Real Python community is full with kind and friendly individuals who are willing to go out of their way to assist you in any way they can.
When a significant amount of time has passed and you are certain that your query is understandable and detailed, you should think about whether or not you posed your inquiry in the appropriate forum. Is there another channel that would be more appropriate for it? If this is the case, you are free to deviate from the cross-posting guidelines and publish a link to your question in one of the following channels:
By including a link to the initial inquiry, you can make sure that there is still just one location where a response may be provided. Moreover, it connects individuals to any past debate that may have taken place in relation to the initial issue that was asked.
If none of these solutions work for you, you may want to explore posting your issue in the members-only section of the forum known as Office Hours. You may ask your question by posting a link to it in the #office-hours channel, and the hosts will take it from there.
Last but not least, if none of the aforementioned solutions worked, you could try contacting an administrator directly in Slack. They are able to assist you in finding a solution or guide you in the proper direction.
direction.
Don’t Give Up
Perseverance is an important quality in a competent programmer to have. Continue to make an effort, even if you don’t get any replies to the question you posed. Sometimes there is an issue that is so particular or challenging that no one believes they are able to assist.
When you do figure out a solution to your issue, let the community know so that they may celebrate with you and learn from your experience. Thus, please don’t be shy; invite others to participate in your education.
journey.
Group Your Responses in Threads
Please be sure to utilize the button labeled “Comment in thread” if you wish to react to a post made by another user. By using threads, the complete discourse pertaining to a certain subject may be kept in an one location, which makes it simple to follow the conversation:
The thread feature is a fantastic tool for preventing threads of discourse from becoming entangled with one another. That makes the conversation understandable for future users, who may pick up some useful information from it. It is also helpful as an indication to check whether any questions have no replies, which further increases the likelihood that all questions will receive answers.
Keep in mind that everyone is here to learn, and that everybody has to begin somewhere. Maintain a courteous tone throughout the thread.
responses.
Pay Attention to Spelling, Grammar, and Formatting
To reiterate, everyone is really busy, thus it is much simpler to understand anything that has structure and where the code is structured in the suitable manner. This applies to the replies as well as the questions. You can get additional information about how to structure your messages in Slack by reading the formatting guide for Slack, which can be found here.
Make use of the built-in spell checker that comes with your browser, and set aside some time to ensure that your work is understandable. If English isn’t your first language, you shouldn’t be concerned whether the grammar matches what you were taught in school, particularly if English isn’t your first language.
Nevertheless, the only place where formatting is important is in code. As was previously noted, coding is difficult to understand. So, even the smallest changes you can make to make the code simpler to understand will have a significant impact. There are four different methods that you may share code that has been prepared on.
Slack:
-
Inline code
: For tiny snippets of one to five
words
of code -
Code blocks
: For small snippets of one to ten
lines
of code -
Code snippets
(preferred method): For snippets up to thirty lines -
GitHub
: For anything larger than thirty lines
Each has a specific use, but making use of code should be the most typical approach.
snippets.
Inline Code
Formatting of little portions of code that you wish to mention in your inquiry or comments may be done with the help of inline code. Its primary purpose is to call attention to certain objects and variables that are included inside your inquiry.
The phrases “pip install flask,” “Flask,” and “ModuleNotFoundError” are presented in the form of inline code.
To include inline code in your inquiry, either enclose the name of the variable or object you want to reference in backticks (‘) or click the button labeled “Code formatting” on the message editor:
Just highlight the text that has to be formatted into code, then push the button.
button.
Code Blocks
You may use code blocks for smaller samples of code such as single functions, outputs from REPL and terminals, and short fragments of code.
In the following example question, inline code is followed by a code block:
The question itself utilizes inline code for the names of objects and variables, and it is followed by a code block that displays the code that is being questioned. To create a code block in Slack, either enclose the code you want to display in triple backticks (“‘) or click the button labeled “Code block” in the message editor:
If there are less than 10 lines of code to display, code blocks are the way to go. For a few reasons, code blocks are not appropriate for lengthy stretches of code.
reasons:
-
There’s
no syntax highlighting
, which makes long passages of code more difficult to read. -
It fills the screen, meaning
other members’ questions can get buried
or missed. -
It makes for an
unpleasant reading experience
for anyone scrolling through the feed.
If you need to exchange bigger parts of code, then there is an improved method available to you: code.
snippets!
Code Snippets – The Best Way to Share Code
The ability to share and understand huge amounts of code in Slack is greatly improved by the use of code snippets. When it comes to distributing the majority of your code, snippets need to be your technique of choice. Including a.py file as an attachment to your mail is all that is required of you. Note: It is possible that you may be able to simply drag and drop the file into the Slack window if you are using the web client, desktop software, or mobile app to communicate with Slack; however, this will depend on your system and how you access Slack. In any case, you may still attach the file by following the instructions below.
Within the confines of a snippet message, you are free to make use of either inline code or code blocks. Because of this versatility, you are able to communicate both your code and your traceback in a single message.
The following is an example of a code snippet:
One of the primary advantages of using code snippets is that they offer syntax highlighting for practically any programming language. This is a huge benefit. In addition, they may be collapsed, which makes lengthy code samples less obtrusive to read. With only one click, those who are interested in learning more may expand and read the whole excerpt.
They are also downloadable, which means that anybody who is assisting you may download the file. This is an additional significant benefit. The fact that the file may be downloaded makes it possible to replicate the problem much more quickly.
To generate a code snippet, just click the “+” button located in the Slack chat box and proceed as if you were intending to attach a file. After that, you may attach any code file, and the contents of that file will be shown as a snippet.
You might also search for a shortcut titled “Generate a text snippet,” which will open an overlay for you to enter in your query and copy your code into the content section. If you do this, the search results will appear in the appropriate language. You have the option of providing the sample with a title (which you may treat as a filename) as well as selecting the language for the syntax highlighting.
The following is a brief illustration of how to generate a code snippet:
Sharing code on Slack is easiest when done via the use of code snippets.
If you have any more inquiries about the formatting of your code while using Slack, then please share your opinions in the comments section below or get in touch with any of the Real Python Community administrators.
Slack.
GitHub
If creating a repeatable example in less than thirty lines of code is difficult for you, or if the person assisting you requires access to all of your code, then please give the URL to the Git repository for your project instead. You have the option of creating a new repository and copying the bare minimum of code needed to replicate the issue:
If there are any instructions for setting up, they should be documented in a file called README.md. Someone would have a much easier time replicating your working environment if they did this.
Since GitHub allows users to host an infinite number of public repositories, the platform is a good location for storing “throwaway” repositories that may be removed after a problem has been solved.
If the idea of building a whole repository sounds like too much work, then a method that falls somewhere in the middle is to utilize GitHub Gists:
Gists let you to distribute a single file or many files without the need for the additional boilerplate that comes with a whole.
repository.
Delete and Edit Your Posts
You have the ability to amend your posts for a certain period of time after they have been first published, but after a short while, you will no longer have this capability. There is no limit to the number of additional context posts, explanations, or corrections that may be made in the thread that is located below the post.
Please get in touch with one of the moderators or administrators so that your post may be deleted on your behalf if it has progressed too far or if you have made a mistake that requires you to start over completely. But, they will not be allowed to make any changes to your inquiry.
This restriction was primarily put into place due to the frequency with which users erase their queries after receiving a response to those questions. Even if you didn’t take part in the discussion, it’s still beneficial to look over the question-and-answer threads that were created. The archived discussions are a helpful resource for the community as a whole.
community.
Summing Up
Your development as a programmer may significantly benefit from your involvement in an active community such as the Real Python Slack, which offers a variety of useful resources. You should now be familiar with how to make the most of the Real Python Slack channel after reading this tutorial.
To become an experienced programmer, one of the most important skills to acquire is the ability to articulate any technical issues that arise. This article will assist you in accomplishing this goal so that you may begin drawing from the rich knowledge base that Real Python members possess.
The Real Python community is made up of contributors from different walks of life and with a variety of experiences, and they come from all corners of the world. Your technical abilities will improve, you will be introduced to new fields of interest, and your social circle will grow if you participate in the Real Python community.
There are other ways than the internet to keep in touch with your contemporaries. During PyCon 2022, Real Python had a booth where they interacted with a large number of community members. There were get-togethers as well as an open area where members may hang out and pose inquiries to one another.
It’s possible that you’re not a Real Python member yet, which means you can’t take use of the perks offered by the Slack community. Create an account now to start networking with other Python developers and improve your understanding of the language as well as your profession.