• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📓 A growing collection of Jupyter Notebooks written in Python, OCaml and Julia for science examples, algorithms, visualizations etc

Jupyter Notebooks 📓 by Naereen @ GitHub

This repository hosts a lot of Jupyter Notebooks, covering various subjects. Everything is open-sourced under the MIT License, you can use any of these notebooks for your own teaching activities if you want. Please open an issue, or ask me anything or drop an email if you have any questions, suggestions, or more.

Which languages? Half of the notebooks here are in 🇬🇧 English, and the other half in 🇫🇷 French (surtout pour l'agrégation de mathématiques option informatique, dans ce dossier agreg/), and most use the Python language, or OCaml, and a few notebooks use other languages like Julia, Rust, Java or even Bash, C and Octave!

How to read or use these notebooks?

You can view this repository on nbviewer to read notebooks statically, or read them directly from GitHub.

You can also launch an interactive environment to play with the code by yourself, using one of these platforms:

My use of notebooks - short story since 2015

  • At the beginning (as early as end of 2015!), this repository was only here to host some small experiments, for me to learn how to use the wonderful Jupyter tools correctly. So they were baby notebooks 🍼... Since then, I did a lot of experiments, on all the most important kernels (Python, Julia, but also less standard ones like OCaml, Rust, Java, C, Bash, etc), all the most exciting notebook extensions, and output formats (PDF, script, static HTML, slides, etc). I've kept learning and discovering more awesomeness of the Jupyter environment, and it never stops to amaze me !

  • In the last 5 years (2016-2021), I've used Jupyter notebooks intensively, to teach algorithmics, programming, and (not so theoretical) computer science in general, mainly in 🇫🇷 French. I wrote notebooks to teach introduction to Java in 2020, advanced algorithms using Python in 2019, and a lot for experimenting during my PhD thesis.

  • 🇫🇷 J'ai aussi corrigé tous les textes d'annales de modélisation, en option informatique, pour le concours national de l'agrégation de maths, en utilisant OCaml ou des fois Python ! Ce sont les seuls corrigés de ce type disponibles sur tous les Internets (j'ai cherché partout !), et ils sont dans ce dossier : agreg/. Je compte déplacer ça dans un dossier à part, et bien les nettoyer et mettre à jour, en 2021.

  • I love the Jupyter environment, from the old IPython command line to the recent awesome Jupyter Lab. If you want to discover amazing things, check out: RISE for live slides in a notebook, lolviz and rcviz and tutormagic for nice data structures visualizations in a notebook.

  • In the future, I plan to mostly teach using Jupyter notebooks, using either the regular Python kernel, the OCaml-jupyter kernel for OCaml (and also IJava for Java, this one for C, and more if needed). RISE slides embed a chalk-board mode, more limited in comparison to the amazing TableauNoir.

A partial list of notebooks in this repository

I'm trying to maintain here a list of the notebooks stored in this repository, inspired by the amazing pytudes by Peter Norvig. The links open nbviewer), and the links (on GitHub?) open the notebook to be viewed directly in GitHub (it should work for almost all of them).

🐚 Bash

🐍 Python

I am a passionate user of the Python programming language.

Science

Teaching

Numerical simulations for dice games (🇫🇷 in French)

🎨 Art

art/identicons.png

art/citation_du_roi_Loth_aleatoires.png

Experiments with Python

Experiments with Jupyter

With the C language

With Julia

🐫 OCaml

And more will come... soon! 🚅

made-with-jupyter made-with-python made-with-ocaml made-with-julia


1. How to read these documents?

1.a. View the notebooks statically 📝

1.b. Play with the notebooks dynamically 💥

MyBinder

Anyone can use the mybinder.org website (by clicking on the icon above) to run the notebook in her/his web-browser. You can then play with it as long as you like, for instance by modifying the values or experimenting with the code.

You can also launch an interactive environment to play with the code by yourself, using one of these platforms:

Note: Only the Python kernel is supported on the MyBinder interface!


2. Requirements to run the notebooks locally?

All the requirements can be installed with pip and by running a few python -m ... commands.

Note: if you use Python 3 instead of Python 2, you might have to replace pip and python by pip3 and python3 in the next commands (if both pip and pip3 are installed).

⚠️ I've not updated this section since 2016.

2.a. Jupyter Notebook and IPython

