PyBites Platform Updates

announcement Bite difficulty levels

The Bite of Py homepage now shows the average difficulty level per Bite as indicated by our users. We hope this is insightful.
(published 10 hours, 52 minutes ago)

announcement Turn on autocomplete

We now support autocomplete in the (Ace) editor. You can enable it right alongside the theme and key binding settings below the editor (on uncompleted Bites). It starts to match / suggest as you type. Hope this helps you code faster!
(published 2 days ago)

announcement Blackify your code and new shortcuts

You can now run black against your code. It shows the results in the console pane below the editor, and it pastes the blackified code back into the editor. You can then save or submit (test) it as you please. We also updated the keyboard shortcuts for all 5 actions: Ctrl + ⇧ + S(ave) / T(est) / R(un) code / F(lake8) / B(lack) - enjoy and keep calm and write more quality Python! :)
(published 3 days, 6 hours ago)

announcement New Save Code button

You can now save your code without submitting/running the tests. Check the new "Save Code" button at the top of the editor. We moved the"Run Code Only" button to the bottom (next to the "run flake8" button) to avoid too much clutter. Hope this helps some of you that hop in and out of our platform to never lose any code :)
(published 4 days, 10 hours ago)

announcement Code a random Bite

Not sure what Bite to code next? Let our platform surprise you with our new code a Random Bite link on the Bites of Py homepage :)
(published 4 days, 11 hours ago)

announcement Pytest summary upon submit

You should see a pytest run summary upon each Bite submission now. Hope you like it :)

(published 1 week ago)

announcement Learning path badges on your profile

So obvious yet we did not think about this when somebody asked: why are learning path badges not on my profile? Well, now they are! Seems your profile page is instantly more valuable no? Share it out (social media buttons top right) and impress your colleagues and recruiters. Keep calm and code in Python!
(published 1 week, 1 day ago)

announcement Get notifications for new Bites

You can now enable notifications for newly added Bites. The minute we added a new exercise you get an email and you get to be among the first Pythonistas to code the new Bite. You can enable this under Settings. Keep calm and code Python!
(published 1 week, 4 days ago)

announcement Flake8 your code

New PyBites article: Linting with Flake8. And (!) you can now run #flake8 against your code here on the platform. Are you as exciting as we are?
(published 1 week, 4 days ago)

announcement Customize the editor's theme

You asked, we listened:

You can now change the theme of the in-browser editor! If the default dark (Twilight) theme isn't for you, choose from a whopping 36 other themes and make the coding experience your own. Look for the drop down menu to the bottom right of the editor ... Maybe you like GitHub or TextMate, we selected Dracula for now :)

(published 2 weeks, 1 day ago)

announcement behind the scenes

Do you want to learn about our Python stack? Listen to Episode 83 of the Test & Code podcast.
(published 2 months, 1 week ago)

announcement Bites available in 10 languages now

After piloting our Bite translation feature with French, Spanish and Russian, we are proud to announce we turned on 7 more languages: Arabic, German, Italian, Japanese, Dutch, Portuguese and Chinese! As we're using an automatic translation service some translations might not be perfect, but we can work towards improving it over time. Any feedback is welcome!
(published 2 months, 1 week ago)

announcement New Decorators and Context Managers Learning Path

We just added 2 new Bites in this category finishing up this learning path. Ready to take your Python skills to the next level?
(published 2 months, 1 week ago)

announcement Bulk reset your Bite progress

You improved your Python. You cringe at your earlier code. You want to code our Bites again writing more Pythonic code! Since the start you could already reset individual Bites. Now you can do it for all your completed Bites with one click, check it out here. This does not affect your current score / Ninja belt, because scoring is done once, upon first completion of a Bite. It just resets each Bite, putting it in an incomplete state, good to give hem another crack. Keep calm and code more Pythonically!
(published 2 months, 1 week ago)

announcement Cast your vote on our Bite forums!

To improve the usefulness of our forums we've implemented an Upvoting System! While conversations are taking place, we'd like you, our community, to vote on which comments are the most helpful and insightful. Pop into the forums now and get voting! Feedback welcome as always.
(published 2 months, 2 weeks ago)

announcement Bite Translations!

