Learn Python From the Comfort of Your Own Browser

The best way to learn to code in Python is to actually use the language.

Our platform offers effective Test-Driven Learning which will be key to your progress.



Join 24155 Pythonistas and start coding!

Login and get coding

>>> import you

PyBites Platform:

  • teaches you many different aspects of the Python language
  • is interdisciplinary covering both standard library and external modules
  • provides a hands-on approach, more efficient than (passive) books and videos
  • uses Test-Driven Learning 1 that teaches you to code towards a spec
  • removes most of the what should I code next? which can stall your learning
  • pushes both new and experienced Python developers past their comfort zone
  • lets you earn Ninja badges and certificates, all at your own pace
  • prepares developers for paid gigs and new exciting jobs
  • is brought to you by experienced Python trainers
  • gives you access to a knowledgeable and friendly Python community
PyBites Dashboard
PyBites Bite Page
The only way to learn a new programming language is by writing programs in it.
- Dennis Ritchie
There is only one way to eat an elephant: a bite at a time.
- Desmond Tutu

How our Community experiences our platform:


I've been practising using other platforms such as Leetcode, and Hackerank, but I found PyBites significantly more advanced considering both content and website interactivity. Very recommended even if you are not new to Python!

I think PyBites is the greatest thing since sliced bread. I've used Hackerrank, Codesignal, Geeks2Geeks, TopCoder, Euler, Leetcode, etc, etc, etc. All of them have their good points and their uses, and some I still use regularly, but *PyBites* is the one that's most useful to me, clearest, and best put together. PyBites is helping me fill in gaps in my Python skills, and level up.

PyBites exercises are a fantastic way to learn by doing. I've gained much more experience and confidence in my coding doing the bites on this site than I have in a couple of years of using books and video tutorials. I wish this site had existed when I first started learning Python, it would have made it much easier and more fun.

I spent too long floundering in Tutorial Purgatory before encountering the Pybites Code Challenges. The challenges vary in difficulty, don't have to be done in order, and each covers a limited objective, such as using Pandas in a particular way. Some bites need only the standard library, others introduce you to useful third-party libraries and APIs. These aren't exhaustive deep dives, but enough of an introduction to accomplish something useful enough to adapt to your own projects: parsing an RSS feed, analyzing data scraped from a web page, cleaning up text, searching logs, and so on.

Unlike some more structured training sites that require letter-perfect solutions before you can move on, PyBites uses - and in many cases lets you see - the tests that judge your solution, written in pytest. Your code can be ugly and evil, but if it passes the tests, you can see the official solution, and access the bite forum that shows how others in the community solved it. I'm often embarrassed by my solutions, but even winning ugly is worth it for the learning experience and the feedback you can get from sharing your code. It's not about getting THE correct answer - often there are multiple ways to do it - but about consistent improvement, and being able to go back and see your progress.

As a software tester, I really appreciate the pytest modules and often find that building my solutions through TDD is a great way to learn. I appreciate the wide mix within the PyBites community - complete beginners to data scientists and prominent Pythonista bloggers, podcasters, and trainers.

The gamification aspect can be addicting, but I've learned not to take it personally when others rise through the ranks like pool sharks. When they're coming up fast or slightly ahead, I'm motivated to work a little harder, until they leave me in the dust. But there's always someone else behind them to keep you going. There's a real satisfaction in rising through the ranks, earning the next "belt." The community - here and in the Slack channel - is very supportive and helpful. You can get help when you're stuck, and cheers when your submission returns Green.

This site has kept me coming back for over a year now, and I see a real improvement in my ability to code and solve problems in Python. There are new bites nearly every week, and the site is continually evolving with new features. Completed bites are worth revisiting as new members post their solutions, helping to refresh and reinforce the concepts you learned when you solved it.

I used PyBites extensively during my first 100DaysOfCode round. It is an excellent platform for learning Python. Most exercises are bite-sized enough so there is always room to get in at least one of them even on a busy day. It felt I learned a lot of Python language fundamentals, from beginner to advanced topics, by doing different exercises each day. Also I think the test-driven approach in the exercises are a great for learning, and inspires good routines in programming. On top of all that, they make it fun to learn Python, with scores, Ninja belts and what not!

I am still a Python newbie, yet the PyBites community has been as welcoming to me as if I were already a "Ninja." I've also been impressed with how much I've been able to learn just by completing the introductory Bites. I look forward to completing more challenges!

If you want to be a Python programmer, or if you are already one, Pybites platform has a lot to offer you in terms of newbie, intermediate, advanced exercises and long form blog challenges.

These exercises are not merely puzzles that you solve in Python. In contrast to many other coding challenge platforms, these are real world problems you would face while learning Python and building apps. It is very convenient to solve the exercise in the browser, run tests, and look at the solution and discussion to learn the Pythonic way to solve problems. You have various learning paths if you want to focus on concepts such as OOPs, testing, algorithms, etc.

The badges, the 100 days challenge, tracking daily activity keeps you motivated to get better everyday. The slack community is very welcoming, and helpful. I see immeasurable value from this platform, and it is worth every cent many times over.

Bob and Julian, thank you so much for this platform. I really appreciate your work, and it has helped me immensely to get better in Python.

PyBites is currently the best platform which follows the 'practicality' approach. The bites, exercises and challenges will bring a sense of solving problems which matches real world scenarios. So I'd recommend this to anyone who likes Python or programming to move out the shell and get hands-on experience. Good work, Bob and Julian and all other members of the community.

Login and get coding All Testimonial »

  1. Read more about Test-Driven Learning here.
We use Python 3.8