sudo pip install jupyter ipython

It will also install all the dependencies, afterward you should have a jupyter-notebook command (or a jupyter command, to be ran as jupyter notebook) available in your PATH:

$ whereis jupyter-notebook
jupyter-notebook: /usr/local/bin/jupyter-notebook
$ jupyter-notebook --version  # version >= 4 is recommended
4.2.1

2.b. Other kernels (optional):

They are only needed to run the notebooks written for Bash or Octave (or OCaml):

2.b.1. GNU Bash kernel

$ bash --version | head -n1
GNU bash, version 4.3.42(1)-release (x86_64-pc-linux-gnu)
  • And then install the kernel bash_kernel with these two commands:
sudo pip install bash_kernel
python -m bash_kernel.install

2.b.2. GNU Octave kernel

  • You have to have octave installed (installable with the package manager on major Linux distributions (apt-get, pacman, yum etc), installable with brew or macports on Mac OS, available on Windows through cygwin or natively):
$ octave --version | head -n1
GNU Octave, version 4.0.0
  • Your version of Octave should be installed with gnuplot support (it is usually the case):
$ gnuplot --version | head -n1
gnuplot 5.0 patchlevel 1
  • And then install the kernel bash_kernel with these two commands:
sudo pip install octave_kernel
python -m octave_kernel.install

2.b.3. OCaml kernel: OCaml-Jupyter

It is quite easy to install, with opam:

opam install jupyter

I started by using this OCaml kernel called IOCaml. The instructions were not so simple, cf. the tutorial by @andrewray on iocaml's wiki. It was prone to some bugs, and I had to manually implement a script to be able to convert the notebooks to PDF with jupyter-nbconvert --to pdf. Note that I also had to write a custom Exporter for jupyter-nbconvert in order to convert the notebooks to OCaml scripts (.ml).


💁 More information?

📜 License ? GitHub license

All the notebooks in this repository are published under the terms of the MIT License (file LICENSE.txt). © Lilian Besson, 2016-21.

Maintenance Ask Me Anything ! ForTheBadge uses-badges ForTheBadge uses-git ForTheBadge built-with-science

More Repositories

1

badges

📝 Markdown code for lots of small badges 🎀 📌 (shields.io, forthebadge.com etc) 😎. Contributions are welcome! Please add yours!
Makefile
3,937
star
2

Nginx-Fancyindex-Theme

A 📱 responsive theme for Nginx Fancyindex module 🔧. Minimal, modern and simple. ☀ Light & 😎 Dark themes. Comes with a search form 🔎, aims to handle thousands of files without any problems 📂
CSS
437
star
3

StrapDown.js

✨ StrapDown.js is an awesome javascript tool to quickly publish nice-looking web-pages in pure Markdown 📝, with no server side compilation 😎 →
CSS
97
star
4

gym-nes-mario-bros

🐍 🏋 OpenAI GYM for Nintendo NES emulator FCEUX and 1983 game Mario Bros. + Double Q Learning for mastering the game
Python
49
star
5

Lempel-Ziv_Complexity

📦 Lempel-Ziv Complexity, fast implementations with 🐍 Python (naive, Numba or Cython for speedup), Open-Source (MIT) 👍 →
Jupyter Notebook
28
star
6

nanorc

🔧 🎨 Some syntax highlighting files for the GNU/Nano editor 📝 https://nano-editor.org/
28
star
7

FreeSMS.py

🇫🇷 ☎️ Un petit script Python 2 ou 3 pour s'envoyer des textos (messages SMS) via l'API de Free (uniquement pour cartes SIM Free)
Python
19
star
8

generate-word-cloud.py

🐍 A simple Python (2 or 3) script to generate a PNG word-cloud ☁️ image from a bunch of 📂 text files 🎉. Based on word_cloud by @amueller.
Python
19
star
9

ParcourSup.py

🇫🇷 Un clone en Python 3 de ParcoursSup, écrit à but didactique
Jupyter Notebook
16
star
10

LaTeX-article-with-Pokemon-numbering

A stupid LaTeX experimental package that displays page numbers as tiny Pokémons in the bottom left or right corner
TeX
15
star
11

slides

All the slides of my talks since 2016! Written in LaTeX or Markdown, compiled to pretty PDF with pandoc ✨, and experiments with Marp, reveal.js, remark.js etc. PDF on https://speakerdeck.com/naereen/ or on
Jupyter Notebook
15
star
12