You can now read our Bites in French, Spanish and Russian. Just click on the corresponding flag at the right on the individual Bite pages. Let us know if you are interested in more languages ...
(published 2 months, 2 weeks ago)

announcement Bite path notifications

You can now turn on notifications on learning paths. Get one or more Bites every N days, you decide. You will get an email with the next Bite in your leaning path. Have fun and code more Python!
(published 2 months, 3 weeks ago)

announcement Which Bite to code next?

When you finish a Bite you are now presented with next Bites you can code: A. the next Bite in the current level, B. the next Bite in one or more learning paths. We also added a new learning path today: Datetimes & Timezones. Have fun and keep calm and code in Python!
(published 2 months, 3 weeks ago)

announcement NEW: Bites of Py Learning Paths!

This has been one of the most requested features and we are super excited we got it in. Want to learn more about the collections module, data analysis, data formats, itertools, and OOP? Check out these first paths here and expect more to be added over the coming weeks ... What paths would you like to see here? Let us know ...
(published 3 months ago)

announcement Prepaid Bite Bundles are now available

In addition to our monthly subscriptions we now offer Bites of Py bundles. Pay once, own them forever! Check out our pricing page for more info. Keep calm and code in Python!
(published 3 months, 3 weeks ago)

announcement Recruiting talent via our platform

We recently introduced our new Enterprise Recruiter tier, checkout a complete walkthrough of how it works in our dedicated documentation page. Keep calm and code in Python!
(published 3 months, 3 weeks ago)

announcement PyBites Profile Pages

You put in a lot of hard work here, writing a lot of code, literally becoming a Python ninja! But how can you show the world? Maybe you want to brag to your friends and co-workers, or what if you want to show your newly gained skills to unlock your first or next dev job? We're glad you asked! You can now enable your own profile page. Just head over to Settings and enable it with one click. Once activated you get your unique URL on our platform which will list your Ninja belt, challenge badges, certificates, 100 days progress and the amount of coding you did here. This is living proof you've been doing a lot of Python, we're sure recruiters will appreciate it ;) - keep calm and code in Python!
(published 4 months, 1 week ago)

announcement PyBites Platform Docs

We started using readthedocs to document how our platform works. Bear with us while we add more documentation over the coming weeks ... Click here or use the new Docs link in the sidebar to reference them. Any feedback or questions, don't hesitate to reach out here or on Slack.
(published 4 months, 1 week ago)

announcement Change your avatar

We now support Gravatars! Now that you can create a manual (non-Github) account on, we've implemented the ability to add your own Gravatar to your profile. Just head to the Settings page and enter your Gravatar URL. It's as simple as that!
(published 4 months, 2 weeks ago)

announcement Regular / non-Github logins

A few weeks ago we added support for username/email based signups so no more single reliance on having a Github account (although using its login unlocks some more features on our platform). Welcome new users!
(published 4 months, 2 weeks ago)

announcement Grow your Github Portfolio using PyBites!

Premium users can now point to a dedicated bitesofpy GitHub repo under Settings and code locally with git. Once you push code to your repo, you can download it back to our platform for scoring and discussion/comparison of the solution. Each Bite has a Github dropdown where you can download the exercise and sync your solution from Github. Start building your Pythonic GitHub portfolio coding with PyBites!
(published 5 months, 4 weeks ago)

announcement Bulk export your code

Go to Settings and generate a downloadable zipfile with all the code you submitted on our platform (last 5 commits for each Bite). We hope there will be a lot of Pythonic snippets in there that you can use in your daily work to and/or to show off your newly gained Python Ninja skills!
(published 5 months, 4 weeks ago)

announcement Read PyBites articles as part of your #100DayOfCode

In addition to the 100 Days of Python notifications we also added our articles to our free-form grids, so you can learn some more Python that way as well!
(published 7 months, 2 weeks ago)

announcement 100 Days Tracker Notifications

You can now get daily notifications for your 100 Days of Python Grid Templates. Create your grid using one of our templates, then click the Alarm Clock icon to enable notifications. You'll now be prompted via platform message and email (if turned on) to complete the day you're up to. Head over to the 100 Days of Python page, enable notifications and never forget a day again!
(published 7 months, 3 weeks ago)

