go back  What to code next?

Bite Level Description & Tags
Bite 91. Matching multiple strings Beginner level Catching up after #PyCon2018 ... in this Bite you do …
3.10 all any string matching
Bite 113. Filter words with non-ascii characters Intermediate level In this Bite you extract words from a text that …
3.10 all ascii ord unicode
Bite 192. Some logging practice Beginner level You are to flesh out the log_it() function so that …
3.10 callable logging
Bite 2. Regex Fun Advanced level Learn some Python regular expressions by completing the following three …
3.10 findall freebie re regular expressions
Bite 28. Converting date strings to datetimes Intermediate level In this Bite you are provided with a list of …
3.10 Counter datetime findall
Bite 23. Find words that are > 95% similar Advanced level Given a list of tags of our blog find the …
3.10 difflib file processing findall itertools SequenceMatcher
Bite 39. Calculate the total duration of a course Intermediate level In this Bite you read in a text file with …
3.10 datetime findall numbers timedelta
Bite 173. Set up future notifications Intermediate level Let's do another datetime processing Bite. Complete add_todo below that …
3.10 datetime findall f-strings timedelta
Bite 17. Form teams from a group of friends Intermediate level Write a function called friends_teams that takes a list of …
3.10 itertools
Bite 21. Query a nested data structure Beginner level Given the provided cars dictionary: Get all Jeeps Get the …
3.10 data structures dictionary comprehensions list comprehensions sorting
Bite 25. No promo twice, keep state in a class Intermediate level In this bite a real world scenario: PyBites has a …
3.10 classes exception handling properties
Bite 30. Movie data analysis Intermediate level In this Bite we are going to parse a csv …
3.10 data analysis defaultdict freebie mean movie data namedtuple sorting
Bite 36. Having fun with *args and **kwargs Intermediate level Write a function called get_profile that takes: a required name, …
3.10 args function arguments kwargs
Bite 38. Using ElementTree to parse XML Beginner level In this Bite you will use ElementTree to parse some …
3.10 movie data xml
Bite 47. Write a new password field validator Intermediate level You know these Create a new password forms? They do …
3.10 re string module
Bite 49. Scrape Packt's html with BeautifulSoup Intermediate level In this Bite you will parse Packt's free learning ebook …
3.10 beautifulsoup namedtuple requests
Bite 64. Fix a truncating zip function Beginner level Bert is in charge of organizing an event and got …
3.10 itertools zip
Bite 65. Get all valid dictionary words for a draw of letters Intermediate level This Bite focusses on the use of itertools. To that …
3.10 itertools Scrabble set
Bite 66. Calculate the running average of a sequence Beginner level Write a function that takes a sequence of items and …
3.10 enumerate itertools mean
Bite 68. Remove punctuation characters from a string Beginner level Complete remove_punctuation which receives an input string and strips out …
3.10 string manipulation string module
Bite 71. Keep state in a class + make its instance callable Intermediate level In this Bite you write a small class to keep …
3.10 classes dunder methods
Bite 73. Organize a meeting between timezones (pytz) Intermediate level Help PyBites community friends find a reasonable common time to …
3.10 pytz timezones
Bite 74. What day of the week were you born on? Beginner level Complete weekday_of_birth_date which takes a date object of a birthday …
3.10 calendar
Bite 76. The singledispatch countdown challenge Advanced level We are stoked and grateful to have Martin have you …
3.10 decorators functools singledispatch
Bite 78. Find programmers with common languages Intermediate level Similar as last Bite we do another comparison of sequences …
3.10 set set operations
Bite 79. Parse a csv file and create a bar chart Intermediate level We played a bit with the Slack API today and …
3.10 bar chart community csv requests
Bite 93. Rock-paper-scissors and generator's send Advanced level Generators are cool right?! Did you know you can send …
3.10 coroutines games random
Bite 94. Parse PyCon talk data from YouTube Advanced level PyCon2018 was awesome! But you clearly had to choose the …
3.10 list comprehensions max namedtuple
Intro Bite 06. Strip out vowels and count the number of replacements Intro level In this Bite we'd like you to loop over the …
3.10 counting freebie regular expressions replace string manipulation Zen of Python
Bite 118. List exercise: return first occurrence indices of duplicated words Intermediate level In this Bite you are presented with a list of …
3.10 counting list comprehensions set
Bite 122. Check if two words are anagrams Intermediate level An anagram is a word or phrase formed by rearranging …
3.10 anagram string matching
Bite 127. Return the right ordinal suffix for a number Intermediate level In this Bite you complete a function that takes an …
3.10 dict modulo numbers string manipulation
Bite 136. Bloodtypes Beginner level Check red blood cell compatibility between donor and recipient. For …
3.10 enum exception handling multi type input
Bite 137. Gourmets' Nightmare Intermediate level Many gourmets struggle to find the perfect pairing of wines …
3.10 Counter intersection operator sorting
Bite 140. PyBites First Pandas Bite Intermediate level This is a Pandas proof-of-concept Bite. We just added the …
3.10 csv data analysis pandas
Bite 142. Exception Handling: Calculate the Winning Player Intermediate level Complete the two functions below: calculate_score takes a list of …
3.10 exception handling namedtuple numbers
Bite 143. Look up a value in 3 dictionaries Beginner level In this Bite you are presented with 3 dictionaries. Complete …
3.10 collections dict
Bite 150. Turn messy CSV into JSON Intermediate level At the 1 year mark of our platform here is …
3.10 csv json pandas re string manipulation
Bite 156. Make an index of story characters Intermediate level You know the index at the end of a book …
3.10 collections defaultdict enumerate sorting string matching
Bite 160. 15-way Rock Paper Scissors Advanced level In this Bite you are going to write a 15-way …
3.10 csv dict exception handling games
Bite 162. Vertically align output of counters Intermediate level In this Bite you are tasked with "physically" aligning the …
3.10 string formatting
Bite 174. String manipulation and metrics Advanced level This bite will get you to play around with creating …
3.10 Counter dataclasses list comprehensions properties string formatting string manipulation translate
Bite 179. Strip comments from Python code Advanced level In this Bite you will strip off all comments from …
3.10 comments regular expressions string parsing
Bite 182. Parse a bunch of quotes from HTML Intermediate level Let's get some inspiration. Below you find the simplified HTML …
3.10 dict regular expressions string manipulation string parsing
Bite 188. Get statistics from PyBites test code Beginner level Did you know Python has a statistics module? For this …
3.10 data analysis file processing statistics
Bite 198. Calculate my Mac's longest uptime Advanced level Given the following output, calculate the longest uptime / time …
3.10 data wrangling datetime dateutil string parsing
Bite 200. 🥳 Minecraft Enchantable Items Advanced level My kids love Minecraft and they always want me to …
3.10 beautifulsoup web scraping
Bite 201. Call a Cisco Nexus 9k device Intermediate level Cisco Nexus 9k devices is one of the first network …
3.10 networking requests
Bite 203. Type hinting practice Intermediate level It's time for some type hinting! For this bite, you …
3.10 classes dataclasses type hinting
Bite 205. Female speakers @ Pycon US Intermediate level After our Code Challenge 62 / Alicante PyDay last week, …
3.10 beautifulsoup counting data wrangling gender_guesser
Bite 208. Find the number pairs summing up N Beginner level In this Bite you complete find_number_pairs which receives a list …
3.10 itertools looping numbers
Bite 209. Write a Sphinx docstring Beginner level Your team uses Sphinx and wants you to comply with …
3.10 data types docstring sphinx
Bite 213. Code a translation fixer Advanced level Imagine you built PyBites' new translation feature. You managed to …
3.10 regular expressions
Newbie Bite 20. While loop The next challenge is to learn all about the while …
3.10 newbie while
Newbie Bite 25. Calling a function The last Bite! Let's actually use what we've created by …
3.10 functions newbie
Bite 225. Swap case PyBites characters Beginner level In this Bite you will swap case all pybites characters …
3.10 looping string manipulation string parsing
Bite 229. Scrape best programming books Advanced level For this bite, you are going to scrape the books …
3.10 beautifulsoup books classes data cleaning data wrangling sorting web scraping
Bite 242. Zodiacal data parsing Advanced level In this Bite we will write tests for a module …
3.7 datetime fixtures pytest
Bite 248. Test a number guessing game Advanced level In this Bite you test a simple number guessing game …
3.7 classes exception handling games mock.patch pytest
Bite 250. PyBites URL Shortener Advanced level URL shortening is a technique on the World Wide Web …
3.10 decode dict encode string manipulation string module type hinting
Bite 251. Introducing Pandas Series Beginner level Let's get started with Pandas! In case you are not …
3.10 pandas series string module
Bite 252. Let's play with Pandas Series Beginner level In Bite 251 we looked at creating some simple pandas …
3.10 numpy pandas series slicing type hinting
Bite 253. More Pandas Series Practice Intermediate level In Bite 251 and Bite 252 we looked at creating …
3.10 math pandas series statistics
Bite 255. Codon Usage Intermediate level The genetic code of all organisms uses a 3 base …
3.10 bioinformatics collections textwrap
Bite 256. Scrape PyCon events Intermediate level In this Bite, we want you to scrape PyCon 2019 …
3.10 beautifulsoup data analysis json namedtuple pycon requests web scraping
Bite 261. Visit all PyCons in Europe Intermediate level In Bite 256 you scraped data on 2019 PyCons. Now …
3.10 data analysis dataclasses itertools math
Bite 262. GC content Beginner level The DNA of all organsims consists of the letters (bases) …
3.10 bioinformatics collections
Bite 263. Count the number of islands in a grid Intermediate level You are tasked with counting the amount of islands in …
3.10 algorithms looping string
Bite 265. Optimal fund raising Intermediate level Here is another classic algorithm problem wrapped in a Bite. …
3.10 algorithms looping math
Bite 266. Composition, Inheritance, Abstract Base Class, what? Advanced level It’s not as bad as that sounds, really. If you …
3.10 ABCs abstractmethod beautifulsoup composition dataclasses inheritance namedtuple string formatting typing urllib web scraping
Bite 269. Taxable Income Calculator Advanced level I have no idea what rabbit hole I followed to …
3.10 classes dataclasses finance namedtuple properties typing
Bite 270. Most frequent digit in number Beginner level Given an integer number, find the most frequent digit in …
3.10 Counter counting numbers
Bite 271. Get all class names from a module Intermediate level In this Bite you will write a function to get …
3.10 inspect list comprehensions
Bite 280. Regular Expression Lookahead/Lookbehind Advanced level For this bite you are going to solve three different …
3.10 lookahead lookbehind regular expressions
Bite 288. Smallest number Beginner level Write a function that accepts a list of digits and …
3.10 numbers
Bite 290. Class Rosters Data Conversion Intermediate level You have been given a comma-delimited .csv file containing class …
3.10 csv string parsing tuple unpacking
Bite 292. Scoring matrices Advanced level Proteins fulfill important functions in all organisms and consist of …
3.10 bioinformatics enumerate looping numbers zip
Bite 297. Rename keys Advanced level The Data Processing Department was writing a script to import …
3.10 data cleaning dict iteration
Bite 300. 🥳 PTO Calculator Advanced level We've all been affected by COVID-19 in one way or …
3.10 calendar datetime exception handling looping numbers string formatting
Bite 301. Exchange rates Intermediate level In this Bite you have to provide the currency exchange …
3.10 datetime dict sorting
Bite 302. Get and write all code from a JSON file Intermediate level You are given a sample JSON file containing, among other …
3.10 filecmp file processing json string manipulation
Bite 307. SQLite3 introduction Intermediate level In this Bite, you are going to get some practice …
3.10 databases SQL sqlite3
Bite 310. Create file pairs Advanced level In this bite you will write a function that pairs …
3.10 bioinformatics files regular expressions
Bite 311. Cleaning text with pandas Intermediate level We recently published a blog post about how to approach …
3.8 data cleaning pandas TF-IDF
Bite 312. Scoring objects Intermediate level In this Bite you are going to score objects: Object …
3.10 builtins importlib keyword typing
Bite 315. More logging practice Intermediate level In this Bite you will hone your logging skills by …
3.10 exception handling logging
Bite 316. To rent or to stream movies? Intermediate level You're on a movie budget so you want to evaluate …
3.10 collections datetime dict typing
Bite 346. Getting started with the IRIS data set Intermediate level You are getting started with machine learning (ML)! Are you …
3.8 data wrangling machine learning numpy pandas scikit-learn
Bite 325. Floating point arithmetic Intermediate level This Bite introduces you to a few issues associated with …
3.10 arithmetic floats numbers rounding
Bite 327. AST visitor Advanced level In Bite 312 we learned how to identify builtin functions, …
3.10 AST
Bite 328. Longest coding streak Advanced level What is your longest streak of completed Bites? In Bite …
3.10 fromordinal itertools timezones toordinal
Bite 330. Simple Math Equation Solver Advanced level Your task is to write a simple math equation solver. …
3.10 exception handling itertools list operations math operator
Bite 331. Convolution in Neural Networks Advanced level Finally a Bite about deep learning! At least, about one …
3.10 deep learning numpy
Bite 332. Searching for an apartment Intermediate level Bill is looking for a new apartment with good view, …
3.10 algorithms
Bite 337. A little detour: Pydantic Beginner level Pydantic is an awesome library to do data validation and …
3.10 FastAPI freebie Pydantic
Bite 339. Retrieve food objects Intermediate level Now that our API can add food objects, let's retrieve …
3.10 FastAPI freebie
Bite 342. Food logging CRUD Intermediate level In this Bite you will use the Pydantic FoodEntry model …
3.10 FastAPI freebie
Bite 343. FastAPI Exception handling Intermediate level In this Bite we'll take the API we built in …
3.10 FastAPI freebie
Bite 345. FastAPI Authentication with JWT (JSON Web Tokens) Advanced level Up to this point anyone can modify food entries in …
3.10 FastAPI freebie
Bite 348. Citation indexes Intermediate level Academic research innovates by publishing papers, i.e., documents collecting ideas …
3.10 builtins exception handling typing
Bite 349. Writing better Spanish Intermediate level Bob is a lazy typer and often forgets to accentuate …
3.10 ascii dict unicode unicodedata
Bite 350. Learn to handle cron schedule expressions Advanced level Let your mind wander and tell us what you think …
3.10 crontab dataclasses datetime exception handling iteration
Bite 356. Using Typer Callbacks to Create Command Line Interface (CLI) Parameters Intermediate level In the previous Bite you have created your first simple …
3.10 command line Typer
Bite 364. Create Wikipedia Lorem Ipsum text Intermediate level Lorem Ipsum is text used to demonstrate layout in documents …
3.10 beautifulsoup list comprehensions random regular expressions requests
Bite 365. Rolling two dice for an advantage Intermediate level Let's roll the dice! When playing a game where it …
3.10 itertools math mean
Bite 367. Add Pi Day to the calendar Intermediate level Python has a brilliant but often overlooked module called calendar. …
3.10 calendar tuple unpacking
Bite 368. Hello Types Intermediate level Welcome to this type hinting learning path. In the Bites …
3.10 annotations type hinting
Bite 369. Advanced Type Hints Intermediate level In the previous Bite you have started annotating code with …
3.10 annotations type hinting
Bite 370. Getting started with vectors Intermediate level In the previous two Bites you have annotated small pieces …
3.10 annotations type hinting
Bite 372. Validate Pangram Beginner level A pangram, according to the Oxford English Dictionary, is a …
algorithms hashing string strings
Bite 373. Reverse only Letters Beginner level Given a string, reverse only the English letters (lowercase or …
queues stacks strings
Bite 375. Find all Letter Combinations of a Phone Number Intermediate level The typical phone keypad (pictured) features numbers (0 - 9), …
backtracking itertools strings
Bite 377. Coins on the Table Intermediate level You start with 1,001 pennies lined up on a table. …
math
Bite 378. Organizational Chart Advanced level Of all the types of questions you are likely to …
binary tree depth-first search graph traversal
Bite 379. Hedge Maze Advanced level Imagine you're trapped in a mysterious maze, much like the …
breadth-first graph traversal maze
PCC Title Summary
02 Word Values Part II - A Simple Game Using what we've learned the last challenge this week we build a simple Scrabble-like game: given a random set of 7 letters build the most valuable word. Good luck!
03 PyBites Blog Tag Analysis Our new code challenge is up: PyBites blog tag analysis. This week you will parse our RSS feed looking for the most common tags and the ones we possibly should merge based on similarity ratio. Enjoy!
04 Twitter data analysis Part 1: Getting Data A new week, a new code challenge! In this 3 part challenge you will analyze Twitter Data. This week we will automate the retrieval of data. In Part 2 we will task you with finding similar tweeters, and for Part 3 you will do a full sentiment analysis.
10 Build a Hangman Game A new week, a new 'bite' of Python coding! This week we will build a Hangman game. Good luck and have fun.
11 Generators for Fun and Profit A new week, a new 'bite' of Python coding! After last week's article on generators we will get you to practice a bit more with them in our new challenge. Good luck and have fun.
12 Build a Tic-tac-toe Game Hi Pythonistas, a new week, a new 'bite' of Python coding! After last week's conceptual challenge (generators), we'd like to challenge you this week to build Tic-tac-toe. Every time we do games (previously Word Values and Hangman) we learn a lot. Enjoy and we review solutions end of this week.
13 Highest Rated Movie Directors Hi Pythonistas, a new week, a new 'bite' of Python coding! After last week's (tictactoe game), we'd like to sharpen your data analysis skills this week by parsing a movie data set in search for highest rated directors. Enjoy and we review solutions end of this week.
14 Write DRY Code With Decorators Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we let you practice with decorators, a nice way to abstract away common functionality. It allows you to alter the behavior of a callable without modifying the callable itself. We agree with Dan Bader that 'understanding decorators is a milestone for any serious Python programmer.' Enjoy!
15 Create a Simple Flask App Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we’re going to get down and dirty with Python Flask. Flask is becoming a hot skill to have up your sleeve. We’re all in with learning it so figure it’s about time we had a challenge on it! Enjoy!
16 Query Your Favorite API Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we'll let you play with Web APIs. They are fun to fiddle with and great for learning and building cool things. Enjoy!
17 Never Miss a Good Podcast Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we'll let you import a Podcast feed, store it in SQLite, and email unplayed episodes at a regular interval. Inspiration here. Enjoy!
21 Electricity Cost Calculation App Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we will get you to create a simple app to calculate the monetary cost of using an electrical device. Enjoy!
23 Challenge Estimated Time API Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we will give you the opportunity to enhance our challenge platform by creating a simple API to track how much time our challenges take (and possibly other metadata).
25 Notification Service of Now Playing and Upcoming Movies Hi Pythonistas, a new week, a new 'bite' of Python coding! What movies are in theaters now or just came out on your favorite streaming service? What are upcoming movies, when will they be released? Can I keep track of all new humor movies? Or what about that specific actor or director? Having a notification service around movies seems an interesting, fun and useful code challenge to us.
26 Create a Simple Python GUI Hi Pythonistas, a new week, a new 'bite' of Python coding! Web apps tend to get all the love so it’s about time we shared the spotlight with GUIs. This week let’s take our first dive as a PyBites Community into Python GUIs!
27 PRAW: The Python Reddit API Wrapper Hi Pythonistas, a new week, a new 'bite' of Python coding! Love or hate Reddit, it has a lot of good data to work with. This week we have you write an app of your choice using the Reddit API. Have fun!
28 Integrate a Bokeh Chart Into Flask Hi Pythonistas, a new week, a new 'bite' of Python coding! We are delighted to have Michael Herman (Real Python) deliver this week's challenge. Prepare to learn some useful new skills and above all have fun!
29 Create a Simple Django App Hi Pythonistas, a new week, a new 'bite' of Python coding! We are 2 weeks into learning Django (our second 100 Days project) so we thought it's about time to dedicate a code challenge to it. So this week is all about coding (and deploying) a Django app. Have fun!
30 The Art of Refactoring: Improve Your Code Hi Pythonistas, a new week, a new 'bite' of Python coding. Wow challenge 30 already! This week we let you hone your refactoring skills. Learn, code, PR submit (don't be shy) and above all have fun!
36 Create an AWS Lambda Function Hi Pythonistas, a new week, a new 'bite' of Python coding! We are delighted to have Michael Herman (Real Python) back to deliver this week's challenge. Prepare to learn some useful new skills and above all have fun!
40 Daily Python Tip Part 1 - Make a Web App Hi Pythonistas, you heard of Daily Python Tip? It's a Twitter account that posts one python tip per day, run by @karlafej and @simecek. We partnered up with them and use their awesome collection of tips to build a web app (part 1) and a simple API (part 2).
42 Mastering Regular Expressions Hi Pythonistas, it's beginning of the month so we're busy selecting some cool code challenges for you to work on to hone your Python skills. Regular Expressions was a long time coming so let's get it out there. We hope we hit a decent intermediate level with this challenge. If you have questions ask us in the comments or join our Slack.
44 Marvel Data Analysis (Alicante PyChallengeDay) Hi Pythonistas, this is a very special edition! Today, the 10th of November, we launch our first Live Code Challenge. We partnered up with Python Alicante and we will be hosting this code challenge with them at the University of Alicante. If you don't happen to live in Alicante but do want to code today 10am-13pm CET you are more than welcome to join this Gitter channel.
48 Create a Python News Digest Tool Hi Pythonistas, welcome to a new year of challenges. Are you as amazed as we are by all the awesome Python stuff that comes out every week? But then you feel you always are behind because you lack the time to keep up? Welcome to daily reality. In this challenge we have you contribute to our community with tools to improve our weekly delivery of Python News. Be creative, have fun!
49 Contribute to Open Source: Clean up Planet Python Hi Pythonistas, it has been silent on the Community Blog challenges front, but then again we completed the 100 Days of Code in Python course which was a great milestone. Although less frequent, we will however, keep doing blog challenges so not to worry! Let's start with a long pending item: cleaning up Python planets feeds, an interesting and valuable open source contribution.
52 Create your own Pomodoro Timer Hi Pythonistas, Welcome to Pybites Code Challenge 52! In this challenge we get you create your very own Pomodoro Timer!
53 Query the Spotify API Hi Pythonistas, Welcome to Pybites Code Challenge 53! In this challenge we get you query the Spotify API and perform a set of tasks.
54 Python Clipboard History Hi Pythonistas, Welcome to Pybites Code Challenge 54! In this challenge we're asking that you create your own Clipboard History tool!
55 #100DaysOfCode Curriculum Generator Hi Pythonistas, Welcome to Pybites Code Challenge 55! In this challenge we're asking that you create your own #100DaysOfCode Curriculum Generator.
56 Calculate the Duration of a Directory of Audio Files Hi Pythonistas, Welcome to Pybites Code Challenge 56! In this challenge we're asking you to work with directory, files and audio meta data!
57 Analyze Olympic Games Data With Pandas Hey Pythonistas, a new week, a new Python code challenge! This week you can use Python, Pandas and all the libraries you need to analyze the data of Olympic Games and find out interesting things and present them to everyone with Matpolib, Seaborn and/or Plotly.
58 Analyze Podcast Transcripts with NLTK - Part I Hi Pythonistas, Welcome to Pybites Code Challenge 58! In this two part challenge we're going to do some natural language processing on podcast transcript data. Prepare to have fun expanding your data science skills!
60 Working With PDF Files in Python Hey Pythonistas, in this challenge you will learn how to work with PDF documents. Enjoy!
61 Build a URL Shortener Hey Pythonistas, in this challenge you will build an URL shortener. Enjoy!
62 Women @ Pycon ES Hey Pythonistas, in this special live Alicante PyDay challenge you will analyze Pycon speaker data, do we see more women going on stage? Enjoy!
63 Automatically Generate Blog Featured Images Hey Pythonistas, in this new blog code challenge you are going to use selenium to automatically generate some cool featured images for PyBites. Have fun!
64 PyCon ES 2019 Marvel Challenge Hey Pythonistas, this weekend is Pycon ES and in the unlikely event you get bored, you can always do some coding with PyBites. Two more good reasons to do so: 1. there are prizes / give aways, 2. your PRs count towards Hacktoberfest (t-shirt). Fire up your editors and let's get coding!