My-Own-HandWriting-Font

💅 Experiments and demos of design your own handwritting font, to use on the web or in XeLaTeX
HTML
13
star
13

me

🎓 🎨 Small and pretty homepage for a young researcher (me) - Powered by HTML5UP. See https://perso.crans.org/besson/me/ !
HTML
11
star
14

Kullback-Leibler-divergences-and-kl-UCB-indexes

🐍 🔬 Fast Python implementation of various Kullback-Leibler divergences for 1D and 2D parametric distributions. Also provides optimized code for kl-UCB indexes
HTML
9
star
15

ama

💬 Ask me (@Naereen) anything! In English 🇬🇧🇺🇸
8
star
16

cuisine

🇫🇷 Mes recettes de cuisine 🍰, avec un petit site statique (🐍 pelican)
Python
8
star
17

phd-thesis

My PhD thesis. I defended on the 20th of November! See https://perso.crans.org/besson/phd/defense/ ! More on https://perso.crans.org/besson/research.en.html
TeX
8
star
18

Makefiles-support-for-VSCode

DEPRECATED : please use the new builtin extension from VSCode v1.21. Add support for GNU Makefiles 🔧 for VSCode 📝. Imported from a TextMate language file.
Shell
7
star
19

Generateur-attestation-de-sortie-automatique-COVID-19-confinement-en-France

Un script IPython qui génère automatiquement une attestation de sortie toute les 55 minutes, pour le confinement 2.0 en France face au COVID 19. Expérimental et pour le plaisir, NE PAS UTILISER EN VRAI.
Jupyter Notebook
7
star
20

Peut-on-coder-avec-OCaml-Python-et-C-par-SMS

Je souhaite répondre à la question suivante : peut on coder avec OCaml, Python et C par SMS ? Oui ! Attention, proof of concept à héberger soi-même localement, et c'est payant avec Twilio.com, et très expérimental ! Mais amusant !
Python
7
star
21

Jupyter-NBConvert-OCaml

WARNING it might not work with recent versions of Jupyter, traitlets etc. Use at your own risk, this was not updated since 2017. 🔧 Custom Jupyter 📓 NBConvert Exporter for the OCaml language 🐫
Jupyter Notebook
7
star
22

ALGO1-Info1-2019

🇫🇷 🐍 Des notebooks en Python pour montrer quelques algorithmes pour le cours ALGO1 au département Informatique de l'ENS de Rennes, en automne 2019
Jupyter Notebook
7
star
23

Tiny-Prolog-in-OCaml

A tiny implementation of a small subset of the Prolog language, 🐫 in OCaml. With small and fun examples.
Jupyter Notebook
5
star
24

ansicolortags.py

🐍 🎨 💻 A Python script and module to simply & efficiently use ANSI colors in a terminal application from a Python program.
Python
5
star
25

Tiny-Prolog-in-OCaml-OneFile

A tiny implementation of a small subset of the Prolog language, 🐫 in OCaml. With small and fun examples.
Jupyter Notebook
4
star
26

My-Magic-the-Gathering-decks

My Magic the Gathering decks, in .cod format playable on Cockatrice. I'm playing regularly in Strasbourg (France), and am now an active L1 Judge of Magic: the Gathering.
4
star
27

Tutoriel-notebooks-Jupyter-a-Didapro-8-Lille-fevrier-2020

Matériel pour un tutoriel d'une heure sur les notebooks Jupyter à la conférence Didapro #8 à Lille le 05 février 2020
Jupyter Notebook
4
star
28

Bibliographie-agregation-maths-option-info

Mes recommandations pour les livres pour bien préparer l'agrégation de mathématiques (https://agreg.org/) en option informatique. Maintenue depuis 2014, version 2021 !
HTML
4
star
29

Perspectives-carriere-enseignement-informatique-en-2021

Si vous êtes intéressé-e par l’informatique, en particulier par l’enseignement de l’informatique, et les perspectives de carrières que l’on peut choisir dans cette voix, alors je vous conseille les documents suivants. Écrit en février 2021
HTML
4
star
30

SublimeText3_SwitchDictionary

Tiny ST3 📝 plug-in to easily switch 🔀 between spell-check for French 🇫🇷 or English 🇬🇧, and auto-detect the language
Python
3
star
31