announcement Handy keyboard shortcuts when coding Bites

For the folks that like keyboard shortcuts, we just added two: Ctrl + ⏎ for Run code only (Premium feature) and Ctrl + ⇧ + ⏎ for Save and Run Tests. Enjoy!

(published 8 months ago)

announcement You can now pause your 100 Days!

Thanks for this much requested feature, it's in! See the new pause buttons on your 100 Days projects: you can now pause and resume them. Resuming a project will move dates of TODO days forward. Enjoy your new guilt-free breaks, we got your back managing future deadlines (100 Days Tracker is your friend, not a dictator lol). We hope you like it. Would a weekly email reminder for paused projects be helpful?
(published 8 months, 1 week ago)

announcement Better design Bite pages

We now show the tags on the Bite pages. Alongside the tags is a "+" that lets you email us additional tags if you feel we should add them. We also restructured the Bite pages putting the stats on the right which looks less cluttered. We hope you like these changes!
(published 8 months, 1 week ago)

announcement Nice looking Python tips

We started using carbon for our tips (example). Once we share one out we will link the tweet on the tip so you can easily retweet them. Enjoy!
(published 8 months, 1 week ago)

announcement PyBites Tips, Tricks & Quotes page

As you noted we show random tips and quotes on every page. We just pushed a dedicated PyBites Tips, Tricks & Quotes page to view them all in one place. Contribute to our growing collection by submitting your favorite Python snippets and tricks here ...
(published 8 months, 4 weeks ago)

announcement New Bites and improved performance

We added Bites 157-162 so there is a lot of new fun stuff you can code! We optimised some expensive Django queries this week which resulted in a notable performance of the Bites homepage and your Dashboard. Keep calm and code in Python!
(published 8 months, 4 weeks ago)

announcement Coding Streak is timezone aware now

As you know the best way to improve your Python is to get into the coding habit! For that reason we added the Coding Streak feature to your Dashboard some time ago. However it did not work with timezones! We have fixed that. You can now set your timezone under Settings and from then on it should mark the days you coded correctly. Thanks for letting us know on Slack!
(published 9 months, 1 week ago)

announcement Who is on your team?

Enterprise customer users can now see in their settings who of the team is on our platform. They can also more easily discern who of them earned Ninja Belts on the Dashboard's leaderboard.
(published 9 months, 1 week ago)

announcement New walk through video

PyBites Platform is 1 year old! To celebrate, we've simplified our landing page which now includes a walk through video of what our platform can achieve for you! Check it out here
(published 9 months, 3 weeks ago)

announcement We support Python 3.7 now!

We confirmed that all Bites work with 3.7 now. Nice because now we can write some exercises on exciting new features like data classes, stay tuned ...
(published 9 months, 3 weeks ago)

announcement PyBites on Test & Code

Listen to Julian on the Test & Code podcast talk about our platform, the #100DaysOfCode, learning / teaching Python, and our amazing community.
(published 9 months, 3 weeks ago)

announcement New Feature: Interview Python Devs

PyBites can help you acquire Python top talent. Enterprise Customers can now use our platform to assist with interviewing job candidates! Check out our demo video.
(published 10 months, 4 weeks ago)

announcement PyBites First Pandas Bite

We added support for adding Bites around apistar, dateutil, responder, SQLAlchemy and uplink. But we’re most excited about adding Numpy and Pandas! Stay tuned for more data related Bites soon … Here is our first proof of concept Pandas Bite. As an Enterprise Customer you can now request your own modules to be added to our platform too!
(published 11 months ago)

announcement Customised #100DaysOfCode curriculums

A great way to enforce continuous learning/coding is the #100DaysOfCode challenge which you can track on our platform. We are adding Community Templates as a Premium feature. If you want to add a 100 days plan, just PR your solution to Code Challenge #55. Enjoy and as always keep calm and code in Python!
(published 11 months ago)

announcement New Coding Streak Dashboard Widget

Getting better at programming is all about habit forming. We were inspired by Cal Newport's Deep Work: Mark an X on your calendar for every DEEP WORK day (source) and James Clear's new habit book: habit tracking which is effectively just . . . The most simple way is to get a calendar and each time that you do a habit, you put an X on that day (source). Hence we made a Coding Streak calendar widget to keep track of your coding on the platform. Share your coding streak with us on Twitter ... keep calm and code in Python!
(published 11 months ago)

