# Tanu-N-Prabhu Python: notebook lessons, five chapters, no licence

> This repository is a large pile of Jupyter notebooks arranged as a course, from input and output through built-in functions, libraries and public APIs, with a long tail of applied topics. It is unusually complete for a teaching collection and unusually informal about the things a repository normally has: there is no licence file, the front page is assembled by a script, and the software design principle notebooks sit next to a Titanic dataset exercise.

**Tanu-N-Prabhu/Python** — This repository helps you learn Python and Machine Learning from scratch.

- Repository: https://github.com/Tanu-N-Prabhu/Python
- Website: https://github.com/Tanu-N-Prabhu
- Stars: 2,296 · Forks: 938
- Language: Jupyter Notebook
- License: not declared
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/tanu-n-prabhu-python

## Contribution docs without a licence file

The repository has a contribution guide and a code of conduct, and it has no licence.

The metadata reports the licence as unknown, and there is no licence file anywhere in the top-level entries, which run to hundreds of notebook paths plus a handful of directories and configuration files. The same field reports the primary language as Jupyter Notebook, which is at least honest about what this is.

That combination is the thing to weigh before you build on it. The project invites contributions, and a contribution without a licence grant means a contributor has no clear statement of what happens to their work, and a reader has no clear statement of what they may copy. For a personal learning repository this is common and harmless. For a course someone wants to fork for a company, it is a blocker that has to be resolved by asking the author rather than by reading the repository.

The other metadata point is the homepage, which is the author's GitHub profile rather than a site for the project. The project does have its own pages site, linked from the README header, so the documentation is published and the repository metadata simply points at the person.

## The front page is assembled, and one contents entry points at the wrong section

The README is HTML with placeholders in it, which tells you it is generated rather than written.

The last-updated line is the clearest evidence:

```
<p align = "right"><b><i>Last updated</i></b>: <!-- LAST_UPDATED -->Oct 03, 2026<!-- END_LAST_UPDATED --></p>
```

The date sits between a comment pair with matching markers, so a script rewrites it on every push. The badge row is built the same way, with comments naming what each slot is for: social metrics, repo health, development tools, commits this year, commits this week and last commit. In the rendered page those are slots rather than badges, which is why the header looks sparse.

The table of contents has a small error worth naming. Its first section offers three questions in the order What, Why and How, and the first links to an about anchor and the second to a why-choose-this-repository anchor. The third, labelled How, links to the same why-choose-this-repository anchor. So one of the three entries is a duplicate of another.

Small as it is, that is the kind of defect a reader hits on the first click, and it is in the one page every visitor sees.

## Five chapters, and one API notebook pinned to a commit

The materials are organised into five chapters, and the structure is conventional.

Chapter one covers basic concepts: input, output and import, variables, global, local and nonlocal scope, then strings, lists, tuples, dictionaries and operators as directories, and decorators. Chapter two covers built-in functions with one notebook each for the input and import group, eval, range, lambda, enumerate and len. Chapter three covers libraries, with directories for NumPy and Pandas and single notebooks for the math module and JSON.

Chapter four is the one with an inconsistency. Six API notebooks are linked, five of them pointing at the moving branch, and one pointing at a commit hash with the blob path pinned to a specific revision for a transit feed specification notebook using Calgary data from 2025. So the same chapter mixes two linking policies: a notebook that will change under the reader, and one frozen in time.

Chapter five is the long tail, and it is where the project's personality shows: a speech recognition notebook, one-hot encoding, reading an image without libraries, rendering images inside a pandas dataframe, using a dataframe as a database, presenting code with RISE, a Google Colab cheat sheet, a pick-up line generator, list comprehensions, virtual environments and hidden Markov models, among others.

## Software design principles next to a Titanic exercise

The most surprising thing about the root directory is how much of it is about software design rather than data.

There are separate notebooks for each of the five principles that make up the SOLID acronym: single responsibility, open closed, Liskov substitution, interface segregation and dependency inversion, plus one for composition over inheritance and one for the Law of Demeter. That is seven notebooks on object design in a repository whose front page advertises Python and machine learning.

Then there is the applied half: demystifying feature engineering, normalization against standardization, splitting a dataset into three sets, building a first machine learning model, hidden layers of a convolutional network, computing Euclidean distance efficiently in NumPy, handling missing data in pandas, structuring machine learning projects with clean code principles, predicting loan default with decision trees, playing with the Titanic dataset, a rule-based system, a smart resume ranker, and a notebook that predicts a named YouTuber's daily subscribers.

That last group is what makes the collection useful and what makes it hard to recommend. A repository that mixes interface segregation with a resume ranker has no stated audience, and the reader has to decide whether they are here for the language, the data work or the design lessons.

## Notebooks at the root, subject folders beside them, and a filename with a trailing space

The layout is a flat pile of notebooks with subject directories mixed in at the same level.