Mon-utilisation-de-Basthon

Mini dépôt qui documente mon utilisation du projet Basthon : https://basthon.fr/about.html !
Shell
3
star
32

KullbackLeibler.jl

💫 Fast Julia implementation of various Kullback-Leibler divergences for 1D parametric distributions. 🏋 Also provides optimized code for kl-UCB indexes
Julia
3
star
33

My-Munin-plugins

🐵 Some tiny plugins for @munin-monitoring 💻, written to learn how to write them... I was curious! 🎉
Shell
3
star
34

how-to-customize-title-of-jupyter-notebook

🎉 How to customize the web page title of all pages created with Jupyter Notebook 📓
TeX
3
star
35

kaamelott-soundboard-desktop-app

💻 📢 Application bureau sur Ubuntu, Windows et Mac OS X pour la soundboard de Kaamelott 🎶. Depuis https://github.com/2ec0b4/kaamelott-soundboard
JavaScript
3
star
36

Free-dictionnaries-for-Pictionnary

A small project that gives a list of words to use when playing Pictionnary (so far only in French), under a MIT license
CSS
3
star
37

fix-iocaml-notebook-exports-to-pdf

Small 🐍 Python script to fix a 🐫 IOCaml notebook to have a clean export to PDF (include output values AND types) 🔧 📓
Jupyter Notebook
3
star
38

Objectif-Zero-Dechet-2018

💚 Objectif Zéro Déchet 🍃 pour l'année 2018 : je me lance ! 🇫🇷 📒 Petit blog en français qui raconte mes expériences et mes progrès pour être 100% zéro déchet !
Python
3
star
39

naereen.github.io

🏆 Small repo to showcase all my other GitHub projects, at https://naereen.github.io (powered by :octocat: GitHub Pages & 📝 StrapDown.js) 👉
HTML
2
star
40

LempelZiv.jl

📦 Lempel-Ziv Complexity, fast implementation in Julia, Open-Source (MIT) 👍 →
Jupyter Notebook
2
star
41

Naereen

Meta repository with information about myself
Makefile
2
star
42

MiniPy-interpreter-in-OCaml

My local copy of files from https://github.com/LaurentMazare/LaurentMazare.github.io/tree/master/minipy, whose code is there https://github.com/LaurentMazare/ocaml-minipy
CSS
2
star
43

Love-2D-tiny-Chess-game

Un petit jeu d'échec écrit en Lua avec le framework Löve2D
Lua
2
star
44

phd_defense_website_pub

A home-page website to advertise about my PhD defense. See https://perso.crans.org/besson/ for more details about me!
HTML
2
star
45

ocaml-mots-cles-en-francais

Ma petite modification de @ocaml/ocaml pour lire les mots clés en français - expérimental et amusant, c'est tout !
OCaml
2
star
46

web-sphinx

