# 30 Days of Python: thirty numbered folders, ten translations, and no licence file

> 30 Days of Python is a Markdown curriculum delivered as thirty numbered directories, from variables on day 2 to building an API on day 29, with exercises graded at three levels inside every lesson file. The project is candid that the work takes 30 to 100 days rather than 30, and it ships no licence, which is the first thing a teacher or a corporate trainer will look for.

**Asabeneh/30-Days-Of-Python** — The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw

- Repository: https://github.com/Asabeneh/30-Days-Of-Python
- Stars: 74,871 · Forks: 13,614
- Language: Python
- License: not declared
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/asabeneh-30-days-of-python

## One directory per day, and the folder name carries the day number

The curriculum is the repository's file listing. There is no application, no package to install and no build step: thirty directories named NN_Day_Topic, each holding a Markdown lesson, and a readme.md at the root that links all thirty in order. Day 2 is 02_Day_Variables_builtin_functions, day 13 is 13_Day_List_comprehension, and day 30 is 30_Day_Conclusions.

The sequence is a deliberate ramp through the language itself. Variables and built-in functions, operators, strings, lists, tuples, sets and dictionaries occupy days 2 to 8. Conditionals, loops, functions, modules, list comprehension and higher order functions take days 9 to 14, which is where the language stops being syntax and starts being a tool. Then come the parts that catch people out in practice: a day on Python type errors on 15, date and time on 16, exception handling on 17, regular expressions on 18 and file handling on 19.

What the structure does not offer is a branch. There is no fast path for someone who already knows half of this, and no way to skip to the Pandas day without the fourteen days that precede it.

## The project says 30 days in the title and 30 to 100 in the introduction

The framing is honest about its own pace, which is rare in a challenge of this kind. The introduction says the challenge may take 30 to 100 days to complete, the project description says it may take more than 100 days and tells you to follow your own pace, and the same page says the challenge is easy to read and written in conversational English while at the same time being very demanding, with the note that you need to allocate much time to finish it.

Completion is tied to community rather than to reading. There is a Telegram group for the 30DaysOfPython challenge, and the introduction says people who actively participate in it have a high probability of completing the challenge. At the end of the thirty days there is a 30DaysOfPython programming challenge certificate, so the finish line is participation plus work, not a test.

For a learner with a job, that arithmetic is the whole design. Thirty days of evenings is the optimistic case, and the project's own estimate of up to 100 days is the realistic one. Anyone budgeting a fortnight should know that before the first directory is opened.

## Ten translation directories, one misspelled, one duplicated, and only four linked

The root of the repository holds translation directories for Portuguese, Chinese, French, Greek, German, Korean, Spanish, Ukrainian and Uzbek, plus one spelled Persain. Two details make this worth more than a passing mention. The Korean lessons appear twice, once as Korean/ and once as korean/, and Persain is not a word, so a Persian reader has to guess which directory is theirs. Meanwhile the day 1 page links only four translations, Portuguese, Chinese, French and Greek, and the German, Korean, Spanish, Ukrainian and Uzbek directories are not linked from anywhere in the day 1 page.

So translations are contributed rather than coordinated. A translator opens a pull request, the files land, and nothing keeps the list in the day 1 page in step with the directories. If you read in a language where the translation lags the English, the failure mode is silent: the folder exists, the content is older, and there is no date or version marker in the lesson to tell you which one you are looking at.

The English lessons are the ones the project points at, and the day pages are the navigation. That is the practical advice: follow the root readme.md rather than a translation landing page, and you will at least know you are reading the current sequence.

## Day 1 holds the setup, the syntax, the eight data types and three exercise levels

One day is one file, and the file is the whole lesson. Day 1 is titled Introduction and contains an environment setup section covering installing Python, the Python shell and installing Visual Studio Code with a note on how to use it, then a basic Python section covering syntax, indentation, comments and the data types: number, string, booleans, list, dictionary, tuple and set. It ends with checking data types and the Python file itself, followed by exercises at level 1, level 2 and level 3.

That three-level structure repeats. It is the reason the lessons work as practice rather than as reading, and the reason a stuck reader has two options: try the next level up, or ask. There is no answer key in the repository, so the exercise is the assessment.

The root also holds the loose working files the lessons generate: mymodule.py and mypackage/ from the modules day, numpy.md with its numpy_files/ directory, python_for_web/, test_files/, data/, files/ and images/. Alongside them sits old_files/, which is the clearest sign of how the lessons have been revised: earlier versions are kept in the tree rather than replaced in place.

## There is no licence file, so the permission question has no answer in the repository

