Gain Proficiency in Python Solving Real World Exercises

Expect to be challenged, deliberate practice is the key to your success as a programmer


The website is very simple, but the service offered is vastly superior to anything I've known on the web (for Python development anyway).

As soon as I started the first challenges, I knew that I had found not only the best way to train every day to become a better developer, but also the best way to show all companies that recruit that I know how to solve difficult challenges.

I've found my first job as a Java/Python developer and I sincerely believe that it's thanks to my daily training on the PyBites platform.

» Francois NOEL

New to Python? Start here.

Feature Free Premium Premium+ Busy Pythonista
Monthly cost (USD) $ 0
$ 20
($ 16.66 when billed yearly)
$ 40
($ 33.33 when billed yearly)
$ 8
($ 6.66 when billed yearly)
Number of Bites accessible 17 325 325 4 / month
Highest belt to achieve PyBites White Ninja Belt PyBites Paneled Ninja Belt PyBites Paneled Ninja Belt PyBites Paneled Ninja Belt
Run your code only (without tests)
Run flake8, black and radon against your code
Offline mode
Bulk download your code
Private Slack Channel
Monthly Conference Call
Start Upgrade Upgrade Upgrade

We also support schools / universities, enterprises / startups and recruiters. If you are interested in using our platform in your class / with your team / to recruit talent, Schedule a Demo with us or Contact us for more information.


How our Community experiences our Platform:


I can't thank the PyBites team enough for their dedication to building a solid learning platform for the beginner, intermediate, and advanced Pythonista alike. The variety of exercises continues to grow in depth and breadth, there are consistently new coding challenges to push your limits and expand your knowledge. The Slack community is a open and inviting place to share ideas and ask for help if you get stuck on a problem.

PyBites gets me up and motivated in the morning! It's better than coffee!

For me, the PyBites platform provides an incredibly helpful medium to progress and practice.

The bites often necessitate reading up on unfamiliar modules, libraries, built-ins, etc. Without the problem-solving context of PyBites, it would be almost impossible to absorb the information.

I particularly like the subtle guidance given in the form of “hint tags” associated with each “Bites Of Py” exercise. They don’t give much away but point you in the right direction – that’s a great way to learn!

I have spent time on a number of "coding tutorial" sites, often-times feeling like it's the same old task-oriented exercises (i.e. take an input and print all even numbers between 0 and the input to the console).

PyBites is the first platform that has felt much more "well-rounded", challenging me to solve actual problems, as well as implement "full" code [as opposed to snippets]. Great work!

Today I am really glad to write a Testimonial for PyBites. I am grateful to the pioneers of PyBites - Bob and Julian.

Two years back I used to see daily PyBites tweets on Twitter and wondered what PyBites was all about. I went to their website and found their Code Challenges. But I left it there, because I felt how on earth am I going to solve these Challenges? The tasks were challenging without giving anything away. There were hints, tips and references. However, It looked daunting so I quit.

I enjoyed working with Python and had programmed in it at work. But never really mastered the nuts and bolts of the language.

Then PyBites joined Michael at talkpython.fm to produce the #100DaysOfCode and #100DaysOfWeb courses. That is when I took PyBites seriously. I understood their concept of learning a programming language - deliberate practice and building out things. I gradually understood that this is the way to learn anything.

The following are some of the features of PyBites which stand out for me:

1. Bite exercises

These are real-world tasks (with increasing complexity) which you have to solve using Python and its ecosystem. Your solution for each task goes through well-thought-out tests that you need to pass to complete the task.

2. Blog Code Challenges

These are open-ended real-world challenges. You have full freedom to expand your imagination and come up with solutions for the challenges. The platform provides you with references, hints and tips to complete these challenges. The best part is the code review that takes place after you have checked-in the code to Github. If accepted, your PR gets accepts. How cool is that?

3. Deliberate Practice

The PyBites platform caters to everyone who wants to master the Python programming language. If you are a complete beginner, you can start with the "Newbie Bites" and then move on to more advanced Bites. To master a programming language, you need to consistently and deliberately practice. The "Coding Streak" calendar should motivate you to practice consistently.

4. Makes you uncomfortable

The Bites makes you uncomfortable most of the time. That is fine. This is the way you learn. The platform will push you to come out of your comfort zones. You will struggle, you will have to look up documentation, you will have to learn a new thing and so on. But in the end, you will master some of the concepts which you though you will never understand.

5. Tests

Your solution to the Bites run against tests written in pytest. The tests are rock solid and make sure that you struggle, learn, and complete the task. I go through the tests after reading the description of a Bite. I have learned to work with pytest just by reading the tests for each Bite. The best part is you can recommend changes to tests if you believe they are inadequate.

6. Forum and Slack Channel