This repository stores my web pages, powered by the Sphinx static website generator, hosted on the CRANS web server (http://perso.crans.org/besson). Everything here is © 2011-24 Lilian Besson. Mirror of https://bitbucket.org/lbesson/web-sphinx that I use since 2012.
CSS
2
star
47

Discord-bot-to-add-spoiler-to-any-code-snippet

Failed experiment about a Discord bot aims at automatically adding /spoiler to any code snippet pasted in a Discord text channel in your Discord server. (Nov.2020)
Python
2
star
48

Mes-dilemmes-en-2021-aidez-moi-converger

J'ai encore quelques dilemmes en 2021, sur plein de questions et décisions personnelles ! Je les documenterai lentement ici... En attendant, aidez-moi à converger !?
2
star
49

Chasse-aux-tresors-au-Musee-des-Beaux-Arts-pour-mes-26-ans

📑 Livrets d'énigmes, utilisés lors de la 🖼 📸 chasse aux trésors qu'on a organisé au musée des Beaux Arts de Rennes pour mes 26 ans 🎂
TeX
2
star
50

Apprendre-son-trombinoscope.lua

Petite application ludique pour apprendre un trombinoscope au début de l'année scolaire, écrite en Lua avec Löve2D au CodeClub de la Ludothèque de Briançon en mai 2023. PROTOTYPE à usage personnel uniquement !
Lua
2
star
51

GMusicBrowser-FullScreen-WebApp

A simple Flask & Python 🐍 local web-app 🕸️ to display GMusicBrowser current song 🎶 in full screen of your web-browser. Experiment but stable and used daily since 2018! I love it when I'm cooking or having guests!
HTML
2
star
52

bin

LOTS of scripts and mini programs. Mostly GNU Bash shell scripts and Python scripts, designed to run on (X)Ubuntu. Every file is © 2011-24 Lilian Besson if nothing else is specified. Mirror of https://bitbucket.org/lbesson/bin/ that I used since 2012.
Shell
2
star
53

kit-informatique-debranchee-preuve-pb-arret-Turing

Kit d'informatique débranchée (niveau lycée) pour une preuve du problème de l'arrêt avec des blocs Scracth - copie de ressources sous licence Creative Commons
TeX
1
star
54

Un-Quiz-Magic-the-Gathering-pour-le-festival-Don-des-Dragons

Un Quiz Magic the Gathering pour le festival Don des Dragons (et d'autres, plus tard)
HTML
1
star
55

Exemple-de-mise-en-acc-s-libre-des-texte-des-articles-Data-Analytic-Post

(DEMO) Exemple de mise en accès libre des texte des articles Data Analytic Post (DEMO)
1
star
56

ama.fr

💬 Demandez moi (@Naereen) n'importe quoi ! En français 🇫🇷
1
star
57

Mind_Bug_cockatrice_custom_set_Aug2023

A custom set of cards to play with 🎮 Cockatrice to the (awesome) game « Mind Bug » (2023)
Makefile
1
star
58

PlaneChase.lua

Simulateur de deck de cartes planaires, pour jouer à la variante « PlaneChase » de Magic the Gathering, écrit en Lua avec le framework Löve2D
JavaScript
1
star
59

LaTeX_template_to_print_Magic_cards

A simple LaTeX template to print (custom) Magic the Gathering cards/proxies
TeX
1
star
60

Chasse-aux-tr-sors-au-Louvre-pour-mes-25-ans

📑 Livrets d'énigmes, utilisés lors de la 🖼 📸 chasse aux trésors qu'on a organisé au musée du Louvre pour mes 25 ans 🎂
TeX
1
star
61

langage-c-mots-cles-en-francais

Mon fork de https://git.saucisseroyale.cc/DiestVanMaitre_culain/ccdille (licence MIT), pour pouvoir écrire et compiler des programmes C écrits avec des mots clés en français - expérimental et amusant, c'est tout !
C
1
star
62

make-big-maths

📐 A simple page for rendering some LaTeX math equation, at any size 🔬, using MathJax 🎉 →
JavaScript
1
star
63

IOCamlJS-static

A static build of IOCamlJS kernel for IPython notebook - see https://github.com/andrewray/iocamljs/tree/gh-pages
JavaScript
1
star
64

Je-suis-pour-ces-idees-Ai-je-tort-Aidez-moi-

Je suis pour ces idées ! Ai-je tort ? Aidez-moi ! Une autre expérience de crowdsourcing social en 2021 !
1
star
65

Je-suis-contre-ces-idees-Ai-je-tort-Aidez-moi-

Je suis pour ces idées ! Ai-je tort ? Aidez-moi ! Une autre expérience de crowdsourcing social en 2021 !
1
star
66

Introduction-au-Numerique-avec-Python-dpt-DEM-2020

Sources LaTeX et Python pour un cours (6x2h de CM) d'Introduction au Numérique avec Python, donné aux élèves de 1ère année du département Droit Économie et Management à l'ENS de Rennes à l'automne 2020
TeX
1
star
67

f6_sphinx_theme

Bright theme for sphinx-doc 🐍 ◻️ (based on f6 by @vimalkvn)
CSS
1
star
68

Didapro8_2020__atelier_Notebook_Jupyter

Proposition d'atelier pour la conférence Didapro 8 sur les notebooks jupyter (5-7 février 2020)
TeX
1
star
69

Assistant-traduction-CranialInsertion-en-Python

Aider à la traduction des articles sur <https://www.cranial-insertion.com/>, que l'on doit chaque weekend traduire de l'anglais américain vers le français.
Jupyter Notebook
1
star
70

world-tour-timeline

🎨 D3.js visualization of a globe, for each country I have ever been to! 🌎 ✈️
HTML
1
star