This repository produces and maintains the official Jupyter Docker Stacks: a family of layered Docker images that ship JupyterLab, Jupyter Notebook, JupyterHub single-user servers, and a broad set of scientific computing kernels and libraries. The actual deliverable is infrastructure-as-code: Dockerfiles, entrypoint/startup scripts, a Python tagging system, CI workflows, and a container-based test suite. Although the images serve data-science workflows (pandas, Spark, PyTorch, R, Julia, etc.), the repository itself is an application/devops project for building, versioning, and publishing reproducible computing environments, not an analytics or ETL codebase. This hybrid nature shows in bundled research-oriented packages and notebook-based tests, but the core engineering artifact is container image definitions and release automation.
This repository is a collection of educational Python programs and Jupyter notebooks by Peter Norvig, focused on algorithmic problem-solving, puzzle-solving, and data analysis. It is not a deployable application or a formal research pipeline, but rather a set of self-contained explorations that demonstrate a wide range of programming techniques: constraint propagation, recursive search, dynamic programming, Monte Carlo simulation, n-gram language models, and symbolic computation. The code is well-structured, clearly documented, and often includes inline tests and performance benchmarks. While each notebook or script is independent, many contain reusable utility functions and algorithmic patterns that could be extracted for other projects. The repository includes data files (word lists, n-gram counts, bike ride logs, Sudoku puzzles) that are used as inputs for the explorations. The primary value is educational: it teaches how to think algorithmically and write clean, efficient Python code.
This repository is the companion to Allen Downey's Think DSP book. It is primarily an educational Python library plus a collection of Jupyter notebooks, not a production service or a research data pipeline. The core deliverable is the `thinkdsp` package, a self-contained module that provides object-oriented primitives for representing periodic signals (`Signal`, `Sinusoid`, `Chirp`, `Noise`), sampling them into `Wave` objects, and transforming between time and frequency domains via FFT and DCT. The library also supports spectral arithmetic, filtering, convolution, autocorrelation, spectrogram generation, WAV file I/O, and basic audio synthesis. The notebooks in `nb/`, `split/`, and `examples/` walk through each chapter of the book, with solution notebooks and standalone solution scripts in `soln/`.
This repository is a comprehensive educational curriculum for Machine Learning, structured as a collection of Jupyter notebooks, data files, and instructional documentation. While it contains small application examples (a Vue.js quiz app and a Flask web app demo), the dominant character is data research and education, focusing on teaching ML concepts through practical data science workflows. The content covers Regression, Classification, Clustering, NLP, Time Series, and Reinforcement Learning, utilizing Scikit-learn as the primary modeling library. The codebase is organized into modular lesson directories, each containing notebooks, assignments, and solutions. It demonstrates a strong commitment to accessibility with extensive multi-language translations and a devcontainer setup for consistent environments. However, reproducibility is impacted by a reliance on external datasets (Kaggle, Dropbox) which are prone to link rot, and scattered dependency management across different lesson folders rather than a unified root configuration. Technically, the repository shows signs of medium drift, particularly in the quiz application which utilizes Vue 2 patterns instead of the modern Vue 3 Composition API. The core ML content remains relevant, but the educational infrastructure (translation services, external links) requires ongoing maintenance to ensure accuracy and availability. Despite this, it stands as a high-quality, reusable resource for learning ML pipelines and data engineering patterns.
This repository is a comprehensive educational course titled 'AI Agents for Beginners', structured as a collection of Jupyter notebooks and code samples. It functions primarily as an ML notebook collection and tutorial suite rather than a deployable application or library. The content focuses on teaching the Microsoft Agent Framework (MAF) and Azure AI ecosystem, covering topics from basic agent concepts to advanced protocols like MCP and A2A. The codebase is organized into 18 lessons, each containing Python and .NET code samples, documentation, and images. It relies heavily on external cloud services (Azure AI Foundry, Azure OpenAI) and rapidly evolving AI standards, making it a high-quality learning resource but one with significant dependency volatility.
This repository is a community-driven threat hunting and detection engineering knowledge base rather than a deployable application. It contains 26+ Windows-focused Jupyter notebooks (authored as Jupytext Markdown) that each follow a strict hypothesis-driven methodology: hypothesis, technical context, offensive tradecraft, pre-recorded security datasets, SQL/Pandas analytics, and Sigma rule output. The repo also includes deep Windows internals documentation, MITRE ATT&CK group profiles (CTI), pre-hunt data management guidance, and a small YARA signature set. The dominant character is data_research: the core artifacts are analytical notebooks, structured metadata, and threat intelligence data, with a hybrid component of Python build scripts that generate the Jupyter Book, table of contents, ATT&CK Navigator layers, and evaluation reports.
Python-100-Days (Python 100天从新手到大师) is one of the most widely referenced Chinese-language Python learning curricula on GitHub (~186k stars). Despite its scale, it is fundamentally an educational artifact rather than a deployable software system: the dominant content is a 100-day sequence of Markdown tutorials (Day01-100) augmented with teaching-oriented code examples, SQL schema scripts, and Jupyter notebooks. The closest software classification is data_research, driven by the substantial data-analysis track — Day66-80 covers NumPy, pandas, and Matplotlib against real bundled datasets (scraped BOSS直聘 job postings across nine Chinese cities, 2020 sales data, 2023 Beijing hukou data), and Day81-90 covers scikit-learn machine learning with classic datasets (iris, Titanic, MPG, Boston housing). The repo's character is hybrid: it also carries a Django web-development track (Day46-60), a web-scraping track with Scrapy/Selenium (Day61-65), and database/DevOps chapters (Day36-45, Day91-100), but none of these constitute a runnable production application — they are teaching material. Ground truth from the code: the only real end-to-end 'data pipeline' is the job-market dataset pipeline. Raw CSVs under Day66-80/code/res/jobs/ contain scraped listings from zhipin.com with a consistent schema (company_name, uri, salary, site, year, edu, job_name, city, pos_count); the notebook workflow produces a cleaned artifact (cleaned_jobs-checkpoint.csv) with salary ranges parsed into salary_lower/salary_upper bounds. This demonstrates a reusable salary-parsing and job-market normalization pattern. The machine-learning chapters are textbook-style reproductions of classical algorithms for pedagogy, not original research, and the scraping data is a timestamp-less snapshot. Maintenance is active: the author continues to revise the curriculum (a 2025 version reset of the introductory series) and the last commit is recent. Technical drift is medium — older chapters reference Django 2.2, Vue 2.6.10, ECharts 4.2.1, and Python 3.7-era idioms, while some third-party API examples (TianAPI, chaojiying captcha OCR, SMS gateways) depend on external services that may have changed. Reproducibility is partial: dataset files needed by notebooks are checked in, but the main curriculum has no pinned dependency manifest (only the opencourse subproject has requirements.txt), no conda environment file, and the scraped data has no crawl timestamp.
This repository is an interactive educational resource (Jupyter notebooks) teaching prompt engineering for Anthropic's Claude LLM. It is not a software application or a data pipeline; it is a notebook collection, so it is classified as data_research by the notebook signal, but its 'data' is synthetic/demo content (animal names, user/product records, arithmetic operations, legal tax code excerpts) used to illustrate prompt patterns. The primary entry points are the notebooks themselves, with parallel implementations for the Anthropic direct API and AWS Bedrock (both boto3 and anthropic Bedrock clients). Lessons progress from basic prompt structure, clarity, system prompts, XML tags, few-shot examples, step-by-step thinking ('Precognition'), output formatting, avoiding hallucinations, to complex/industry use cases. The notebooks use get_completion wrappers around client.messages.create(...), %store magic to share variables, and a tool-use appendix that implements prompt-injected function calling via XML-like tags and regex parsing. Exercises include golden answers and rubric-based grading (e.g., summary quality scored 1-5). Reusable patterns include the tool-use prompt-injection function construct_successful_function_run_injection_prompt(invoke_results), system-prompt composition (general tool-use explanation + specific tool definitions), and a grader prompt pattern. However, the code is tightly coupled to notebook execution order, API details may drift, and duplicated content across anthropic/boto3 notebooks creates maintenance risk.
This repository is the companion code for the second edition of Aurélien Géron's 'Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow'. It consists of 19 Jupyter notebooks that teach a wide range of machine learning and deep learning topics, including classification, regression, neural networks, CNNs, RNNs, NLP, reinforcement learning, and scalable deployment. The code is well-structured and annotated, designed for interactive learning. While not a production application, the notebooks contain several high-quality, reusable components such as custom Keras layers, training loops, and learning rate schedulers. The repository also includes Docker configurations and environment files to ensure reproducibility. However, the second edition is explicitly outdated, with libraries pinned to versions from 2021 (TensorFlow 2.6, Scikit-Learn 1.0), and the README directs users to the third edition and a PyTorch version. The data sources are standard benchmark datasets bundled as static files or downloaded from URLs that may change.
This repository is the official code companion to the book '50 ML projects to understand LLMs' by Mike X Cohen. It contains over 50 Jupyter notebooks organized into chapters (2–7), each exploring a specific concept in large language model interpretability and internals. Topics span tokenization, embeddings, cosine similarity, softmax/logits, loss functions, sampling, hidden state analysis, effective dimensionality, logit lens, attention mechanisms, MLP projections, probing classifiers, and bias measurement. The code is purely educational and experimental—no production services, APIs, or deployable applications. All notebooks are designed to run on Google Colab with minimal setup, using standard libraries (PyTorch, Hugging Face Transformers, scikit-learn, numpy, matplotlib) and pretrained models (GPT-2, BERT, RoBERTa, Pythia). Each project has a 'helper' notebook (incomplete code for students) and a 'solution' notebook (complete reference implementation). The repository is a valuable resource for learning mechanistic interpretability and hands-on LLM analysis, but it lacks modularization, dependency pinning, and test coverage, making it unsuitable for direct reuse in production pipelines.
This repository is primarily an educational resource for teaching data science and machine learning concepts. It contains a extensive collection of Jupyter notebooks, Python scripts, and supporting materials covering topics from basic statistics and pandas to advanced deep learning, NLP, and LLMs. The content is organized as tutorials and examples rather than a cohesive application, with numerous datasets included for hands-on learning. The repository appears to be actively maintained with recent updates, suggesting efforts to keep the educational content current with evolving technologies.
This repository is a collection of blog posts, presentations, Jupyter notebooks, and scripts by John Lambert (@JohnLaTwC), a renowned security engineer from Microsoft. It serves as a knowledge base for security defenders, covering topics such as attack graph theory, the MS08-067 vulnerability story, and the 'Githubification of InfoSec' concept, which advocates for open, community-driven security practices using MITRE ATT&CK, Sigma rules, and Jupyter notebooks. The notebooks focus on malware analysis, shellcode reverse engineering, and threat hunting, often leveraging VirusTotal APIs and custom disassembly tools. The Yara rules provide detection for document-based attacks. The PowerShell scripts are utilities to restore Windows Defender to a secure configuration. While the content is highly educational and demonstrates deep security expertise, the repository does not constitute a structured application or a reusable data pipeline; it is a curated set of resources for learning and reference.
This repository is primarily a collection of educational Jupyter notebooks and course materials accompanying the book 'Understanding Deep Learning' by Simon J.D. Prince. The content includes hands-on exercises implementing deep learning concepts from scratch, covering topics such as neural networks, optimization, convolutional networks, attention mechanisms, generative models, and reinforcement learning. The repository also contains a React-based website that serves as a frontend for the book, featuring sections for hero content, coding exercises, instructor resources, media, and further reading. While the website is a functional application, the dominant component is the educational notebook collection, which constitutes the majority of files and represents the core learning resource. The notebooks follow a consistent structure of theoretical explanations, code implementations with TODOs for students to complete, and visualizations to build intuition.
This repository contains educational labs for MIT's Introduction to Deep Learning course (6.S191). It consists of Jupyter notebooks covering deep learning fundamentals (Lab1: music generation with RNNs), computer vision (Lab2: MNIST classification and facial detection with VAEs), and LLM fine-tuning (Lab3: style adaptation using LoRA). The repository also includes extra labs for reinforcement learning and uncertainty quantification. While structured as educational material, the labs involve substantive data processing, model training, and evaluation pipelines. The mitdeeplearning package provides reusable utilities for training visualization and data handling. The code assumes execution in Google Colab with GPU access and relies on external APIs (Comet ML, OpenRouter) and datasets hosted on third-party services (Dropbox).
This repository is the companion code for the first edition of 'Hands-on Machine Learning with Scikit-Learn and TensorFlow' (2017). It contains a collection of Jupyter notebooks teaching fundamental and advanced machine learning concepts, covering classification, SVMs, decision trees, ensemble methods, dimensionality reduction, and deep learning with TensorFlow 1.x (including CNNs, RNNs, autoencoders, and reinforcement learning). The code is educational, with step-by-step implementations, inline explanations, and exercise solutions. It is not a production application but a self-contained learning environment, supplemented with datasets (California housing, OECD life satisfaction, MNIST) and a Docker setup for reproducible execution. Significant technical drift exists: TensorFlow 1.x APIs, deprecated scikit-learn imports, and Python 2/3 compatibility shims make the notebooks incompatible with modern environments without substantial rewriting. The README explicitly directs users to the second edition repository for up-to-date code.
This repository contains the legacy edition of 'Practical Numerical Methods with Python', a multi-campus MOOC (2014–2016) on numerical methods for science and engineering. It is organized as five stacked modules covering ODE integration (phugoid flight dynamics), finite-difference PDEs (convection, diffusion, waves), and elliptic problems (Laplace, Poisson, Stokes flow). The primary content is 26 Jupyter notebooks with interleaved theory, code, and assignments, plus helper Python modules and data files. The course is explicitly no longer updated; development has moved to a separate repository. The codebase is pedagogically strong but suffers from outdated dependencies (Python 3.4, NumPy 1.9.2, Numba 0.20.0), broken imports (numba.autojit removed), and reliance on a decommissioned Open edX platform for assessments. No tests, CI, or modern packaging exist. The repository is best treated as a historical archive and reference for numerical method patterns, not as a runnable course.
This repository is a companion to the Packt book 'Python Feature Engineering Cookbook' by Soledad Galli. It contains over 70 Jupyter notebooks organized by chapter, each demonstrating a specific feature engineering technique for machine learning, including missing data imputation, categorical encoding, variable transformation, discretization, outlier handling, date/time features, scaling, feature creation, and text feature extraction. The notebooks use public datasets (Titanic, Boston Housing, Credit Approval UCI, 20 Newsgroups) and implement techniques both manually with pandas and using specialized libraries like feature_engine, category_encoders, and featuretools. While educational and self-contained, the code is not production-grade and relies on outdated library versions and deprecated datasets (e.g., load_boston), making it a tutorial resource rather than a reusable software project. The repository is stale—last updated around 2020—with no ongoing maintenance, and missing dependencies (e.g., category_encoders not listed in requirements.txt) further reduce reproducibility.