The directories include data analysis, data scraping from the web, data science, exploratory data analysis, machine learning, machine learning advanced topics, a machine learning interview prep questions folder, plus NumPy, Pandas, a Python folder, a Google Translate API folder, an oil refineries folder and a release notes folder. The notebooks sit next to them rather than inside them.

For a notebook repository that is workable, since a notebook is opened rather than imported. But it means there is no package to install, no module to import and no test suite, and a reader who wants one topic has to scroll a root listing that runs past a hundred entries to find it.

The listing also contains at least one filename with a trailing space, which is visible in the table of contents link for the dictionary notebook: the path is percent-encoded as ending with a space character. That kind of name breaks on Windows checkouts and in some tooling, and it is the kind of artefact that only appears when a file was created by hand in a file manager rather than by a script.

The interview prep directory is the other structural signal. It suggests the repository serves two purposes at once, a course and a question bank.

## Cloud-ready before it is installable

The repository is configured to open in a browser before it is configured to be run locally, and that is a deliberate choice with consequences.

There is a Gitpod configuration and a Gitpod Dockerfile at the root, and a Gitpod badge in the README. Open the repository in that service and you get an environment with the dependencies resolved for you, which is the fastest possible path for a learner and the reason this kind of collection often grows quickly.

The notebooks themselves assume the same thing. There is a Google Colab cheat sheet among the materials and a notebook on presenting code with RISE, which is a notebook-first presentation tool. Both are choices that assume a notebook is opened in someone else's environment rather than run from a checkout with a local environment manager.

The one notebook that pushes against that is the virtual environments one, which is the most practically useful file in the repository and the only one that addresses the problem this layout creates: with a hundred notebooks and no package, the question of which environment to install them in is yours, and that notebook is where the answer is.

There is a publishing surface too, since the header links to a pages site, so the notes are meant to be read as well as run.

## Dated quarterly releases, and a folder for LinkedIn posts

Releases exist, which is unusual for a notebook collection, and they follow a pattern.

Three are listed: version 1.2.0 in December 2025, version 1.3.0 in January 2026 and version 1.4.0 in February 2026. Each release name repeats the version and the date in full, so the release list reads as a schedule. A release notes directory sits in the tree, which is where the detail behind those versions lives.

The newest release is from February 2026 while the last push to master was 2026-10-03. So for a repository whose value is its contents, the tags have drifted from the working branch, and the tags mark where the course was rather than where the material is now.

The other thing in the tree is a LinkedIn folder with a current post file and a stated purpose, listed as section two of the table of contents, right after the introduction and before the course materials. That is a distribution decision rather than a teaching one, and it is why this repository is also a personal writing outlet: the notebooks are the substance and the posts are how they reach an audience.

## Conclusion

Use this collection as a reading list and a source of runnable examples, because the coverage of built-in functions and library basics is broader than most single-author courses and the applied notebooks are real rather than toy. Do not assume you can reuse the material, since the repository carries no licence file and its metadata says the licence is unknown, so nothing in it grants you permission to copy or redistribute. Before you point a learner at it, fix the front page: one table-of-contents entry points at the same section as another, and the badge slots are empty in the rendered page because they exist only as HTML comments.

## FAQ

### What does the Tanu-N-Prabhu Python repository contain?

Jupyter notebooks arranged as a five-chapter course: basic concepts, built-in functions, libraries, public APIs and additional materials, plus subject folders for data analysis, data scraping, exploratory analysis, machine learning and interview preparation. The project metadata reports the primary language as Jupyter Notebook.

### What licence does the Tanu-N-Prabhu Python repository use?

None is stated. The repository metadata reports the licence as unknown and there is no licence file at the top level, although the repository does include a contribution guide and a code of conduct.

### Can I run these notebooks locally?

They are notebooks, so they open in a notebook environment. The repository is configured for a browser-based development environment with a Gitpod configuration and Dockerfile at the root, and one of the notebooks covers virtual environments, which is the practical entry point given there is no package to install.

### Does the Python repository teach software design as well as data science?

Yes. The root directory holds separate notebooks for single responsibility, open closed, Liskov substitution, interface segregation and dependency inversion, plus composition over inheritance and the Law of Demeter, alongside data science material such as feature engineering, normalization against standardization and splitting a dataset into three sets.

### How often are the Python notebook releases published?

The three listed releases are version 1.2.0 from December 2025, version 1.3.0 from January 2026 and version 1.4.0 from February 2026, each with the date repeated in the release name. A release notes directory is in the tree, and the branch itself was last pushed on 2026-10-03.

## Sources

- [Issues](https://github.com/Tanu-N-Prabhu/Python/issues)
- [Project website](https://github.com/Tanu-N-Prabhu)
- [README](https://github.com/Tanu-N-Prabhu/Python/blob/master/README.md)
- [Releases](https://github.com/Tanu-N-Prabhu/Python/releases)
- [Tanu-N-Prabhu/Python on GitHub](https://github.com/Tanu-N-Prabhu/Python)

---

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