announcement Add your own branding (Enterprise only)

Enterprise Customers can now add their own branding on our platform, only accessible to their team/company. Bring your own logo and color scheme to our platform, customisable under Settings (Enterprise Master account). Keep calm and code in Python, as a team!
(published 11 months, 3 weeks ago)

announcement New Code Challenges 53 + 54 & hitting 135 Bites

After PCC53 - Query the Spotify API, we just released PCC54: Python Clipboard History - have fun! 20+ PRs submitted last week, truly amazing, surely you guys are keeping calm and coding in Python :) ... we also added 2 new Bites last week, the counter is now at 135. Keep growing your Python skills!
(published 1 year ago)

announcement Create your own Pomodoro Timer

PyBites Code Challenge 52 is up. This week you are going to build your own Pomodoro Timer. Although this could be as simple as a countdown, we let you free to create your own user interface (argparse, pygame, etc). Have fun and learn a lot. Not your challenge? We have 51 others you can hone your Python skills with.
(published 1 year ago)

announcement Enterprise Tier - New Feature

It's with great pleasure that we announce the ability to create your own Bites if you have a valid Enterprise subscription! This has been a long requested user feature so we're stoked to have it ready for use. Now has never been a better time to get your team to hone their Python skills using our platform. Check out the feature launch video for more details.
(published 1 year, 1 month ago)

announcement PyBites Code Challenge 51 is up

Our first PyBites Code Challenge (PCC) for 5 months is out! In a return to weekly challenges, we bring you an NBA Data Analysis challenge. Join the challenge here and/or any other of our growing collection and code more Python!
(published 1 year, 1 month ago)

announcement Git Ready Video

Check out this video we made detailing how to fork and submit a PR to our challenges repo! It can be a bit confusing if you've never used Git or worked with our challenges repo so be sure to check it out and Pull Request (PR) your work!
(published 1 year, 1 month ago)

announcement Stay tuned for more Challenges

Our challenges repo has over 1.000 forks, that's a lot of coding and learning! Keep up the good work! Starting Monday we will launch new PyBites Code Challenges (PCCs), starting with #51: analysing NBA data with SQL / sqlite3. Check out our existing challenges and if you have any ideas for new ones please open an issue against our challenges repo. Thanks and remember: keep calm and code in Python!
(published 1 year, 1 month ago)

announcement New Cherry-Pick Tier

Just like Audible, we now offers redeemable tokens: Bite Tokens! With our new Cherry-Pick Tier you will unlock 4 exercises each month. Ideal for the busy Pythonista who still wants consistent Python practice!
(published 1 year, 1 month ago)

announcement New pricing page

What do I get as a Premium member? What is the PyBites pricing model for the platform? We're glad you asked! We made a pricing page with a comparison table to list the differences. We hope this provides some clarity. Also, a reminder that we have an Enterprise Tier so if you want to convert your team into Python ninjas it would be worth considering. As always, keep calm and code in Python!
(published 1 year, 2 months ago)

announcement New Beginner & Challenge Associate Certificates

Hi there, we just added 2 new certificates to the platform: 1. PyBites Beginner Certificate: for completing the 10 Intro Bites / 2. PyBites Challenge Associate: if you PR 5 or more Blog Code Challenges via our platform. Get credit and share out your hard work achieving Python mastery. Click here to get started.
(published 1 year, 2 months ago)

announcement New PyBites Certificates!

We are proud to announce that our platform now supports certificates! One for finishing our 100 days course and another for becoming a PyBites Ninja (completing 100 Bites). These are challenging goals but you'll gain proficiency in Python by doing so. The certificates also look really cool on social media (hint hint) - click here to get started. Enjoy and keep calm and code in Python!
(published 1 year, 3 months ago)

new blog post Solving Bite 21. Query a Nested Data Structure

We recorded a video solving Bite 21. Query a nested data structure. The exercise presents us with a dict of car manufacturers and their corresponding car models. We will extract various bits and pieces from it as well as sort the nested model lists. This is a common type of data structure so specially for a beginner it is important to have this become second nature. Prepare to learn more about looping, some string operations, and list / dict comprehensions.
(published 1 year, 3 months ago)