These are the best parts of the PyBites Platform. The people there are welcoming and always ready to help.

Forum - After completing a Bite, you can post your solution on the Forum, you can compare your solutions against the solutions of others. The Forum is a "GoldMine". You are sure to pick up something from there for free. Many a time, I have picked up certain things which I reused in my future Bites. Lots of good discussions happen here. You will get upvoted for your hard work as well. You can discuss how you have solved a particular problem and others will benefit from it. I felt really glad when one of the users of the Platform came back and told me that he learned from my solution.

Slack Channel - Sometimes you get stuck on a problem. But don't worry, you can always go to the Slack Channel and ask for help. They will not give you the solution but will nudge you to go to the next step. More often than not, that's all you need to crack a problem. Oh, I forgot "Karma", that's a surprise awaiting you there. 😀😋

7. Learning Paths

No, no, this is not a place where they teach you something and leave it there. They don't teach anything here. These are well-tailored paths that you can take by solving Bites along the way to master a skill in Python. For instance, you want to master decorators and context managers in Python - the Platform lets you do that and awards you with badges. I like to go the "Learning Paths" way -- master skills in Python one at a time.

8. Profile, Ninja Belts, Certificates, and Badges

You will get all these things as you climb the ladder on the Platform. These give you gratification and will motivate you to go further. These are essentials for your journey and allow you to showcase the same on your profile.

9. PyBites Blog

Blogs give you that critical necessary pieces of information to improve your knowledge. They will help you not only to solve the Bites but also to apply them in your side projects and work. The blog also talks about productivity and gives you valuable tips.

10. Tips

These are cherries on the "Platform" cake which you don't want to miss. These are some "Pythonic" ways to master so that you become a better Pythonista. When you solve a Bite you are gifted with a tip that links to Twitter. Make sure to learn the tip and apply it at the next possible opportunity. Recently the Platform launched a feature where you can subscribe for tips and they will be delivered to you in the mail. So you always have a one-stop place for the tips.

I am really glad that I found PyBites and the community here. A major part of my Python mastery is because of this Platform. So I recommend the PyBites Platform to anyone of any level, to master the Python Programming Language. Come join me @Pybites and you will be amazed by the progress you will make.

Thanks,
Nitin George Cherian
(A Pybites Fan and Ninja)

I liked the concept of PyBites from the very beginning: you are given a (admittedly sometimes quite sketchy) problem and asked for a solution. Whether your solution is correct is only decided by the tests you have access to right from the start.

You can start coding immediately, solve the problem in your own way and go back and forth several times while trying to pass all the tests. Once you have managed to solve the bite, at least somehow, you look at the author's solution and are startled at what is possible in Python and how nice a solution can look and read (but there are those rare cases when your solution might be even a tad better, whatever that means to you).

Then you go over to the Forum to look at other people's code and solutions and learn even more. You liked the topic of the exercise, so you decide to do a few more bites labeled with the same concept you just learned about, or with the same Python Standard Library you've always heard about but never had a chance to try out.

And once you have achieved a few successes, you get bolder and decide to follow a learning path and go down the rabbit hole to learn about data types, algorithms, collections, OOP, web scraping and even bioinformatics!

And I haven't even mentioned the wonderful Slack community, the people there who support and encourage you, the warm welcome if you want to contribute to the community projects or help improve the learner's experience.

The PyBites community is the only community I return to frequently and where I can be sure that it meets my needs and always has the answers I'm looking for or provides just the right amount of energy to keep me engaged with what I'm doing or trying to achieve. You guys are great!

The website is very simple, but the service offered is vastly superior to anything I've known on the web (for Python development anyway).

As soon as I started the first challenges, I knew that I had found not only the best way to train every day to become a better developer, but also the best way to show all companies that recruit that I know how to solve difficult challenges.

I've found my first job as a Java/Python developer and I sincerely believe that it's thanks to my daily training on the PyBites platform.

Overall the PyBites is a great resource to jump in and begin coding in Python. Each bite showcases a certain topic in Python that helps establish the fundamentals of the language. Looking forward in continuing the journey. :)

Learning Python syntax and what sort of functionality is available in the standard library is not hard, using the official documentation. But learning how to really program in Python, using it WELL without reinventing any wheel, takes considerable practice AND exposure to code written by more experienced developers.

PyBites will give you both with relatively little daily effort. Nothing like solving a bite and then comparing your solution to those of others, going through dozens of "aha! - that's nicer!" moments as you level up. It will keep you learning and refining your techniques until you'll become remarkably fluent and ready to use the language professionally. You will also learn how to automatically test your code, an extremely critical skill. Seriously, it will really make a difference in how well you can use Python, and it will be very entertaining and satisfying to boot. Get aboard!

Read more community experiences »

We use Python 3.8