The repository records no licence. There is no LICENSE file at the root, nothing in the file listing that names a licence, and the only funding routes described are GitHub Sponsors and PayPal, plus a reserved block for company logos. Nothing in the lessons grants permission to copy an exercise into a course, a book or a company training deck, and nothing withholds it either. The repository simply does not say.

That matters more here than it would for a library. This is a document people reuse by nature: the exercises are the point, they are short, and they are written to be answered. A trainer who lifts three exercises from day 10 and a company that wants to put the whole curriculum in an internal learning system are both making a decision the project has not recorded for them.

The other thing the repository does record is the edition. The day 1 page carries a second edition date of July 2021, and it also names the author, Asabeneh Yetayeh. The last push to master was on 2026-09-10 and the project has no tagged releases at all, so there is no version history to pin a course to and no release notes to diff when the lessons change.

## Fifteen days from type errors to MongoDB is breadth, not depth

The second half of the curriculum changes shape. Day 20 is the Python package manager, day 21 classes and objects, day 22 web scraping, day 23 virtual environments, day 24 statistics, day 25 Pandas, day 26 Python web, day 27 Python with MongoDB, day 28 API, day 29 building an API and day 30 conclusions. That is nine distinct tools and topics in eleven days, on top of a day spent on the package manager that everything else depends on.

Read as a survey it works. Read as a route to competence in any one of those areas it does not, and the project's own audience claim explains why: it is designed for beginners and professionals at the same time, which is an unusual pairing to serve with the same file. Someone who already writes Python professionally spends days 2 to 19 on topics they know, then meets MongoDB and API construction for the first time in the same week.

The one place the course does go deep rather than wide is the error day on 15, a single lesson on Python type errors. That is the day a beginner is most likely to skip and a working programmer is most likely to want, and it is the clearest example of the curriculum being written for the beginner.

## The video track is a separate channel, so the text is the only part you can pin

Visual learners are sent to a YouTube channel rather than to anything in the repository, and the starting point given is a video for absolute beginners. The videos are not hosted here, so the two halves of the course can drift apart: a lesson file can change on a Tuesday while a recording of the same day still shows last year's text, and there is no version marker on either side to tell you which you are looking at.

What you can pin is the text, and even that only loosely. The repository has no releases, so there is no version to check out, and the last push was on 2026-09-10 with a second edition dated July 2021 in the day 1 page. In practice that means cloning master, reading the root readme.md, and accepting that a lesson may be rewritten between two reads rather than versioned.

The author also asks for feedback directly, through a testimonials page and a Telegram group, and describes the challenge as conversational and motivating. For a self-study course that feedback loop is the substitute for a maintainer responding to a bug report, and it is worth knowing which one you are relying on before you enrol.

## Conclusion

Take this curriculum when you want a fixed, readable order for learning Python 3 and you are willing to budget weeks rather than weekends, and when the presence of a Telegram group matters to you because the project credits that group with a higher completion rate. Do not adopt it as a company training package without settling the licensing question first, since the repository records no licence at all, and do not use it as the only reference for the second half, which covers web scraping, Pandas, MongoDB and API building in fifteen days. Before you start, confirm the Python version on your machine matches the Python 3 these lessons teach, and pick which translation you will read so you are not switching languages mid-topic.

## FAQ

### what is 30 days of python

It is a step-by-step Python 3 curriculum split into 30 days, each day a numbered directory holding a Markdown lesson with exercises at levels 1, 2 and 3. The topics run from variables, built-in functions and operators through strings, the collection types, type errors, exceptions and regular expressions, to web scraping, Pandas, MongoDB, APIs and building an API.

### how to use 30 days of python

Clone the repository and open readme.md, which links day 1 through day 30 in order. Each entry points into its own directory, 02_Day_Variables_builtin_functions and 13_Day_List_comprehension for example, so you work down the list at your own pace, doing the three levels of exercises at the end of each file.

### is 30 days of python good

The project describes the challenge as easy to read, written in conversational English and at the same time very demanding, and says you need to allocate much time to finish it. It is aimed at beginners and professionals together, and the introduction says people who take part in the Telegram group have a high probability of completing the challenge.

### Can Python be learned in 30 days?

The project gives a range rather than a number. The introduction says the challenge may take 30 to 100 days to complete, and the project description says it may take more than 100 days and tells you to follow your own pace. It also notes that a certificate is issued at the end of the thirty days for those who finish the challenge.

## Sources

- [Asabeneh/30-Days-Of-Python on GitHub](https://github.com/Asabeneh/30-Days-Of-Python)
- [Issues](https://github.com/Asabeneh/30-Days-Of-Python/issues)
- [README](https://github.com/Asabeneh/30-Days-Of-Python/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/asabeneh-30-days-of-python