announcement Discuss Your Bite Solutions

New feature: once you complete a Bite there is a Discussion tab + button that takes you to a message thread only accessible to users that have resolved the Bite. You can easily share your code and discuss possible implementations. Comparing different solutions was a much desired feature talking to our Community at Pycon. It's also a nice way to meet fellow Pythonistas and talk more Python :)
(published 1 year, 4 months ago)

announcement New Introductory Bites

We've just added 10 Intro Bites under a new Bite type: Intro Bites. They inherit from the regular Bites, but are easier and we provide more guidance. They are also free for you to consume! We hope these will help the more beginner Pythonistas get ready for our regular Bites! Get started here.
(published 1 year, 4 months ago)

announcement We Challenge You! 100 Days of Bites

We've said it many times: the #100DaysOfCode challenge is brilliant to get a lot of consistent practice. Apart from our 100 days course, you can also use our Bites of Py towards this challenge. As we hit 100 Bite exercises last week we made it easy to plan out doing one a day. Clicking here we pre-fill a 100 days grid for you with our 100 exercises, from beginner to advanced. We plan, you just code :)
(published 1 year, 4 months ago)

new blog post Testing and pytest help

Celebrating our 100th Bite of Py exercise here, we wrote an article on testing: Enough pytest to be Dangerous, 10 Things I Learned Writing Tests for 100 Python Exercises - enjoy reading.
(published 1 year, 4 months ago)

announcement 100 Days Grids & PyCon Videos

Our #100DaysOfCode page now supports multiple grids: course and free form. Latter preloads all PyCon 2018 talks which you can use towards your 100 days progress. As usual tweet texts are created for you, you can share + save progress with just 2 clicks. This way you'll build up a nice log you can refer back to at any time. We loved this aspect when we did our 100 Days. We hope this is useful for you ... Always Be Coding! Start your 100 days here.
(published 1 year, 4 months ago)

announcement Bite Tags and New Search

We added tags to our Bites as well as the ability to search on title and description. We hope this provides you with faster navigation as well as a deeper insight into what the Bites enable you to practice!
(published 1 year, 4 months ago)

new blog post PyCon 2018

We’ve been a bit silent and that was of course due to PyCon 2018 - Julian just published a nice article of his experience: PyCon 2018 - My First PyCon.
(published 1 year, 5 months ago)

announcement Bites of Py Enterprise (Team) Licenses

You asked, we delivered! You can now buy Bites of Py Enterprise (multi-seat) licenses, just specify the amount of seats you need with the Quantity field. This will get you a license key with the number of seats you specified. Improve as a team working on the same Python exercises, complement your own training with our challenges: more learning, more fun.
(published 1 year, 5 months ago)

announcement Python Tips

Check out the new nav bar at the top of your page for random tips, tricks, nuggets of wisdom and other tidbits. Tips that contain code will have a small drop down arrow you can click to expand out and view the code. Finally, click the tweet icon to share it! If you have any tips or quotes of your own that you'd like to submit, you can do so here.
(published 1 year, 6 months ago)

announcement Message improvements

You can now send direct messages to PyBites, Julian or Bob from your inbox. We also added small avatars. Give it a try and say hello!
(published 1 year, 6 months ago)

announcement New Run Code Only Feature

After many of you requested it, we just launched a new Premium feature that lets you run your code and inspect its output within your browser - no setup necessary. This allows you to quickly inspect your code without having to run the tests!
(published 1 year, 6 months ago)

new blog post New Dashboard

On logging into our platform, you've previously been directed straight to the list of Bites. As the library of Bites has grown however, we've realised that there's been nothing on the platform letting you know a new Bite has been released! That's how the new Dashboard was born, watch our intro video for more info.
(published 1 year, 7 months ago)

new blog post 100 Days of Code in Python

Python is increasingly becoming a super skill these days. One of the best ways to learn is to tackle the #100DaysOfCode challenge. Let us guide you through it with our new 100 Days of Code in #Python course ...
(published 1 year, 7 months ago)

We use Python 3.7