├── .bash_profile
├── .github
└── workflows
│ └── build.yml
├── .gitignore
├── .ruby-version
├── LICENSE
├── LINUX.es.md
├── LINUX.md
├── LINUX_keep_current.es.md
├── LINUX_keep_current.md
├── README.es.md
├── README.md
├── VM.es.md
├── VM.md
├── WINDOWS.es.md
├── WINDOWS.md
├── WINDOWS_keep_current.es.md
├── WINDOWS_keep_current.md
├── _partials
├── chrome.md
├── conda_uninstall.md
├── dbeaver.md
├── direnv.md
├── docker.md
├── dotfiles.md
├── dotfiles_installer.md
├── dotfiles_merge_upstream.md
├── dotfiles_new_laptop.md
├── dotfiles_new_student.md
├── dotfiles_same_laptop.md
├── es
│ ├── chrome.md
│ ├── conda_uninstall.md
│ ├── dbeaver.md
│ ├── direnv.md
│ ├── docker.md
│ ├── dotfiles.md
│ ├── dotfiles_installer.md
│ ├── dotfiles_merge_upstream.md
│ ├── dotfiles_new_laptop.md
│ ├── dotfiles_new_student.md
│ ├── dotfiles_same_laptop.md
│ ├── gcp_cli_setup.md
│ ├── gcp_setup.md
│ ├── gcp_setup_end.md
│ ├── gcp_setup_linux.md
│ ├── gcp_setup_mid.md
│ ├── gcp_setup_wsl.md
│ ├── homebrew.md
│ ├── intro.md
│ ├── kata.md
│ ├── keep_current.md
│ ├── kitt.md
│ ├── nbextensions.md
│ ├── osx_python.md
│ ├── osx_silicon.md
│ ├── pip.md
│ ├── python_checkup.md
│ ├── ubuntu_docker.md
│ ├── ubuntu_gcloud.md
│ ├── ubuntu_python.md
│ ├── virtualenv.md
│ ├── vscode_extensions.md
│ ├── win_docker.md
│ ├── win_jupyter.md
│ └── win_vs_redistributable.md
├── gcp_cli_setup.md
├── gcp_setup.md
├── gcp_setup_end.md
├── gcp_setup_linux.md
├── gcp_setup_mid.md
├── gcp_setup_wsl.md
├── homebrew.md
├── intro.md
├── kata.md
├── keep_current.md
├── kitt.md
├── nbextensions.md
├── osx_python.md
├── osx_silicon.md
├── pip.md
├── python_checkup.md
├── ubuntu_docker.md
├── ubuntu_gcloud.md
├── ubuntu_python.md
├── virtualenv.md
├── vscode_extensions.md
├── win_docker.md
├── win_jupyter.md
└── win_vs_redistributable.md
├── _sublime_text.md
├── build.rb
├── checks
├── pip_check.py
├── pip_check.sh
└── python_checker.sh
├── confs.rb
├── git-prompt.sh
├── images
├── apple.png
├── docker.png
├── docker_hello.png
├── docker_info.png
├── gcp-billing.png
├── gcp-create-project.png
├── gcp_create_key.png
├── gcp_project.png
├── jupyter.png
├── jupyter_nbextensions.png
├── jupyter_new.png
├── jupyter_notebook.png
├── linux.png
├── macos_open_terminal.png
├── nbextensions.png
├── vm.png
├── windows.png
├── wsl-gcp-dir-2.png
├── wsl-gcp-dir.png
├── wsl-gcp-key.png
└── wsl_jupyter_notebook.png
├── macOS.es.md
├── macOS.md
├── macOS_keep_current.es.md
├── macOS_keep_current.md
├── pyproject.toml
├── specs
├── jupyter
│ └── custom.css
└── releases
│ ├── README.md
│ ├── apple_intel.txt
│ ├── apple_silicon.txt
│ ├── certification.txt
│ ├── glovebox.txt
│ ├── linux.txt
│ ├── past
│ ├── 2022_Q1
│ │ ├── README.md
│ │ ├── apple_intel.txt
│ │ ├── apple_silicon.txt
│ │ ├── glovebox.txt
│ │ ├── linux.txt
│ │ ├── pyproject_install_dates.txt
│ │ └── python_version.txt
│ ├── 2022_Q2
│ │ ├── README.md
│ │ ├── apple_intel.txt
│ │ ├── apple_silicon.txt
│ │ ├── glovebox.txt
│ │ ├── linux.txt
│ │ ├── pyproject_install_dates.txt
│ │ └── python_version.txt
│ └── 2022_Q4
│ │ ├── README.md
│ │ ├── apple_intel.txt
│ │ ├── apple_silicon.txt
│ │ ├── glovebox.txt
│ │ ├── linux.txt
│ │ ├── pyproject_install_dates.txt
│ │ └── python_version.txt
│ ├── pyproject_install_dates.txt
│ └── python_version.txt
└── unused-images.sh
/.bash_profile:
--------------------------------------------------------------------------------
1 | alias tree='cmd //c tree //a'
2 |
3 | # Set up ssh-agent
4 | SSH_ENV="$HOME/.ssh/environment"
5 |
6 | function start_agent {
7 | echo "Initializing new SSH agent..."
8 | touch $SSH_ENV
9 | chmod 600 "${SSH_ENV}"
10 | /usr/bin/ssh-agent | sed 's/^echo/#echo/' >> "${SSH_ENV}"
11 | . "${SSH_ENV}" > /dev/null
12 | /usr/bin/ssh-add
13 | }
14 |
15 | # Source SSH settings, if applicable
16 | if [ -f "${SSH_ENV}" ]; then
17 | . "${SSH_ENV}" > /dev/null
18 | kill -0 $SSH_AGENT_PID 2>/dev/null || {
19 | start_agent
20 | }
21 | else
22 | start_agent
23 | fi
24 |
25 | # Activate `lewagon` virtualenv by default:
26 | source ~/.venvs/lewagon/Scripts/activate
27 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build setup guides
2 | on:
3 | push:
4 | jobs:
5 | build:
6 | runs-on: ubuntu-latest
7 | steps:
8 | - uses: actions/checkout@v2
9 | - name: Build
10 | run: |
11 | git config user.name github-actions
12 | git config user.email github-actions@github.com
13 | ruby build.rb
14 | if ! git diff --exit-code
15 | then
16 | git add .
17 | git commit -m "setup guides generated"
18 | git push
19 | fi
20 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .ipynb_ckeckpoints
3 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | 3.1.2
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | © 2023 La Loco SAS, head of Le Wagon Group - All rights reserved
2 |
--------------------------------------------------------------------------------
/README.es.md:
--------------------------------------------------------------------------------
1 | ## Configuración del Bootcamp de Data Science
2 |
3 | Por favor escoge tu sistema operativo:
4 |
5 |
24 |
25 | ## Mantén tu configuración al día después del bootcamp
26 |
27 | Por favor escoge tu sistema operativo:
28 |
29 |
48 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## ¿En Español?
2 |
3 | Haz clic en este link para acceder a la versión en español del setup.
4 |
5 | ## In English
6 |
7 | ### Data Science Bootcamp Setup
8 |
9 | Please choose your operating system (OS):
10 |
11 |
35 |
36 | ### Keep your setup current after the bootcamp
37 |
38 | Please choose your operating system (OS):
39 |
40 |
59 |
--------------------------------------------------------------------------------
/_partials/chrome.md:
--------------------------------------------------------------------------------
1 | ## Chrome - your browser
2 |
3 | Install the Google Chrome browser if you haven't got it already and set it as a __default browser__.
4 |
5 | Follow the steps for your system from this link :point_right: [Install Google Chrome](https://support.google.com/chrome/answer/95346?co=GENIE.Platform%3DDesktop&hl=en-GB)
6 |
7 | __Why Chrome?__
8 |
9 | We recommend to use it as your default browser as it's most compatible with testing or running your code, as well as working with Google Cloud Platform. Another alternative is Firefox, however we don't recommend using other tools like Opera, Internet Explorer or Safari.
10 |
--------------------------------------------------------------------------------
/_partials/conda_uninstall.md:
--------------------------------------------------------------------------------
1 | ## Installing Python (with [`pyenv`](https://github.com/pyenv/pyenv))
2 |
3 | ### Uninstall `conda`
4 |
5 | As we are using `pyenv` to install and manage our Python version, we need to uninstall [`conda`](https://docs.conda.io/projects/conda/en/latest/), another package manager you may have on your machine if you previously installed [Anaconda](https://www.anaconda.com/). Thus, we are preventing any possible Python version issue later.
6 |
7 | Check if you have `conda` installed on your machine:
8 |
9 | ```bash
10 | conda list
11 | ```
12 | $MAC_START
13 | If you have `zsh: command not found: conda`, you can **skip** the uninstall of `conda` and jump to the **Install pre-requisites** section.
14 | $MAC_END
15 | $LINUX_START
16 | If you have `zsh: command not found: conda`, you can **skip** the uninstall of `conda` and jump to the **Install `pyenv`** section.
17 | $LINUX_END
18 | $WINDOWS_START
19 | If you have `zsh: command not found: conda`, you can **skip** the uninstall of `conda` and jump to the **Install `pyenv`** section.
20 | $WINDOWS_END
21 |
22 |
23 | conda
uninstall instructions
24 |
25 | - Install the Anaconda-Clean package from your terminal and run the cleaning
26 | ```bash
27 | conda install anaconda-clean
28 | anaconda-clean --yes
29 | ```
30 | - Remove every Anaconda directories
31 | ```bash
32 | rm -rf ~/anaconda2
33 | rm -rf ~/anaconda3
34 | rm -rf ~/.anaconda_backup
35 | $MAC_START
36 | rm -rf ~/opt
37 | $MAC_END
38 | ```
39 | - Remove Anaconda path from your `.bash_profile`
40 | - Open the file with `code ~/.bash_profile`
41 | - If the file opens find the line matching the following pattern `export PATH="/path/to/anaconda3/bin:$PATH"` and delete the line
42 | $MAC_START
43 | - Save the file with `CMD` + `s`
44 | $MAC_END
45 | $LINUX_START
46 | - Save the file with `CTRL` + `s`
47 | $LINUX_END
48 | - Restart your terminal with `exec zsh`
49 | - Remove Anaconda initialization from your `.zshrc`:
50 | - Open the file with `code ~/.zshrc`
51 | - Remove the code lines starting from `>>> conda initialize >>>` to `<<< conda initialize <<<`
52 |
53 |
--------------------------------------------------------------------------------
/_partials/dbeaver.md:
--------------------------------------------------------------------------------
1 |
2 | ## DBeaver
3 |
4 | Download and install [DBeaver](https://dbeaver.io/), a free and open source powerful tool to connect to any database, explore the schema and even **run SQL queries**.
5 |
--------------------------------------------------------------------------------
/_partials/direnv.md:
--------------------------------------------------------------------------------
1 | ## direnv
2 |
3 | [direnv](https://direnv.net/) is a shell extension. It makes it easy to deal with per project environment variables. This will be useful in order to customize the behavior of your code.
4 |
5 | $MAC_START
6 | ``` bash
7 | brew install direnv
8 | echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
9 | ```
10 | $MAC_END
11 | $WINDOWS_START
12 | ``` bash
13 | sudo apt-get update; sudo apt-get install direnv
14 | echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
15 | ```
16 | $WINDOWS_END
17 | $LINUX_START
18 | ``` bash
19 | sudo apt-get update; sudo apt-get install direnv
20 | echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
21 | ```
22 | $LINUX_END
23 |
--------------------------------------------------------------------------------
/_partials/docker.md:
--------------------------------------------------------------------------------
1 | ## Docker 🐋
2 |
3 | Docker is an open platform for developing, shipping, and running applications.
4 |
5 | _if you already have Docker installed on your machine please update with the latest version_
6 |
7 | ### Install Docker
8 |
9 | Go to [Docker](https://docs.docker.com/get-docker/) website and choose your operating system:
10 |
11 | 
12 |
13 | Then follow the setup instructions, you are going to install a desktop application.
14 |
15 | Once done and launched, check Docker is up and running:
16 |
17 | ```bash
18 | docker info
19 | ```
20 |
21 | You should get:
22 |
23 | 
24 |
--------------------------------------------------------------------------------
/_partials/dotfiles.md:
--------------------------------------------------------------------------------
1 | ## Dotfiles
2 |
3 | Hackers love to refine and polish their shell and tools. We'll start with a great default configuration provided by [Le Wagon](http://github.com/lewagon/dotfiles), stored on GitHub.
4 |
5 | ### Check your GitHub CLI configuration
6 |
7 | First, let's do a quick check. Open your terminal and run the following command:
8 |
9 | ```bash
10 | export GITHUB_USERNAME=`gh api user | jq -r '.login'`
11 | echo $GITHUB_USERNAME
12 | ```
13 |
14 | You should see your GitHub username printed. If it's not the case, **stop here** and ask for help.
15 | There seems to be a problem with the previous step (`gh auth`).
16 |
17 | ### Fork and/or clone dotfiles
18 |
19 | There are three options, choose **one**:
20 |
--------------------------------------------------------------------------------
/_partials/dotfiles_installer.md:
--------------------------------------------------------------------------------
1 | ### Run the dotfiles installer
2 |
3 | It's time to run the `dotfiles` installer:
4 |
5 | ```bash
6 | cd ~/code/$GITHUB_USERNAME/dotfiles && zsh install.sh
7 | ```
8 |
9 | Check the emails registered with your GitHub Account. You'll need to pick one at the next step:
10 |
11 | ```bash
12 | gh api user/emails | jq -r '.[].email'
13 | ```
14 |
15 | Run the git installer:
16 |
17 | ```bash
18 | cd ~/code/$GITHUB_USERNAME/dotfiles && zsh git_setup.sh
19 | ```
20 |
21 | :point_up: This will **prompt** you for your name (`FirstName LastName`) and your email.
22 | :warning: You **need** to put one of the emails listed above thanks to the previous `gh api ...` command. If you don't do that, Kitt won't be able to track your progress. 💡 Select the `@users.noreply.github.com` address if you don't want your email to appear in public repositories you may contribute to.
23 |
24 | Please now **quit** all your opened terminal windows.
25 |
26 |
--------------------------------------------------------------------------------
/_partials/dotfiles_merge_upstream.md:
--------------------------------------------------------------------------------
1 | Open your terminal and go to your `dotfiles` project:
2 |
3 | ```bash
4 | cd ~/code/$GITHUB_USERNAME/dotfiles
5 | ```
6 |
7 | Time to merge the changes from `lewagon/dotfiles` into yours:
8 | 1. Commit your current version of your dotfiles:
9 | ```bash
10 | git add .
11 | git status # Check what will be committed
12 | git commit -m "Version prior to new setup"
13 | ```
14 |
15 | 1. Let's bring in the changes from upstream: `git merge upstream/master`
16 |
17 | 1. Check that you're not in `MERGING` state. If you are, resolve any conflicts.
18 |
19 | 1. Do a `git diff HEAD~1 HEAD` to check what changed.
20 |
21 | 1. If nothing seems out of the ordinary, continue
22 |
23 |
24 | Too many conflicts?
25 |
26 |
27 | Let's just take over the current version from `lewagon/dotfiles`.
28 |
29 | First abort the merge: `git merge --abort`.
30 |
31 | Run ` .`
32 |
33 | In , open the `zshrc` file. Replace its content with the [newest version](https://raw.githubusercontent.com/lewagon/dotfiles/master/zshrc). Save to disk.
34 |
35 | Still in , open the `zprofile` file. Replace its content with the [newest version](https://raw.githubusercontent.com/lewagon/dotfiles/master/zprofile). Save to disk.
36 |
37 | Back in the terminal, run a `git diff` and check if this didn't remove any personal configuration setting that you wanted to keep.
38 |
39 |
40 |
41 | Time to commit your changes and push them.
42 |
43 | ```bash
44 | git add .
45 | git commit -m "Update for Data Science bootcamp"
46 | git push origin master
47 | ```
48 |
49 |
50 |
--------------------------------------------------------------------------------
/_partials/dotfiles_new_laptop.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | I already attended a Le Wagon coding bootcamp (Web Development or Data Science & AI) but I have a new laptop
4 |
5 |
6 | This means that you already forked the GitHub repo `lewagon/dotfiles`, but at that time the configuration was maybe not ready for the current Data Science & AI bootcamp. Let's update it. **Ask a TA to join you for the nex steps.**
7 |
8 | First, clone your fork on this machine:
9 |
10 | ```bash
11 | mkdir -p ~/code/$GITHUB_USERNAME && cd $_
12 | gh repo clone $GITHUB_USERNAME/dotfiles
13 | ```
14 |
--------------------------------------------------------------------------------
/_partials/dotfiles_new_student.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | I did not attend the Web Dev or Data Science & AI bootcamp at Le Wagon
4 |
5 |
6 | As your configuration is personal, you need your own repository storing it, so you'll need to fork it to your GitHub account.
7 |
8 | Forking means that it will create a new repo in your GitHub account, identical to the original one. You'll have a new repository on your GitHub account, `your_github_username/dotfiles`. We need to fork because each of you will need to put specific information (e.g. your name) in those
9 | files.
10 |
11 | Lets' run this command to fork the repo, and clone it on your laptop:
12 |
13 | ```bash
14 | mkdir -p ~/code/$GITHUB_USERNAME && cd $_
15 | gh repo fork lewagon/dotfiles --clone
16 | ```
17 |
18 |
19 |
--------------------------------------------------------------------------------
/_partials/dotfiles_same_laptop.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | I already did the setup of a Le Wagon coding bootcamp (WebDev or Data Science & AI) on the same laptop before
4 |
5 |
6 | This means that you already forked and cloned the GitHub repo `lewagon/dotfiles`, but at that time the configuration was maybe not ready for the current Data Science & AI bootcamp. Let's update it. **Ask a TA to join you for the nex steps.**
7 |
--------------------------------------------------------------------------------
/_partials/es/chrome.md:
--------------------------------------------------------------------------------
1 | ## Chrome - tu navegador
2 |
3 | Instala el navegador Google Chrome si no lo tienes todavía y configúralo como tu __navegador predeterminado__.
4 |
5 | Sigue los pasos en el siguiente enlace :point_right: [Instalación de Google Chrome](https://support.google.com/chrome/answer/95346?co=GENIE.Platform%3DDesktop&hl=en-GB)
6 |
7 | __¿Por qué Chrome?__
8 |
9 | Lo recomendamos como navegador predeterminado porque es el más compatible con los tests y la ejecución de código. Además trabaja con Google Cloud Platform. Otra opción es Firefox. No recomendamos usar otros navegadores como Opera, Internet Explorer o Safari.
10 |
--------------------------------------------------------------------------------
/_partials/es/conda_uninstall.md:
--------------------------------------------------------------------------------
1 | ## Instalando Python (con [`pyenv`](https://github.com/pyenv/pyenv))
2 |
3 | ### Desinstalar `conda`
4 |
5 | Como estamos utilizando `pyenv` para instalar y gestionar la versión de Python, necesitamos desinstalar [`conda`](https://docs.conda.io/projects/conda/en/latest/), otro gestor de paquetes que podrías tener en tu computadora si previamente instalaste [Anaconda](https://www.anaconda.com/). De esta forma, evitaremos problemas con Python más adelante.
6 |
7 | Chequea si tienes `conda` instalado en tu computadora:
8 |
9 | ```bash
10 | conda list
11 | ```
12 | $MAC_START
13 | Si aparece `zsh: command not found: conda`, puedes **saltear** la desinstalación de `conda` e ir directo a la sección de **Instalar pre-requisitos**.
14 | $MAC_END
15 | $LINUX_START
16 | Si aparece `zsh: command not found: conda`, puedes **saltear** la desinstalación de `conda` e ir directo a la sección de **Instalar pre-requisitos**.
17 | $LINUX_END
18 | $WINDOWS_START
19 | Si aparece `zsh: command not found: conda`, puedes **saltear** la desinstalación de `conda` e ir directo a la sección de **Instalar pre-requisitos**.
20 | $WINDOWS_END
21 |
22 |
23 | Instrucciones de desinstalación conda
24 |
25 | - Instala el paquete Anaconda-Clean desde tu terminal y comienza la limpieza
26 | ```bash
27 | conda install anaconda-clean
28 | anaconda-clean --yes
29 | ```
30 | - Remueve todos los directorios de Anaconda
31 | ```bash
32 | rm -rf ~/anaconda2
33 | rm -rf ~/anaconda3
34 | rm -rf ~/.anaconda_backup
35 | $MAC_START
36 | rm -rf ~/opt
37 | $MAC_END
38 | ```
39 | - Elimina el directorio Anaconda de tu `.bash_profile`
40 | - Abre el archivo con `code ~/.bash_profile`
41 | - Si el archivo abre, busca la línea que coincida con el siguiente patrón `export PATH="/path/to/anaconda3/bin:$PATH"` y eliminala
42 | $MAC_START
43 | - Guarda el archivo con `CMD` + `s`
44 | $MAC_END
45 | $LINUX_START
46 | - Guarda el archivo con `CTRL` + `s`
47 | $LINUX_END
48 | - Reinicia la terminal con `exec zsh`
49 | - Remueve la inicializaciópn de Anaconda de tu `.zshrc`:
50 | - Abre el archivo con `code ~/.zshrc`
51 | - Remueve las líneas de código desde `>>> conda initialize >>>` hasta `<<< conda initialize <<<`
52 |
53 |
--------------------------------------------------------------------------------
/_partials/es/dbeaver.md:
--------------------------------------------------------------------------------
1 |
2 | ## DBeaver
3 |
4 | DDescarga e instala [DBeaver](https://dbeaver.io/), una herramienta poderosa, gratuita y de código abierto para conectar con cualquier base de datos, explorar su esquema e incluso **hacer consultas SQL**.
5 |
--------------------------------------------------------------------------------
/_partials/es/direnv.md:
--------------------------------------------------------------------------------
1 | ## direnv
2 |
3 | [direnv](https://direnv.net/) es una extensión del shell. Facilita trabajar con variables de entorno por proyecto, lo cual será útil para customizar el comportamiento de tu código.
4 |
5 | $MAC_START
6 | ``` bash
7 | brew install direnv
8 | echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
9 | ```
10 | $MAC_END
11 | $WINDOWS_START
12 | ``` bash
13 | sudo apt-get update; sudo apt-get install direnv
14 | echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
15 | ```
16 | $WINDOWS_END
17 | $LINUX_START
18 | ``` bash
19 | sudo apt-get update; sudo apt-get install direnv
20 | echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
21 | ```
22 | $LINUX_END
23 |
--------------------------------------------------------------------------------
/_partials/es/docker.md:
--------------------------------------------------------------------------------
1 | ## Docker 🐋
2 |
3 | Docker es una plataforma abierta para el desarrollo, entrega y ejecución de aplicaciones.
4 |
5 | _Si ya tienes Docker instalado en tu máquina, por favor actualízalo con la versión más reciente_
6 |
7 | ### Instalación de Docker
8 |
9 | Ve a la página web de [Docker](https://docs.docker.com/get-docker/) y selecciona tu sistema operativo:
10 |
11 | 
12 |
13 | Luego sigue las instrucciones de configuración. Vas a instalar una aplicación de escritorio.
14 |
15 | Cuando termines con eso, inicia Docker y verifica que funcione correctamente:
16 |
17 | ```bash
18 | docker info
19 | ```
20 |
21 | Deberías obtener lo siguiente:
22 |
23 | 
24 |
--------------------------------------------------------------------------------
/_partials/es/dotfiles.md:
--------------------------------------------------------------------------------
1 | ## Dotfiles
2 |
3 | Los hackers aman mejorar sus shells y sus herramientas. Comenzaremos con una configuración por defecto genial proporcionada por [Le Wagon](http://github.com/lewagon/dotfiles) y almacenada en GitHub.
4 |
5 | ### Verifica tu configuración de GitHub CLI
6 |
7 | Primero, hagamos una verificación rápida. Abre tu terminal y ejecuta el comando siguiente:
8 |
9 | ```bash
10 | export GITHUB_USERNAME=`gh api user | jq -r '.login'`
11 | echo $GITHUB_USERNAME
12 | ```
13 |
14 | Deberías ver tu usuario GitHub. Si no es así, **no hagas más nada** y pide ayuda.
15 | Parece que hay un problema con el paso anterior (`gh auth`).
16 |
17 |
18 | ### Fork y/o clone los archivos de configuración
19 |
20 | Hay tres opciones, escoge **una**:
21 |
--------------------------------------------------------------------------------
/_partials/es/dotfiles_installer.md:
--------------------------------------------------------------------------------
1 | ### Ejecuta el instalador de dotfiles
2 |
3 | Ejecuta el instalador de `dotfiles`.
4 |
5 | ```bash
6 | cd ~/code/$GITHUB_USERNAME/dotfiles && zsh install.sh
7 | ```
8 |
9 | Verifica los emails registrados en tu cuenta GitHub. Deberás seleccionar uno de ellos en el próximo paso:
10 |
11 | ```bash
12 | gh api user/emails | jq -r '.[].email'
13 | ```
14 |
15 | Ejecuta el instalador de git:
16 |
17 | ```bash
18 | cd ~/code/$GITHUB_USERNAME/dotfiles && zsh git_setup.sh
19 | ```
20 |
21 | :point_up: Esto te **guiará** con tu nombre (`FirstName LastName`) y con tu email.
22 | :warning: Cuidado, **debes** poner uno de los emails de la lista de arriba que te suministra el comando `gh api ...` usado anteriormente. Si haces eso, Kitt no podrá hacerle seguimiento a tu progreso. Cualquier correo que elijas se mostrará **públicamente** en internet. 💡 Selecciona la dirección `@users.noreply.github.com` si no quieres que tu correo electrónico aparezca en los repositorios públicos a los que puedas contribuir.
23 |
24 | Ahora **cierra** todas las ventanas de tu terminal que tengas abiertas por favor.
25 |
--------------------------------------------------------------------------------
/_partials/es/dotfiles_merge_upstream.md:
--------------------------------------------------------------------------------
1 | Abre tu terminal y ve a tu proyecto `dotfiles`:
2 |
3 | ```bash
4 | cd ~/code/$GITHUB_USERNAME$/dotfiles
5 | ```
6 |
7 | Es hora de fusionar los cambios de lewagon/dotfiles en los tuyos:
8 |
9 | 1. Commit la versión actual de tus dotfiles:
10 | ```bash
11 | git add .
12 | git status # Check what will be committed
13 | git commit -m "Version prior to new setup"
14 | ```
15 |
16 | 1. Trae los cambios del repositorio upstream: `git merge upstream/master`
17 |
18 | 1. Verifica que no estés en estado MERGING. Si lo estás, resuelve los conflictos.
19 |
20 | 1. Haz un `git diff HEAD~1 HEAD` para revisar qué cambió.
21 |
22 | 1. Si todo parece estar en orden, continúa.
23 |
24 |
25 | ¿Demasiados conflictos?
26 |
27 |
28 | Vamos a tomar la versión actual de `lewagon/dotfiles`.
29 |
30 | Primero aborta la merge: `git merge --abort`.
31 |
32 | Ejecuta ` .`
33 |
34 | En , abre el archivo zshrc. Reemplaza su contenido con la [versión más reciente](https://raw.githubusercontent.com/lewagon/dotfiles/master/zshrc). Luego guárdalo en el disco.
35 |
36 | Aún en , abre el archivo `zprofile`. Reemplaza su contenido con la [versión más reciente](https://raw.githubusercontent.com/lewagon/dotfiles/master/zprofile). Luego guárdalo en el disco.
37 |
38 | Regresa a la terminal y ejecuta un `git diff` y verifica que esto no haya eliminado ninguna configuración personal que quisieras conservar.
39 |
40 |
41 |
42 | Es hora de guardar tus cambios y subirlos.
43 |
44 | ```bash
45 | git add .
46 | git commit -m "Update for Data Science bootcamp"
47 | git push origin master
48 | ```
49 |
50 |
51 |
--------------------------------------------------------------------------------
/_partials/es/dotfiles_new_laptop.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | Ya hice el bootcamp de Web Development o Data Science & AI de Le Wagon pero tengo una nueva laptop
4 |
5 |
6 | Esto significa que ya has hecho el fork del repositorio GitHub lewagon/dotfiles pero tal vez la configuración para el nuevo bootcamp de Data Science & AI no estaba lista en ese momento.Actualicémoslo. **Pide a un TA que te acompañe en los siguientes pasos.**
7 |
8 | Es hora de clonarlo el repositorio en tu laptop:
9 |
10 | ```bash
11 | mkdir -p ~/code/$GITHUB_USERNAME && cd $_
12 | gh repo clone lewagon/dotfiles
13 | ```
14 |
--------------------------------------------------------------------------------
/_partials/es/dotfiles_new_student.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | No he hecho el bootcamp de Web Development o Data Science & AI de Le Wagon
4 |
5 |
6 | Tu configuración es personal, así que necesitas tu propio repositorio para almacenarla. Primero tienes que hacer el fork del repositorio en tu cuenta GitHub.
7 |
8 | Hacer un fork significa que crearás un nuevo repositorio en tu cuenta GitHub idéntico al original. Tendrás un nuevo repositorio en tu cuenta GitHub, `your_github_username/dotfiles`. El fork es necesario porque cada uno de ustedes necesitará poner información específica (e.g. tu nombre) en esos archivos.
9 |
10 | Ejecutemos este comando para hacer un **fork** del repositorio `lewagon/dotfiles` y clonarlo:
11 |
12 |
13 | ```bash
14 | mkdir -p ~/code/$GITHUB_USERNAME && cd $_
15 | gh repo fork lewagon/dotfiles --clone
16 | ```
17 |
18 |
19 |
--------------------------------------------------------------------------------
/_partials/es/dotfiles_same_laptop.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | Ya hice el bootcamp de Web Development o Data Science & AI de Le Wagon en la misma laptop
4 |
5 |
6 | Esto significa que ya has hecho el fork del repositorio GitHub lewagon/dotfiles pero tal vez la configuración para el nuevo bootcamp de Data Science & AI no estaba lista en ese momento. Actualicémoslo. **Pide a un TA que te acompañe en los siguientes pasos.**
7 |
--------------------------------------------------------------------------------
/_partials/es/gcp_cli_setup.md:
--------------------------------------------------------------------------------
1 |
2 | ## CLI de `gcloud`
3 |
4 | Antes de configurar nuestra cuenta Google Cloud Platform vamos a configurar el CLI de `gcloud` (una interfaz de línea de comando para Google Cloud Platform). Ejecuta el siguiente código y sigue las indicaciones de la terminal para actualizar tu $PATH y habilitar la finalización del comando del shell para el archivo `.zshrc`:
5 |
6 | ```bash
7 | brew install --cask google-cloud-sdk
8 | ```
9 |
10 | Luego podrás ejecutar lo siguiente:
11 |
12 | ```bash
13 | $(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/install.sh
14 | ```
15 |
--------------------------------------------------------------------------------
/_partials/es/gcp_setup.md:
--------------------------------------------------------------------------------
1 | ## Configuración de Google Cloud Platform
2 |
3 | [GCP](https://cloud.google.com/) es una solución en la nube que usarás para colocar tus productos basados en Machine Learning en producción.
4 |
5 | 🚨 Si estás en el grupo de estudiantes del **Bootcamp de Medio Tiempo**, ¡IGNORA ESTA SECCIÓN POR AHORA! **GCP** ofrece $300 en créditos durante 3 meses, así que no es buena idea activar tu cuenta GCP demasiado pronto 🙅♂️
6 |
7 | ### Preparación del Proyecto
8 |
9 | - Ve a [Google Cloud](https://console.cloud.google.com/) y crea una cuenta si aún no tienes una
10 | - En la consola de Cloud, en la lista de proyectos, selecciona o crea un proyecto Cloud
11 |
12 | 
13 |
14 | - Asígnale un nombre como `Wagon Bootcamp` por ejemplo
15 | - Verás que se creará un `ID` automáticamente para el proyecto e. g. `wagon-bootcamp-123456`
16 |
17 | 
18 |
19 | ### Idioma de la cuenta
20 |
21 | Abre las preferencias en tu cuenta GCP para facilitar el seguimiento de las instrucciones durante el bootcamp:
22 |
23 | https://myaccount.google.com/language
24 |
25 | Si el *idioma de preferencia* no es:
26 | - **English**
27 | - **United States**
28 |
29 | Cámbialo a inglés:
30 | - Haz clic en el logo edición (es una lapicera)
31 | - Selecciona **English**
32 | - Selecciona **United States**
33 | - Haz clic en **Select**
34 |
35 | ### Cuenta de facturación
36 |
37 | Ahora conecta tu cuenta con tu tarjeta de crédito. Este paso es obligatorio para poder usar los servicios que suministra GCP. No te preocupes, podrás utilizar la mayoría de los servicios de GCP por medio de créditos gratuitos durante el bootcamp.
38 |
39 | 
40 |
41 | - Haz clic en **Billing**
42 | - Haz clic en **MANAGE BILLING ACCOUNTS**
43 | - Haz clic en **ADD BILLING ACCOUNT**
44 | - Asígnale un nombre a tu cuenta de facturación, e. g. `My Billing Account`
45 | - Haz clic en "I have read..." y acepta los términos de uso
46 | - Haz clic en **CONTINUE**
47 | - Selecciona tu tipo de cuenta: `Individual`
48 | - Agrega tu nombre y dirección
49 |
50 | Verás que tienes créditos gratuitos con un valor de "$300 a utilizar en los próximos 90 días".
51 |
52 | - Haz clic en los detalles de la tarjeta
53 | - Agrega la información de tu tarjeta de crédito
54 | - Haz clic en **START MY FREE TRIAL**. Esto significa comenzar mi período de prueba.
55 |
56 | Cuando termines, verifica que la cuenta de facturación esté conectada con tu proyecto GCP.
57 |
58 | - Selecciona tu proyecto
59 | - Ve a **Billing**
60 | - Selecciona **LINK A BILLING ACCOUNT**
61 | - Selecciona `My Billing Account`
62 | - Haz clic en **SET ACCOUNT**
63 |
64 | Ahora deberías ver lo siguiente:
65 |
66 | ```
67 | Free trial status: $300 credit and 91 days remaining - with a full account, you'll get unlimited access to all of Google Cloud Platform.
68 | ```
69 |
70 | Esto significa Estado de período de prueba: crédito de $300 y 91 días para usarlo - con la full account, tendrás acceso ilimitado a todo lo que ofrece Google Cloud Platform.
71 |
72 |
73 | 👉 Si no tienes una tarjeta de crédito 👈
74 |
75 |
76 | Si no tienes una tarjeta de crédito, puedes abrir una cuenta en **Revolut**.
77 | Revolut es una aplicación que funciona como un banco y que te permitirá crear una tarjeta de crédito virtual conectada a la dirección de facturación de tu smartphone.
78 |
79 | Ignora este paso si ya tienes una tarjeta de crédito. Simplemente úsala para hacer la configuración.
80 |
81 | Descarga la app Revolut o ve a [revolut](https://www.revolut.com/a-radically-better-account) y sigue los pasos para descargar la app (introduce tu número de teléfono móvil y haz clic en Get Started).
82 |
83 | - Abre la app Revolut
84 | - Agrega tu número de teléfono móvil
85 | - Agrega el código de verificación que recibiste por SMS
86 | - La app te preguntará por tu país, dirección, primer y segundo nombre, fecha de nacimiento y el email
87 | - La app también te pedirá tu profesión y una selfie
88 | - La app te pedirá una foto de tu documento nacional de identidad o pasaporte
89 |
90 | Cuando termines, selecciona el plan estándar (gratuito). No tienes que agregar la tarjeta a Apple pay, pedir que te envíen una tarjeta a tu domicilio ni tampoco agregar dinero a la cuenta.
91 |
92 | Ahora tienes una tarjeta virtual que podrás usar para hacer la configuración de GCP.
93 |
94 | En la vista principal de la app Revolut
95 | - Haz clic en Ready to use
96 | - Haz clic en the card
97 | - Haz clic en Show card details
98 | - Toma nota de la información de la tarjeta de crédito virtual y úsala para completar la configuración de GCP
99 |
100 |
101 |
102 |
103 | 👉 Si recibes un email de Google diciendo "Urgent: your billing account XXXXXX-XXXXXX-XXXXXX has been suspended" 👈
104 |
105 |
106 | Esto puede pasar justo después de haber creado la cuenta en Revolut.
107 |
108 | - Haz clic en PROCEED TO VERIFICATION
109 | - Te pedirán que envíes una foto de tu tarjeta de crédito (solo los últimos 4 dígitos, nada más)
110 | - Si ya has usado **Revolut**, puedes enviar una captura de pantalla de tu tarjeta de crédito virtual (no olvides quitar la fecha de vencimiento de la captura)
111 | - Explica que estás haciendo el bootcamp de Le Wagon, que no tienes una tarjeta de crédito y que acabas de crear una cuenta en Revolut para poder configurar GCP para el bootcamp con una tarjeta de crédito virtual
112 |
113 | Es posible que te validen la cuenta pero también es posible que te pidan más información en los próximos 30 minutos.
114 |
115 | Cuando la cuenta sea validada recibirás un email diciendo lo siguiente: "Your Google Cloud Platform billing account XXXXXX-XXXXXX-XXXXXX has been fully reinstated and is ready to use.". Esto significa que tu cuenta Google Cloud Platform ha sido restablecida
116 |
117 |
118 |
119 | ### Habilitación de servicios de GCP
120 |
121 | - Asegúrate de que la facturación está habilitada para tu proyecto Google Cloud
122 |
123 | ℹ️ Tienes un **crédito de $300** para usar con recursos de Google Cloud. Esto será más que suficiente para el bootcamp.
124 |
125 | - [Habilita las APIs BigQuery y Compute Engine](https://console.cloud.google.com/flows/enableapi?apiid=bigquery,compute) (Esto puede tomar varios minutos)
126 |
127 | ### Configuración de Cloud sdk
128 |
129 | - Autentica el CLI de `gcloud` con la cuenta que usaste para GCP
130 | ```bash
131 | gcloud auth login
132 | ```
133 | - Inicia sesión en tu cuenta Google en la nueva pestaña que se abrió en tu navegador
134 | - Lista la cuenta que tienes activa y verifica que el email que usaste para GCP está ahí
135 | ```bash
136 | gcloud auth list
137 | ```
138 | - Define tu proyecto actual (reemplaza `PROJECT_ID` con el `ID` de tu proyecto e.g. `wagon-bootcamp-123456`)
139 | ```bash
140 | gcloud config set project PROJECT_ID
141 | ```
142 | - Lista la cuenta que tienes activa y tu proyecto actual y verifica que tu proyecto está ahí
143 | ```bash
144 | gcloud config list
145 | ```
146 |
147 | ### Crea una llave 🔑 de cuenta de servicio
148 |
149 | Como ya creaste una cuenta `GCP account` y un `project` (identificado por su `PROJECT_ID`), vamos a configurar las acciones (llamadas API calls) que quieres que tu código ejecute.
150 |
151 |
152 | 🤔 ¿Por qué necesitamos una clave de cuenta de servicio?
153 |
154 |
155 | Creaste una `cuenta GCP` conectada a una tarjeta de crédito. Te facturarán de acuerdo al uso que les des a los recursos de **Google Cloud Platform**. El cargo se hará si utilizas algo después de que el período de prueba gratuito se haya terminado o si te excedes del límite de consumo que te permite dicho período.
156 |
157 | En tu `cuenta GCP` has creado un solo `proyecto GCP` identificado por su `PROJECT_ID`. Los `proyectos GCP` te permiten organizar y monitorear la manera en que consumes los recursos **GCP** de forma más precisa. En este bootcamp solo crearemos un solo proyecto.
158 |
159 | Ahora necesitamos una manera de saber qué recursos nuestro código podrá consumir dentro de un `GCP project`. Nuestro código consume recursos GCP por medio de llamadas API.
160 |
161 | Ya que las llamadas API no son gratuitas, es importante definir cuidadosamente cómo nuestro código las utilizará. Sin embargo, durante el bootcamp no habrá restricciones. Le permitiremos a nuestro código que utilice todas las API **GCP** sin restricciones.
162 |
163 | Así como pueden haber varios proyectos asociados a una cuenta GCP, un proyecto puede estar compuesto de muchos servicios (cualquier paquete de código, sin importar su formato, que necesite utilizar llamadas a la API de GCP para cumplir con su propósito).
164 |
165 | GCP exige que los servicios de los proyectos que usen llamadas API se registren en la plataforma y que se configuren sus credenciales por medio del acceso concedido a una `service account`.
166 |
167 | Por ahora solo tendremos que usar un solo servicio y crearemos la `service account` correspondiente.
168 |
169 |
170 | Ya que la [service account](https://cloud.google.com/iam/docs/service-accounts) es lo que identifica tu aplicación (y por ende tu cuenta de facturación GCP y, en última instancia, tu tarjeta de crédito), lo mejor es ser cuidadoso en los próximos pasos.
171 |
172 | ⚠️ **No compartas la 🔑 del archivo json de tu cuenta de servicio** ⚠️ No la guardes en tu escritorio ni en tu código base de git (incluso si tu repositorio git es privado). Que no se te olvide en un lugar como la máquina de café y, por supuesto, no la envíes en un tweet.
173 |
174 | - Ve a la [página de las cuentas de servicio](https://console.cloud.google.com/apis/credentials/serviceaccountkey)
175 | - Selecciona tu proyecto en la lista de proyectos recientes si te piden que
176 | - Crees una cuenta de servicio:
177 | - Haz clic en **CREATE SERVICE ACCOUNT** que significa crear une cuenta de servicio:
178 | - Define un `Service account name` para esa cuenta. Esto significa Nombre de cuenta de servicio
179 | - Haz clic en **CREATE AND CONTINUE** que significa crear y continuar
180 | - Haz clic en **Select a role** que significa selecciona un rol. Escoge `Quick access/Basic` luego **Owner**. Esto otorga acceso total a todos los recursos
181 | - Haz clic en **CONTINUE**
182 | - Haz clic en **DONE**
183 | - Descarga la 🔑 del archivo json de la cuenta de servicio:
184 | - Haz clic en la cuenta de servicio recién creada
185 | - Haz clic en **KEYS**
186 | - Haz clic en **ADD KEY** y luego en **Create new key**
187 | - Selecciona **JSON** y haz clic en **CREATE**
188 |
189 | 
190 |
191 | El navegador acaba de guardar la 🔑 del archivo json de la cuenta de servicio en tu carpeta de descargas (el nombre se le asigna según el nombre de la cuenta de servicio. Es algo como `le-wagon-data-123456789abc.json`)
192 |
--------------------------------------------------------------------------------
/_partials/es/gcp_setup_end.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ℹ️ ¿Cómo encontrar la ruta absoluta de un archivo?
4 | Puedes arrastrar el archivo a tu terminal.
5 |
6 |
7 | **Reinicia** tu terminal y ejecuta lo siguiente:
8 |
9 | ``` bash
10 | echo $GOOGLE_APPLICATION_CREDENTIALS
11 | ```
12 |
13 | Deberías obtener la siguiente información:
14 |
15 | ```bash
16 | /some/absolute/path/to/your/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
17 | ```
18 |
19 | Ahora verifica si la ruta al archivo json de tu cuenta de servicio es el correcto:
20 |
21 | ``` bash
22 | cat $(echo $GOOGLE_APPLICATION_CREDENTIALS)
23 | ```
24 |
25 | 👉 Este comando debería mostrar el contenido del archivo json de tu cuenta de servicio. Si no es el caso, pídele ayuda a un TA 🙏
26 |
27 | Tu código y utilidades ahora pueden acceder a los recursos de tu cuenta GCP.
28 |
29 | Continuemos con los últimos pasos de la configuración...
30 |
31 | - Lista las cuentas de servicio asociadas a tu cuenta activa y a tu proyecto actual
32 | ```bash
33 | gcloud iam service-accounts list
34 | ```
35 | - Recupera el email de la cuenta de servicio e. g. `SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com`
36 | - Lista los roles de la cuenta de servicio desde la cli (reemplaza el PROJECT_ID y el SERVICE_ACCOUNT_EMAIL)
37 | ```bash
38 | gcloud projects get-iam-policy PROJECT_ID \
39 | --flatten="bindings[].members" \
40 | --format='table(bindings.role)' \
41 | --filter="bindings.members:SERVICE_ACCOUNT_EMAIL"
42 | ```
43 | - Ahora deberías ver que tu cuenta de servicio tiene el rol de `roles/owner`
44 |
45 |
46 | Resolución de problemas
47 |
48 | - `AccessDeniedException: 403 The project to be billed is associated with an absent billing account.`. Esto significa que el proyecto a facturar está asociado a una cuenta de facturación que no está habilitada
49 | - Asegúrate de habilitar la facturación para tu proyecto https://cloud.google.com/billing/docs/how-to/modify-project
50 |
51 |
52 | 🏁 Listo. ¡Has terminado la configuración de GCP!
53 |
--------------------------------------------------------------------------------
/_partials/es/gcp_setup_linux.md:
--------------------------------------------------------------------------------
1 | - Guarda el archivo json de la cuenta de servicio en un lugar que recuerdes. Por ejemplo:
2 |
3 | ``` bash
4 | /home/LINUX_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
5 | ```
6 |
7 | - Guarda la **ruta absoluta** al archivo `JSON` como una variable de entorno:
8 |
9 | ``` bash
10 | echo 'export GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.aliases
11 | ```
12 |
--------------------------------------------------------------------------------
/_partials/es/gcp_setup_mid.md:
--------------------------------------------------------------------------------
1 | - Guarda el archivo json de la cuenta de servicio en un lugar que recuerdes. Por ejemplo:
2 |
3 | ``` bash
4 | /Users/MACOS_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
5 | ```
6 |
7 | - Guarda la **ruta absoluta** al archivo `JSON` como una variable de entorno:
8 |
9 | ``` bash
10 | echo 'export GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.zshrc
11 | ```
12 | **Nota:** cada vez que ejecutes este comando, agregará esta línea a tu archivo zshrc sin importar si la línea ya existe en el archivo. Si cometiste un error y necesitas arreglarlo, es preferible que abras el archivo y edites la línea!
13 |
14 | Puedes hacerlo ejecutando
15 |
16 | ```bash
17 | code ~/.zshrc
18 | ```
19 |
20 | en la Terminal! 😄
21 |
--------------------------------------------------------------------------------
/_partials/es/gcp_setup_wsl.md:
--------------------------------------------------------------------------------
1 | Ahora vamos a mover el archivo json de la cuenta de servicio desde tu disco en Windows al disco en Ubuntu. Esto le permitirá a las herramientas de desarrollo en Ubuntu acceder a los recursos de tu cuenta GCP.
2 |
3 | Primero crea un directorio para almacenar el archivo.
4 |
5 | 👉 Abre una terminal en Ubuntu y ejecuta los siguiente comandos
6 |
7 | 🚨 reemplaza el `GITHUB_NICKNAME` por tu nickname de **GitHub**
8 |
9 | ``` bash
10 | cd ~/code/GITHUB_NICKNAME
11 | ls -la
12 | ```
13 |
14 | Si el comando no muestra el directorio `dotfiles`, pídele ayuda a un TA 🙏
15 |
16 | Si no es el caso, puedes proceder con la configuración:
17 |
18 | ``` bash
19 | mkdir gcp
20 | ```
21 |
22 | 
23 |
24 | Ahora moveremos el archivo json de la cuenta de servicio al directorio `gcp` que acabamos de crear.
25 |
26 | Abre un **Buscador de Archivos** de Windows (Win + E) y localiza el directorio `gcp` en el sistema de archivo de Ubuntu.
27 |
28 | Puedes optar por las siguientes alternativas:
29 | - Usar el enlace de **Acceso rápido** que creamos hace un rato
30 | - O escribir la localización del directorio `gcp` manualmente en la barra de direcciones del sistema de archivos de Ubuntu:
31 |
32 | ```
33 | \\wsl$\Ubuntu\home\UBUNTU_USERNAME\code\GITHUB_NICKNAME
34 | ```
35 |
36 |
37 | 🚨 Si optas por la segunda opción:
38 | - reemplaza el `UBUNTU_USERNAME` por el usuario que escogiste durante la configuración de **Ubuntu**
39 | - reemplaza el `GITHUB_NICKNAME` por tu nickname de **GitHub**
40 |
41 | 
42 |
43 | Cuando hayas localizado el directorio `gcp` en el **Buscador de Archivos** de Windows, ponle el archivo json de la cuenta de servicio que descargaste.
44 |
45 | Ahora deberías poder ver el archivo desde el sistema de archivos de Ubuntu.
46 |
47 | 👉 Abre una terminal en Ubuntu y verifica que el archivo json de la cuenta de servicio ha sido movido
48 |
49 | ``` bash
50 | cd gcp
51 | ls -la
52 | ```
53 |
54 | 
55 |
56 | Si no ves el archivo json de la cuenta de servicio en el directorio `gcp`, pídele ayuda a un TA 🙏
57 |
58 | Ahora almacenaremos la ruta al archivo json de la cuenta de servicio en una variable de entorno.
59 |
60 | 🚨 Haz las siguientes sustituciones en este comando:
61 | - El `UBUNTU_USERNAME` por el usuario que escogiste durante la configuración de **Ubuntu**
62 | - El `GITHUB_NICKNAME` por tu nickname de **GitHub**
63 | - El `SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json` por el nombre del archivo json de tu cuenta de servicio.
64 |
65 | ``` bash
66 | echo 'export GOOGLE_APPLICATION_CREDENTIALS=/home/UBUNTU_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.aliases
67 | ```
68 |
--------------------------------------------------------------------------------
/_partials/es/homebrew.md:
--------------------------------------------------------------------------------
1 | ## Homebrew
2 | ### 1. Instálalo:
3 | Si usas Mac tienes que instalar [Homebrew](http://brew.sh/) el cual es un sistema de gestión de paquetes.
4 | Será necesario cuando tengamos que instalar algún programa.
5 | Para instalarlo, abre tu Terminal y ejecuta lo siguiente:
6 |
7 | ```bash
8 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
9 | ```
10 |
11 | Te pedirá tu confirmación (presiona `Enter`) y tu **contraseña de usuario macOS** (la que usas para [iniciar sesión](https://support.apple.com/en-gb/HT202860) cuando reinicias tu Macbook).
12 | :warning: Cuando escribas tu contraseña en la Terminal, **no** la verás (sólo verás algo como `*****`). ¡Esto es **normal**! Simplemente escribe tu contraseña y confirma presionando `Enter`.
13 |
14 |
15 | 🛠 Si aparece un Error: Not a valid ref: refs/remotes/origin/master
16 |
17 |
18 | El error completo es el siguiente:
19 |
20 | ``` bash
21 | Error: Not a valid ref: refs/remotes/origin/master :
22 | fatal: ambiguous argument 'refs/remotes/origin/master': unknown revision or path not in the working tree.
23 | ```
24 |
25 | Ejecuta los siguientes comandos para resolverlo:
26 |
27 | ``` bash
28 | rm -fr $(brew --repo homebrew/core) # because you can't `brew untap homebrew/core`
29 | brew tap homebrew/core
30 | ```
31 |
32 |
33 |
34 | Si ya tienes Homebrew, el sistema te lo dirá. No hay problema, así que puedes continuar.
35 |
36 | ### 2. Asegúrate de tener la versión más reciente:
37 |
38 | ```bash
39 | brew update
40 | ```
41 |
42 |
43 | 🛠 Si aparece un error /usr/local must be writable
44 |
45 | Simplemente ejecuta lo siguiente:
46 |
47 | ``` bash
48 | sudo chown -R $USER:admin /usr/local
49 | brew update
50 | ```
51 |
52 |
53 |
54 | ### 3. Luego instala algunos programas útiles:
55 |
56 | Ejecuta lo siguiente en la terminal (puedes copiar / pegar todas las líneas juntas una sola vez).
57 |
58 | ```bash
59 | brew upgrade git || brew install git
60 | brew upgrade gh || brew install gh
61 | brew upgrade wget || brew install wget
62 | brew upgrade imagemagick || brew install imagemagick
63 | brew upgrade jq || brew install jq
64 | brew upgrade openssl || brew install openssl
65 | brew upgrade tree || brew install tree
66 | brew upgrade ncdu || brew install ncdu
67 | brew upgrade xz || brew install xz
68 | brew upgrade readline || brew install readline
69 | ```
70 |
--------------------------------------------------------------------------------
/_partials/es/intro.md:
--------------------------------------------------------------------------------
1 | # Instrucciones para la configuración
2 |
3 | Aquí abajo encontrarás las instrucciones para configurar tu computadora para [el curso de Data Science de Le Wagon](https://www.lewagon.com/data-science-course/full-time)
4 |
5 | Por favor **léelas cuidadosamente y ejecuta todos los comandos en el siguiente orden**. Si tienes algún problema, no dudes en pedirle ayuda a una profesor :raising_hand:
6 |
7 | ¡Comencemos! :rocket:
8 |
--------------------------------------------------------------------------------
/_partials/es/kata.md:
--------------------------------------------------------------------------------
1 | ## Kata (Extra)
2 |
3 | Si has terminado la configuración, te pedimos que preguntes si alguien necesita ayuda con la suya (macOS, Linux o Windows). Las primeras clases son a las 2pm. Hablaremos de la configuración que acabas de hacer y de Kitt.
4 |
5 | Si no tienes mucha experiencia con `git` y GitHub, por favor [ve nuevamente el video de este workshop](https://www.youtube.com/watch?v=Z9fIBT2NBGY) (puedes verlo a `1.25` de velocidad).
6 |
7 | Si aún te queda tiempo, puedes esperar trabajar en este [Kata de Tic-Tac-Toe](https://www.codewars.com/kata/5b817c2a0ce070ace8002be0/python) mientras esperas la primera clase.
8 |
--------------------------------------------------------------------------------
/_partials/es/kitt.md:
--------------------------------------------------------------------------------
1 | ## Kitt
2 |
3 | Deberías haber recibido un correo electrónico de Le Wagon invitándote a registrarte en [Kitt](https://kitt.lewagon.com) (nuestra plataforma de aprendizaje).
4 |
5 | Entonces deberías recibir una invitación adicional de Slack, invitándote a la comunidad de los alumni de Le Wagon en slack (donde podrás chatear con tus compañeros y todos los demás alumni). Haz clic en **Join** y completa la información que te piden.
6 |
7 | Si no lo has recibido, por favor contacta a tu equipo de enseñanza.
8 |
--------------------------------------------------------------------------------
/_partials/es/nbextensions.md:
--------------------------------------------------------------------------------
1 | ## Mejora Jupyter Notebook
2 |
3 | Mejora la visualización del [elemento `details` para revelación de información](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details) en tus notebooks.
4 |
5 | Ejecuta las siguientes líneas para crear una hoja de estilos `custom.css` en tu directorio de configuración de Jupyter:
6 |
7 | ```bash
8 | LOCATION=$(jupyter --config-dir)/custom
9 | SOURCE=https://raw.githubusercontent.com/lewagon/data-setup/refs/heads/master/specs/jupyter/custom.css
10 | mkdir -p $LOCATION
11 | curl $SOURCE > $LOCATION/custom.css
12 | ```
13 |
--------------------------------------------------------------------------------
/_partials/es/osx_python.md:
--------------------------------------------------------------------------------
1 | ### Instalar pre-requisitos
2 |
3 | Antes de instalar Python, por favor verifica la versión de tu extensión `xz` con:
4 |
5 | ```bash
6 | brew info xz
7 | ```
8 |
9 | Debe ser superior a `5.2.0`. **Si no es el caso**, debes ejecutar lo siguiente:
10 |
11 | ```bash
12 | sudo rm -rf /usr/local/opt/xz
13 | brew upgrade
14 | brew install xz
15 | ```
16 |
17 | Luego ejecuta:
18 |
19 | ```bash
20 | brew install readline
21 | ```
22 |
23 | ### Instala `pyenv`
24 |
25 | macOS viene con una versión vieja de Python que no queremos usar. Tal vez ya hayas instalado Anaconda u otro programa para utilizar Python y paquetes de Ciencia de Datos. Si es así, no pasa nada ya que haremos una configuración profesional de Python que te permitirá cambiar de versión cuando quieras al escribir `python` en la terminal.
26 |
27 | Primero instala `pyenv` con el siguiente comando en la Terminal:
28 |
29 | ```bash
30 | brew install pyenv
31 | exec zsh
32 | ```
33 |
34 | ### Instala Python
35 |
36 | Instala la [última versión estable de Python](https://www.python.org/doc/versions/) aceptada en el currículum de Le Wagon:
37 |
38 | ```bash
39 | pyenv install
40 | ```
41 |
42 | Este comando puede tomar un tiempo en ejecutarse. Esto es completamente normal. ¡No dudes en ayudar a los estudiantes que estén sentados cerca de ti!
43 |
44 |
45 | 🛠 Resolución de problemas
46 |
47 | Si aparece un error durante la instalación de Python con `pyenv` y relacionada con `zlib`:
48 |
49 | ```txt
50 | zipimport.ZipImportError: can't decompress data; zlib not available
51 | ```
52 |
53 | Instala `zlib` con lo siguiente:
54 |
55 | ```bash
56 | brew install zlib
57 | export LDFLAGS="-L/usr/local/opt/zlib/lib"
58 | export CPPFLAGS="-I/usr/local/opt/zlib/include"
59 | ```
60 |
61 | Luego trata de instalar Python nuevamente:
62 |
63 | ```bash
64 | pyenv install
65 | ```
66 |
67 | Es posible que aparezca otro error relacionado con `bzip2`. Esto lo puedes ignorar y continuar al paso siguiente.
68 |
69 |
70 |
71 |
72 | OK. Cuando este comando termine de ejecutarse, le diremos al sistema que use esta versión de Python **por defecto**. Esto se hace con:
73 |
74 | ```bash
75 | pyenv global
76 | exec zsh
77 | ```
78 |
79 | Para verificar si esto ha funcionado, ejecuta `python --version`. Si ves ``, ¡todo está bien! Si no, pídele ayuda a un TA para resolver el problema por medio `pyenv versions` y `type -a python` (`python` debería estar usando la versión `.pyenv/shims` de primero).
80 |
--------------------------------------------------------------------------------
/_partials/es/osx_silicon.md:
--------------------------------------------------------------------------------
1 | ## Chips Apple Silicon
2 |
3 | Si compraste tu computadora después de finales del 2020, es probable que tenga un nuevo chip Apple Silicon en lugar de un procesador Intel: descubrámoslo.
4 |
5 | Abre una nueva ventana de la tarminal desde Aplicaciones > Utilidades o búscala con [Spotlight](https://support.apple.com/es-es/HT204014):
6 |
7 | 
8 |
9 | Copia y pega el siguiente comando en la terminal y presiona `Enter` para ejecutarlo.
10 |
11 | ``` bash
12 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/setup/master/utils/macos_list_processor_type.sh)"
13 | ```
14 |
15 | ☝️ El resultado del comando debería indicar si tu computadora usa un chip Apple Silicon.
16 |
17 | Si tu computadora usa **Apple Silicon**, expande el siguiente párrafo y ejecútalo. En caso contrario, ignóralo.
18 |
19 |
20 | 👉 Setup para Apple Silicon 👈
21 |
22 | Quieres asegurarte que no estás usando Rosetta, que es una forma de usar tu Terminal como si tuvieras una computadora con Intel.
23 |
24 | Abre la app Finder (o búscala con [Spotlight](https://support.apple.com/es-es/HT204014)).
25 |
26 | Ve a Aplicaciones > Utilidades.
27 |
28 | Ubica la app Terminal (selecciónala).
29 |
30 | Presiona `Cmd` + `I` en la app Terminal, luego verifica que la caja "Abrir usando Rosetta" esté **desmarcada**.
31 | En caso de que no veas esta caja, simplemente continúa.
32 |
33 |
34 | 🚨 Ten esto en mente. Deberás recordarlo más adelante en este setup si tu computadora usa un chip Apple Silicon o Intel.
35 |
--------------------------------------------------------------------------------
/_partials/es/pip.md:
--------------------------------------------------------------------------------
1 | ### Paquetes de Python
2 |
3 | Ahora que tenemos el ambiente virtual de `lewagon` adecuado, es hora de instalarle algunos paquetes.
4 |
5 | Primero, actualiza `pip`, la herramienta para instalar Paquetes Python desde [pypi.org](https://pypi.org). Ejecuta lo siguiente en la última terminal donde esté activado el virtualenv de `lewagon`:
6 |
7 | ```bash
8 | pip install --upgrade pip
9 | ```
10 |
11 | Ahora instala algunos paquetes para las primeras semanas del programa:
12 |
13 | $MAC_START
14 | Si tu computadora usa **Apple Silicon**, expande el párrafo de abajo y léelo. Si no es el caso, ignóralo.
15 |
16 |
17 | 👉 Configuración para Apple Silicon 👈
18 |
19 | ``` bash
20 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/apple_silicon.txt
21 | ```
22 |
23 |
24 | Si tu computadora usa **Apple Intel**, expande el párrafo de abajo y léelo. Si no es el caso, ignóralo.
25 |
26 |
27 | 👉 Configuración para Apple Intel 👈
28 |
29 | ``` bash
30 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/apple_intel.txt
31 | ```
32 |
33 | $MAC_END
34 | $WINDOWS_START
35 | ``` bash
36 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt
37 | ```
38 | $WINDOWS_END
39 | $LINUX_START
40 | ``` bash
41 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt
42 | ```
43 | $LINUX_END
44 |
--------------------------------------------------------------------------------
/_partials/es/python_checkup.md:
--------------------------------------------------------------------------------
1 | ## Chequeo de la configuración de Python
2 |
3 | ### Chequeo de Python y packages
4 |
5 | Reinicia tu terminal:
6 |
7 | ```bash
8 | cd ~/code && exec zsh
9 | ```
10 |
11 | Verifica tu versión de Python con los siguientes comandos:
12 | ```bash
13 | zsh -c "$(curl -fsSL )"
14 | ```
15 |
16 | Ejecuta el comando siguiente para verificar que hayas instalado los paquetes requeridos correctamente:
17 | ```bash
18 | zsh -c "$(curl -fsSL )"
19 | ```
20 |
21 | Ahora ejecuta el siguiente comando para verificar que puedas cargar estos paquetes:
22 | ```bash
23 | python -c "$(curl -fsSL )"
24 | ```
25 |
26 | ### Chequeo de Jupyter
27 |
28 | Ahora verifica que puedas iniciar un servidor de notebook en tu máquina:
29 |
30 | ```bash
31 | jupyter notebook
32 | ```
33 |
34 | Tu navegador web debería abrir en una ventana `jupyter`:
35 |
36 | 
37 |
38 | Haz clic en `New` y, en el menú desplegable, selecciona Python 3 (ipykernel):
39 |
40 | 
41 |
42 | Debería abrirse una pestaña en un nuevo notebook:
43 |
44 | 
45 |
46 | Asegúrate de que estés usando la versión correcta de python en el notebook. Abre una celda y ejecuta lo siguiente:
47 | ``` python
48 | import sys; sys.version
49 | ```
50 |
51 | Debería mostrar `` seguido de algunos detalles adicionales. Si no es así, consulta con un TA.
52 |
53 | Puedes cerrar tu navegador web y luego cerrar el servidor jupyter con `CTRL` + `C`.
54 |
55 | ¡Listo! Ya tienes un virtual env de python completo con todos los paquetes tercerizados que necesitarás en el bootcamp.
56 |
--------------------------------------------------------------------------------
/_partials/es/ubuntu_docker.md:
--------------------------------------------------------------------------------
1 | ## Docker 🐋
2 |
3 | Docker es una plataforma abierta para desarrollo, entrega y operación de aplicaciones.
4 |
5 | _Si ya tienes Docker instalado en tu máquina, por favor actualízalo con la versión más reciente_
6 |
7 | ### Instalación de Docker
8 |
9 | Ve a la [documentación de instalación de Docker](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository).
10 |
11 | Luego sigue las instrucciones del tutorial para instalar Docker **usando el repositorio**. Hay 2 pasos:
12 |
13 | 1. Set up Docker's apt repository. > Esto significa configurar el repositorio
14 | 2. Install the Docker packages. > Esto significa instalar el motor de Docker
15 |
16 | Ahora, asegurémonos de que podemos ejecutar `docker` sin `sudo`.
17 |
18 | Ejecute los siguientes comandos uno por uno:
19 |
20 | ```bash
21 | sudo groupadd docker
22 | sudo usermod -aG docker $USER
23 | newgrp docker
24 | sudo rm -rf ~/.docker/
25 | ```
26 |
27 | Cuando termines, podrás ejecutar lo siguiente:
28 |
29 | ```bash
30 | docker run hello-world
31 | ```
32 |
33 | Debería aparecer el siguiente mensaje:
34 |
35 | 
36 |
--------------------------------------------------------------------------------
/_partials/es/ubuntu_gcloud.md:
--------------------------------------------------------------------------------
1 | ## CLI de Google Cloud
2 |
3 | Instala la CLI de `gcloud` para comunicar con [Google Cloud Platform](https://cloud.google.com/) a través de la terminal:
4 | ```bash
5 | echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
6 | sudo apt-get install apt-transport-https ca-certificates gnupg
7 | curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
8 | sudo apt-get update && sudo apt-get install google-cloud-sdk
9 | sudo apt-get install google-cloud-sdk-app-engine-python
10 | ```
11 | 👉 [Documentación para la instalación](https://cloud.google.com/sdk/docs/install#deb)
12 |
--------------------------------------------------------------------------------
/_partials/es/ubuntu_python.md:
--------------------------------------------------------------------------------
1 | ### Instala `pyenv`
2 |
3 | Ubuntu viene con una versión vieja de Python que no queremos usar. Tal vez ya hayas instalado Anaconda u otro programa para utilizar Python y paquetes de Ciencia de Datos. Si es así, no pasa nada ya que haremos una configuración profesional de Python que te permitirá cambiar de versión cuando quieras al escribir `python` en la terminal.
4 |
5 | Primero instala `pyenv` con el siguiente comando en la Terminal:
6 |
7 | ```bash
8 | git clone https://github.com/pyenv/pyenv.git ~/.pyenv
9 | exec zsh
10 | ```
11 |
12 | Instala algunas [dependencias](https://github.com/pyenv/pyenv/wiki/common-build-problems#prerequisites) necesarias para crear Python desde `pyenv`:
13 |
14 | ```bash
15 | sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
16 | libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
17 | libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
18 | python3-dev
19 | ```
20 |
21 | ### Instala Python
22 |
23 | Instala la [última versión estable de Python](https://www.python.org/doc/versions/) que sea aceptada en el currículum de Le Wagon:
24 |
25 | ```bash
26 | pyenv install
27 | ```
28 |
29 | Este comando puede tomar un tiempo en ejecutarse. Esto es completamente normal. ¡No dudes en ayudar a los estudiantes que estén sentados cerca de ti!
30 |
31 | OK. Cuando este comando termine de ejecutarse, le diremos al sistema que use esta versión de Python **por defecto**. Esto se hace con:
32 |
33 | ```bash
34 | pyenv global
35 | exec zsh
36 | ```
37 |
38 | Para verificar que esto haya funcionado, ejecuta `python --version`. Si ves ``, ¡todo está bien! Si no, pídele ayuda a un TA para resolver el problema por medio de `versiones de pyenv` y `type -a python` (`python` debería estar usando la versión `.pyenv/shims` de primero).
39 |
--------------------------------------------------------------------------------
/_partials/es/virtualenv.md:
--------------------------------------------------------------------------------
1 | ## Entorno Virtual de Python
2 |
3 | Antes de instalar paquetes de Python, aislaremos la configuración del Bootcamp en un entorno virtual **dedicado**. Usaremos un plugin `pyenv` llamado [`pyenv-virtualenv`](https://github.com/pyenv/pyenv-virtualenv).
4 |
5 | ### Instala un virtualenv
6 |
7 | Primero instala este plugin:
8 |
9 | ```bash
10 | git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
11 | exec zsh
12 | ```
13 |
14 | Crea el entorno virtual que usaremos durante todo el bootcamp:
15 |
16 | ```bash
17 | pyenv virtualenv lewagon
18 | ```
19 |
20 | Define el entorno virtual con lo siguiente:
21 |
22 | ```bash
23 | pyenv global lewagon
24 | ```
25 |
26 | ¡Genial! Ahora cada vez que queramos instalar un paquete Python, lo haremos en ese entorno.
27 |
--------------------------------------------------------------------------------
/_partials/es/vscode_extensions.md:
--------------------------------------------------------------------------------
1 | ## Extensiones de VS Code
2 |
3 | ### Instalación
4 |
5 | Instala algunas extensiones útiles para VS Code.
6 |
7 | ```bash
8 | code --install-extension ms-vscode.sublime-keybindings
9 | code --install-extension emmanuelbeziat.vscode-great-icons
10 | code --install-extension MS-vsliveshare.vsliveshare
11 | code --install-extension ms-python.python
12 | code --install-extension KevinRose.vsc-python-indent
13 | code --install-extension ms-python.vscode-pylance
14 | code --install-extension ms-toolsai.jupyter
15 | ```
16 |
17 | Aquí está la lista de las extensiones que estás instalando:
18 | - [Sublime Text Keymap and Settings Importer](https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings)
19 | - [VSCode Great Icons](https://marketplace.visualstudio.com/items?itemName=emmanuelbeziat.vscode-great-icons)
20 | - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
21 | - [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
22 | - [Python Indent](https://marketplace.visualstudio.com/items?itemName=KevinRose.vsc-python-indent)
23 | - [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
24 | - [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter)
25 |
--------------------------------------------------------------------------------
/_partials/es/win_docker.md:
--------------------------------------------------------------------------------
1 | ## Docker 🐋
2 |
3 | Docker es una plataforma abierta para desarrollo, entrega y operación de aplicaciones.
4 |
5 | _Si ya tienes Docker instalado en tu máquina, por favor actualízalo con la versión más reciente_
6 |
7 | ### Instalación de Docker
8 |
9 | Ve a [Install Docker Desktop on Windows](https://docs.docker.com/docker-for-windows/wsl/).
10 |
11 | Descarga e instala el Docker Desktop.
12 |
13 | Si tienes un procesador Intel o AMD, elige la primera opción que termina con "x86_64".
14 |
15 |
16 | ¿No estás seguro de qué procesador tienes?
17 |
18 | Lo más probable es que necesites la versión `x86_64`, es decir, si tienes un procesador Intel o AMD.
19 |
20 | Si no sabes qué procesador tiene tu máquina, ejecuta `arch` en tu terminal de Ubuntu. Verifica su salida:
21 | - `x86_64`: elige la primera opción "x86_64"
22 | - `aarch64`: elige la segunda opción "Arm"
23 |
24 |
25 |
26 |
27 | Cuando termines, inicia Docker.
28 |
29 | Deberías poder usarlo en una terminal Ubuntu:
30 |
31 | ```bash
32 | docker run hello-world
33 | ```
34 |
35 | Debería aparecer el siguiente mensaje:
36 |
37 | 
38 |
39 |
40 | Permission denied? (WSL / Ubuntu)
41 |
42 | Ejecute los siguientes comandos uno por uno:
43 |
44 | ```bash
45 | sudo groupadd docker
46 | sudo usermod -aG docker $USER
47 | newgrp docker
48 | ```
49 |
50 | Intente `docker info` nuevamente.
51 |
52 | ¿Ve este error?
53 |
54 | ```
55 | WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied`?
56 | ```
57 |
58 | Ejecute el siguiente comando:
59 |
60 | ```bash
61 | sudo rm -rf ~/.docker/
62 | ```
63 |
64 | Intente `docker info` nuevamente.
65 |
66 |
67 |
--------------------------------------------------------------------------------
/_partials/es/win_jupyter.md:
--------------------------------------------------------------------------------
1 | ### Configuración de Jupyter Notebook para abrirlo en tu navegador
2 |
3 | Genera el archivo de configuración para **Jupyter Notebook**...
4 |
5 | ``` bash
6 | jupyter notebook --generate-config
7 | ```
8 |
9 | ⚠️ Por favor copia la ruta que arrojó el comando anterior.
10 |
11 | Ahora edita el archivo de configuración de Jupyter generado:
12 |
13 | ``` bash
14 | sed -i.backup 's/# c.ServerApp.use_redirect_file = True/c.ServerApp.use_redirect_file = False/' ~/.jupyter/jupyter_notebook_config.py
15 | ```
16 |
17 | Intenta usar Jupyter:
18 |
19 | ``` bash
20 | jupyter notebook
21 | ```
22 |
23 | Este comando debió haber abierto una página Jupyter en tu navegador:
24 |
25 | 
26 |
27 | Si no es el caso, por favor llama a un TA.
28 |
29 | Para cerrar el servidor jupyter en la terminal, presiona `CTRL` + `C`, enter y. Luego presiona Enter.
30 |
--------------------------------------------------------------------------------
/_partials/es/win_vs_redistributable.md:
--------------------------------------------------------------------------------
1 | ## Visual C++ Redistributable
2 |
3 | Algunos paquetes Python requieren de un compilador para funcionar correctamente, así que vamos a instalar uno:
4 |
5 | [For x64 systems](https://aka.ms/vs/16/release/vc_redist.x64.exe)
6 |
--------------------------------------------------------------------------------
/_partials/gcp_cli_setup.md:
--------------------------------------------------------------------------------
1 |
2 | ## `gcloud` CLI
3 |
4 | Before Setting up our Google Cloud Platform account let's configure the `gcloud` CLI (A command line interface for Google Cloud Platform). Run the below and follow the terminal prompts to update your $PATH and enable shell command completion for the `.zshrc` file:
5 |
6 | ```bash
7 | brew install --cask google-cloud-sdk
8 | ```
9 |
10 | Then you can:
11 |
12 | ```bash
13 | $(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/install.sh
14 | ```
15 |
--------------------------------------------------------------------------------
/_partials/gcp_setup_end.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ℹ️ How to find the absolute path of a file?
4 | You can drag and drop the file in your terminal.
5 |
6 |
7 | **Restart** your terminal and run:
8 |
9 | ``` bash
10 | echo $GOOGLE_APPLICATION_CREDENTIALS
11 | ```
12 |
13 | The ouptut should be the following:
14 |
15 | ```bash
16 | /some/absolute/path/to/your/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
17 | ```
18 |
19 | Now let's verify that the path to your service account json file is correct:
20 |
21 | ``` bash
22 | cat $(echo $GOOGLE_APPLICATION_CREDENTIALS)
23 | ```
24 |
25 | 👉 This command should display the content of your service account json file. If it does not, ask for a TA 🙏
26 |
27 | Your code and utilities are now able to access the resources of your GCP account.
28 |
29 | Let's proceed with the final steps of configuration...
30 |
31 | - List the service accounts associated to your active account and current project
32 | ```bash
33 | gcloud iam service-accounts list
34 | ```
35 | - Retrieve the service account email address, e.g. `SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com`
36 | - List the roles of the service account from the cli (replace PROJECT_ID and SERVICE_ACCOUNT_EMAIL)
37 | ```bash
38 | gcloud projects get-iam-policy PROJECT_ID \
39 | --flatten="bindings[].members" \
40 | --format='table(bindings.role)' \
41 | --filter="bindings.members:SERVICE_ACCOUNT_EMAIL"
42 | ```
43 | - You should see that your service account has a role of `roles/owner`
44 |
45 |
46 | Troubleshooting
47 |
48 | - `AccessDeniedException: 403 The project to be billed is associated with an absent billing account.`
49 | - Make sure that billing is enabled for your Google Cloud Platform project https://cloud.google.com/billing/docs/how-to/modify-project
50 |
51 |
52 | 🏁 You are done with the GCP setup!
53 |
--------------------------------------------------------------------------------
/_partials/gcp_setup_linux.md:
--------------------------------------------------------------------------------
1 | - Store the service account json file somewhere you'll remember, for example:
2 |
3 | ``` bash
4 | /home/LINUX_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
5 | ```
6 |
7 | - Store the **absolute path** to the `JSON` file as an environment variable:
8 |
9 | ``` bash
10 | echo 'export GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.zshrc
11 | ```
12 | **Note:** every time you run this command, it will add this line to your zshrc file regardless of whether you already have it. If you made a mistake and need to fix it, preferably open the file and edit the line!
13 |
14 | You can do so by running
15 |
16 | ```bash
17 | code ~/.zshrc
18 | ```
19 |
20 | in the Terminal! 😄
21 |
--------------------------------------------------------------------------------
/_partials/gcp_setup_mid.md:
--------------------------------------------------------------------------------
1 | - Store the service account json file somewhere you'll remember, for example:
2 |
3 | ``` bash
4 | /Users/MACOS_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
5 | ```
6 |
7 | - Store the **absolute path** to the `JSON` file as an environment variable:
8 |
9 | ``` bash
10 | echo 'export GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.zshrc
11 | ```
12 | **Note:** every time you run this command, it will add this line to your zshrc file regardless of whether you already have it. If you made a mistake and need to fix it, preferably open the file and edit the line!
13 |
14 | You can do so by running
15 |
16 | ```bash
17 | code ~/.zshrc
18 | ```
19 |
20 | in the Terminal! 😄
21 |
--------------------------------------------------------------------------------
/_partials/gcp_setup_wsl.md:
--------------------------------------------------------------------------------
1 | We will now move the service account json file from your Windows disk to the Ubuntu disk. This will allow the development tools in Ubuntu to access to the resources of your GCP account.
2 |
3 | First, let's create a directory in which we will store the file.
4 |
5 | 👉 Open an Ubuntu terminal and run the following commands
6 |
7 | 🚨 replace `GITHUB_NICKNAME` by your **GitHub** nickname
8 |
9 | ``` bash
10 | cd ~/code/GITHUB_NICKNAME
11 | ls -la
12 | ```
13 |
14 | If the command does not show the `dotfiles` directory, ask for a TA 🙏
15 |
16 | Otherwise, you can proceed with the setup:
17 |
18 | ``` bash
19 | mkdir gcp
20 | ```
21 |
22 | 
23 |
24 | We will now move the service account json file to the `gcp` directory we just created.
25 |
26 | Open a Windows **File Explorer** (Win + E) and locate the `gcp` directory in the Ubuntu file system.
27 |
28 | You can either:
29 | - Use the **Quick access** link that we created earlier
30 | - manually type the location of the `gcp` directory in the Ubuntu file system in the address bar:
31 |
32 | ```
33 | \\wsl$\Ubuntu\home\UBUNTU_USERNAME\code\GITHUB_NICKNAME
34 | ```
35 |
36 |
37 | 🚨 if you opt for the second option:
38 | - replace `UBUNTU_USERNAME` by the username that you choose during the **Ubuntu** setup
39 | - replace `GITHUB_NICKNAME` by your **GitHub** nickname
40 |
41 | 
42 |
43 | Once you have located the `gcp` directory in the Windows **File Explorer**, move the service account json file that you downloaded inside of it.
44 |
45 | The file should now be visible from Ubuntu file system.
46 |
47 | 👉 Open an Ubuntu terminal and verify that the service account json file has been moved
48 |
49 | ``` bash
50 | cd gcp
51 | ls -la
52 | ```
53 |
54 | 
55 |
56 | If you do not see the service account json file listed in the `gcp` directory, ask for a TA 🙏
57 |
58 | We will now store the path to your service account json file in an environment variable.
59 |
60 | 🚨 in the following command, replace:
61 | - `UBUNTU_USERNAME` by the username that you choose during the **Ubuntu** setup
62 | - `GITHUB_NICKNAME` by your **GitHub** nickname
63 | - `SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json` by the name of your service account json file
64 |
65 | ``` bash
66 | echo 'export GOOGLE_APPLICATION_CREDENTIALS=/home/UBUNTU_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.zshrc
67 | ```
68 | **Note:** every time you run this command, it will add this line to your zshrc file regardless of whether you already have it. If you made a mistake and need to fix it, preferably open the file and edit the line!
69 |
70 | You can do so by running
71 |
72 | ```bash
73 | code ~/.zshrc
74 | ```
75 |
76 | in the Terminal! 😄
77 |
--------------------------------------------------------------------------------
/_partials/homebrew.md:
--------------------------------------------------------------------------------
1 | ## Homebrew
2 | ### 1. Install:
3 | On Mac, you need to install [Homebrew](http://brew.sh/) which is a Package Manager.
4 | It will be used as soon as we need to install some software.
5 | To do so, open your Terminal and run:
6 |
7 | ```bash
8 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
9 | ```
10 |
11 | This will ask for your confirmation (hit `Enter`) and your **macOS user account password** (the one you use to [log in](https://support.apple.com/en-gb/HT202860) when you reboot your Macbook).
12 | :warning: When typing a password in the Terminal, you will **not** get a visual feedback (something like `*****`), this is **normal**!! Type the password and confirm by typing `Enter`.
13 |
14 |
15 | 🛠 If you get a Error: Not a valid ref: refs/remotes/origin/master
error
16 |
17 |
18 | The full error would be:
19 |
20 | ``` bash
21 | Error: Not a valid ref: refs/remotes/origin/master :
22 | fatal: ambiguous argument 'refs/remotes/origin/master': unknown revision or path not in the working tree.
23 | ```
24 |
25 | Run the following commands to solve it:
26 |
27 | ``` bash
28 | rm -fr $(brew --repo homebrew/core) # because you can't `brew untap homebrew/core`
29 | brew tap homebrew/core
30 | ```
31 |
32 |
33 |
34 | If you already have Homebrew, it will tell you so, that's fine, go on.
35 |
36 | ### 2. Make sure you are on the latest version:
37 |
38 | ```bash
39 | brew update
40 | ```
41 |
42 |
43 | 🛠 If you get a /usr/local must be writable
error
44 |
45 | Just run this:
46 |
47 | ``` bash
48 | sudo chown -R $USER:admin /usr/local
49 | brew update
50 | ```
51 |
52 |
53 |
54 | ### 3. Then install some useful software:
55 |
56 | Proceed running the following in the terminal (you can copy / paste all the lines at once).
57 |
58 | ```bash
59 | brew upgrade git || brew install git
60 | brew upgrade gh || brew install gh
61 | brew upgrade wget || brew install wget
62 | brew upgrade imagemagick || brew install imagemagick
63 | brew upgrade jq || brew install jq
64 | brew upgrade openssl || brew install openssl
65 | brew upgrade tree || brew install tree
66 | brew upgrade ncdu || brew install ncdu
67 | brew upgrade xz || brew install xz
68 | brew upgrade readline || brew install readline
69 | ```
70 |
--------------------------------------------------------------------------------
/_partials/intro.md:
--------------------------------------------------------------------------------
1 | # Setup instructions
2 |
3 | You will find below the instructions to set up you computer for [Le Wagon Data Science course](https://www.lewagon.com/data-science-course/full-time)
4 |
5 | Please **read them carefully and execute all commands in the following order**. If you get stuck, don't hesitate to ask a teacher for help :raising_hand:
6 |
7 | Let's start :rocket:
8 |
--------------------------------------------------------------------------------
/_partials/kata.md:
--------------------------------------------------------------------------------
1 | ## (Bonus) Kata
2 |
3 | If you are done with your setup, please ask around if some classmates need some help with theirs (macOS, Linux, Windows). We will have our first lectures at 2pm and will talk about the Setup you just did + onboard you on Kitt.
4 |
5 | If you don't have a lot of experience with `git` and GitHub, please [(re-)watch this workshop](https://www.youtube.com/watch?v=Z9fIBT2NBGY) (`1.25` playback speed is fine).
6 |
7 | If you do, then you can wait for the first lecture working on this [Tic-Tac-Toe Kata](https://www.codewars.com/kata/5b817c2a0ce070ace8002be0/python)
8 |
--------------------------------------------------------------------------------
/_partials/kitt.md:
--------------------------------------------------------------------------------
1 | ## Kitt
2 |
3 | You should have received an email from Le Wagon inviting you to sign up on [Kitt](https://kitt.lewagon.com) (our learning platform).
4 |
5 | Then you should receive an additional invitation from Slack, inviting you to the Le Wagon Alumni slack community (where you'll chat with your buddies and all the previous alumni). Click on **Join** and complete the information.
6 |
7 | If you haven't, please contact your teaching team.
8 |
--------------------------------------------------------------------------------
/_partials/nbextensions.md:
--------------------------------------------------------------------------------
1 | ## Jupyter Notebook tweaking
2 |
3 | Let's improve the display of the [`details` disclosure elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details) in your notebooks.
4 |
5 | Run the following lines to create a `custom.css` stylesheet in your Jupyter config directory:
6 |
7 | ```bash
8 | LOCATION=$(jupyter --config-dir)/custom
9 | SOURCE=https://raw.githubusercontent.com/lewagon/data-setup/refs/heads/master/specs/jupyter/custom.css
10 | mkdir -p $LOCATION
11 | curl $SOURCE > $LOCATION/custom.css
12 | ```
13 |
--------------------------------------------------------------------------------
/_partials/osx_python.md:
--------------------------------------------------------------------------------
1 | ### Install pre-requisites
2 |
3 | Before installing Python, please check your `xz` version with:
4 |
5 | ```bash
6 | brew info xz
7 | ```
8 |
9 | It should be more than `5.2.0`, **if not** you should run:
10 |
11 | ```bash
12 | sudo rm -rf /usr/local/opt/xz
13 | brew upgrade
14 | brew install xz
15 | ```
16 |
17 | Then run:
18 |
19 | ```bash
20 | brew install readline
21 | ```
22 |
23 | ### Install `pyenv`
24 |
25 | macOS comes with an outdated version of Python that we don't want to use. You might already have installed Anaconda or something else to tinker with Python and Data Science packages. All of this does not really matter as we are going to do a professional setup of Python where you'll be able to switch which version you want to use whenever you type `python` in the terminal.
26 |
27 | First let's install `pyenv` with the following Terminal command:
28 |
29 | ```bash
30 | brew install pyenv
31 | exec zsh
32 | ```
33 |
34 | ### Install Python
35 |
36 | Let's install the [latest stable version of Python](https://www.python.org/doc/versions/) supported by Le Wagon's curriculum:
37 |
38 | ```bash
39 | pyenv install
40 | ```
41 |
42 | This command might take a while, this is perfectly normal. Don't hesitate to help other students seated next to you!
43 |
44 |
45 | 🛠 Troubleshooting `pyenv` not found
46 |
47 | If you encounter an error `Command 'pyenv' not found`: execute the following line:
48 |
49 | ```bash
50 | source ~/.zprofile
51 | ```
52 |
53 | Then try to install Python again:
54 |
55 | ```bash
56 | pyenv install
57 | ```
58 |
59 | If `pyenv` is still not found, contact a teacher.
60 |
61 |
62 |
63 |
64 |
65 | 🛠 Troubleshooting `zlib`
66 |
67 | If you encounter an error installing Python with `pyenv` about `zlib`:
68 |
69 | ```txt
70 | zipimport.ZipImportError: can't decompress data; zlib not available
71 | ```
72 |
73 | Install `zlib` with:
74 |
75 | ```bash
76 | brew install zlib
77 | export LDFLAGS="-L/usr/local/opt/zlib/lib"
78 | export CPPFLAGS="-I/usr/local/opt/zlib/include"
79 | ```
80 |
81 | Then try to install Python again:
82 |
83 | ```bash
84 | pyenv install
85 | ```
86 |
87 | It could raise another error about `bzip2`, you can ignore it and continue to the next step.
88 |
89 |
90 |
91 |
92 | OK once this command is complete, we are going to tell the system to use this version of Python **by default**. This is done with:
93 |
94 | ```bash
95 | pyenv global
96 | exec zsh
97 | ```
98 |
99 | To check if this worked, run `python --version`. If you see ``, perfect! If not, ask a TA that will help you debug the problem thanks to `pyenv versions` and `type -a python` (`python` should be using the `.pyenv/shims` version first).
100 |
--------------------------------------------------------------------------------
/_partials/osx_silicon.md:
--------------------------------------------------------------------------------
1 | ## Apple Silicon Chips
2 |
3 | If you bought your computer after late 2020, chances are it has a new Apple silicon chip instead of an Intel processor: let's find out.
4 |
5 | Open a new terminal window from Applications > Utilities or search for it with [Spotlight](https://support.apple.com/en-gb/HT204014):
6 |
7 | 
8 |
9 | Copy-paste the following command in the terminal and hit `Enter` to execute.
10 |
11 | ``` bash
12 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/setup/master/utils/macos_list_processor_type.sh)"
13 | ```
14 |
15 | ☝️ The result of the command should indicate whether your computer uses Apple Silicon.
16 |
17 | If your computer uses **Apple Silicon**, expand the paragraph below and go through it. Otherwise ignore it.
18 |
19 |
20 | 👉 Setup for Apple Silicon 👈
21 |
22 | You want to make sure that you are **not using** Rosetta, which is a way to use your Terminal as if you had an Intel computer.
23 |
24 | Open the Finder app (or search for it with [Spotlight](https://support.apple.com/en-gb/HT204014)).
25 |
26 | Go to Applications > Utilities.
27 |
28 | Locate the Terminal app (select it).
29 |
30 | Press `Cmd` + `I` on the Terminal app, then verify that the box "Open using Rosetta" is **unchecked**.
31 | In case you don't see this box, just continue.
32 |
33 |
34 | 🚨 Keep this in mind. You will need to remember later on in the setup whether your computer uses an Apple Silicon chip or is an Apple Intel version
35 |
--------------------------------------------------------------------------------
/_partials/pip.md:
--------------------------------------------------------------------------------
1 | ### Python packages
2 |
3 | Now that we have a pristine `lewagon` virtual environment, it's time to install some packages in it.
4 |
5 | First, let's upgrade `pip`, the tool to install Python Packages from [pypi.org](https://pypi.org). In the latest terminal where the virtualenv `lewagon` is activated, run:
6 |
7 | ```bash
8 | pip install --upgrade pip
9 | ```
10 |
11 | Then let's install some packages for the first weeks of the program:
12 |
13 | $MAC_START
14 | If your computer uses **Apple Silicon**, expand the paragraph below and go through it. Otherwise ignore it.
15 |
16 |
17 | 👉 Setup for Apple Silicon 👈
18 |
19 | ``` bash
20 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/apple_silicon.txt
21 | ```
22 |
23 |
24 | If your computer uses **Apple Intel**, expand the paragraph below and go through it. Otherwise ignore it.
25 |
26 |
27 | 👉 Setup for Apple Intel 👈
28 |
29 | ``` bash
30 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/apple_intel.txt
31 | ```
32 |
33 | $MAC_END
34 | $WINDOWS_START
35 | ``` bash
36 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt
37 | ```
38 | $WINDOWS_END
39 | $LINUX_START
40 | ``` bash
41 | pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt
42 | ```
43 | $LINUX_END
44 |
--------------------------------------------------------------------------------
/_partials/python_checkup.md:
--------------------------------------------------------------------------------
1 | ## Python setup check
2 |
3 | ### Python and packages check
4 |
5 | Let's reset your terminal:
6 |
7 | ```bash
8 | cd ~/code && exec zsh
9 | ```
10 |
11 | Check your Python version with the following commands:
12 | ```bash
13 | zsh -c "$(curl -fsSL )"
14 | ```
15 |
16 | Run the following command to check if you successfully installed the required packages:
17 | ```bash
18 | zsh -c "$(curl -fsSL )"
19 | ```
20 |
21 | Now run the following command to check if you can load these packages:
22 | ```bash
23 | python -c "$(curl -fsSL )"
24 | ```
25 |
26 | ### Jupyter check
27 |
28 | Make sure you can run Jupyter:
29 |
30 | ```bash
31 | jupyter notebook
32 | ```
33 |
34 | Your web browser should open on a `jupyter` window:
35 |
36 | 
37 |
38 | Click on `New` and in the dropdown menu select `Python 3 (ipykernel)`:
39 |
40 | 
41 |
42 | A tab should open on a new notebook:
43 |
44 | 
45 |
46 | Make sure that you are running the correct python version in the notebook. Open a cell and run:
47 | ``` python
48 | import sys; sys.version
49 | ```
50 |
51 | It should output `` followed by some more details. If not, check with a TA.
52 |
53 | You can close your web browser then terminate the jupyter server with `CTRL` + `C`.
54 |
55 | Here you have it! A complete python virtual env with all the third-party packages you'll need for the whole bootcamp.
56 |
--------------------------------------------------------------------------------
/_partials/ubuntu_docker.md:
--------------------------------------------------------------------------------
1 | ## Docker 🐋
2 |
3 | Docker is an open platform for developing, shipping, and running applications.
4 |
5 | _if you already have Docker installed on your machine please update with the latest version_
6 |
7 | ### Install Docker
8 |
9 | Go to [Docker install documentation](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository).
10 |
11 | Then follow the tutorial instructions to install Docker **using the repository**. There are 2 steps:
12 |
13 | 1. Set up Docker's apt repository.
14 | 2. Install the Docker packages.
15 |
16 | Now, let's make sure we can run `docker` without `sudo`.
17 |
18 | Run the following commands one by one:
19 |
20 | ```bash
21 | sudo groupadd docker
22 | sudo usermod -aG docker $USER
23 | newgrp docker
24 | sudo rm -rf ~/.docker/
25 | ```
26 |
27 | When finished, run the following command:
28 |
29 | ```bash
30 | docker run hello-world
31 | ```
32 |
33 | The following message should print:
34 |
35 | 
36 |
--------------------------------------------------------------------------------
/_partials/ubuntu_gcloud.md:
--------------------------------------------------------------------------------
1 | ## Google Cloud CLI
2 |
3 | Install the `gcloud` CLI to communicate with [Google Cloud Platform](https://cloud.google.com/) through your terminal:
4 | ```bash
5 | echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
6 | sudo apt-get install apt-transport-https ca-certificates gnupg
7 | curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
8 | sudo apt-get update && sudo apt-get install google-cloud-sdk
9 | sudo apt-get install google-cloud-sdk-app-engine-python
10 | ```
11 | 👉 [Install documentation](https://cloud.google.com/sdk/docs/install#deb)
12 |
--------------------------------------------------------------------------------
/_partials/ubuntu_python.md:
--------------------------------------------------------------------------------
1 | ### Install `pyenv`
2 |
3 | Ubuntu comes with an outdated version of Python that we don't want to use. You might already have installed Anaconda or something else to tinker with Python and Data Science packages. All of this does not really matter as we are going to do a professional setup of Python where you'll be able to switch which version you want to use whenever you type `python` in the terminal.
4 |
5 | First let's install `pyenv` with the following Terminal command:
6 |
7 | ```bash
8 | git clone https://github.com/pyenv/pyenv.git ~/.pyenv
9 | exec zsh
10 | ```
11 |
12 | Let's install some [dependencies](https://github.com/pyenv/pyenv/wiki/common-build-problems#prerequisites) needed to build Python from `pyenv`:
13 |
14 | ```bash
15 | sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
16 | libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
17 | libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
18 | python3-dev
19 | ```
20 |
21 | ### Install Python
22 |
23 | Let's install the [latest stable version of Python](https://www.python.org/doc/versions/) supported by Le Wagon's curriculum:
24 |
25 | ```bash
26 | pyenv install
27 | ```
28 |
29 | This command might take a while, this is perfectly normal. Don't hesitate to help other students seated next to you!
30 |
31 |
32 | 🛠 Troubleshooting `pyenv` not found
33 |
34 | If you encounter an error `Command 'pyenv' not found`: execute the following line:
35 |
36 | ```bash
37 | source ~/.zprofile
38 | ```
39 |
40 | Then try to install Python again:
41 |
42 | ```bash
43 | pyenv install
44 | ```
45 |
46 | If `pyenv` is still not found, contact a teacher.
47 |
48 |
49 |
50 |
51 |
52 | OK once this command is complete, we are going to tell the system to use this version of Python **by default**. This is done with:
53 |
54 | ```bash
55 | pyenv global
56 | exec zsh
57 | ```
58 |
59 | To check if this worked, run `python --version`. If you see ``, perfect! If not, ask a TA that will help you debug the problem thanks to `pyenv versions` and `type -a python` (`python` should be using the `.pyenv/shims` version first).
60 |
--------------------------------------------------------------------------------
/_partials/virtualenv.md:
--------------------------------------------------------------------------------
1 | ## Python Virtual Environment
2 |
3 | Before we start installing relevant Python packages, we will isolate the setup for the Bootcamp into a **dedicated** virtual environment. We will use a `pyenv` plugin called [`pyenv-virtualenv`](https://github.com/pyenv/pyenv-virtualenv).
4 |
5 | ### Setup a virtualenv
6 |
7 | First let's install this plugin:
8 |
9 | ```bash
10 | git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
11 | exec zsh
12 | ```
13 |
14 | Let's create the virtual environment we are going to use during the whole bootcamp:
15 |
16 | ```bash
17 | pyenv virtualenv lewagon
18 | ```
19 |
20 | Let's now set the virtual environment with:
21 |
22 | ```bash
23 | pyenv global lewagon
24 | ```
25 |
26 | Great! Anytime we'll install Python package, we'll do it in that environment.
27 |
--------------------------------------------------------------------------------
/_partials/vscode_extensions.md:
--------------------------------------------------------------------------------
1 | ## VS Code Extensions
2 |
3 | ### Installation
4 |
5 | Let's install some useful extensions to VS Code.
6 |
7 | ```bash
8 | code --install-extension ms-vscode.sublime-keybindings
9 | code --install-extension emmanuelbeziat.vscode-great-icons
10 | code --install-extension MS-vsliveshare.vsliveshare
11 | code --install-extension ms-python.python
12 | code --install-extension KevinRose.vsc-python-indent
13 | code --install-extension ms-python.vscode-pylance
14 | code --install-extension ms-toolsai.jupyter
15 | ```
16 |
17 | Here is a list of the extensions you are installing:
18 | - [Sublime Text Keymap and Settings Importer](https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings)
19 | - [VSCode Great Icons](https://marketplace.visualstudio.com/items?itemName=emmanuelbeziat.vscode-great-icons)
20 | - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
21 | - [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
22 | - [Python Indent](https://marketplace.visualstudio.com/items?itemName=KevinRose.vsc-python-indent)
23 | - [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
24 | - [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter)
25 |
--------------------------------------------------------------------------------
/_partials/win_docker.md:
--------------------------------------------------------------------------------
1 | ## Docker 🐋
2 |
3 | Docker is an open platform for developing, shipping, and running applications.
4 |
5 | _if you already have Docker installed on your machine please update with the latest version_
6 |
7 | ### Install Docker
8 |
9 | Go to [Install Docker Desktop on Windows](https://docs.docker.com/docker-for-windows/wsl/).
10 |
11 | Download and install Docker Desktop.
12 |
13 | If you have an Intel or AMD processor, choose the first option ending with "x86_64".
14 |
15 |
16 | Not sure which processor you have?
17 |
18 | Most probably you'll need the `x86_64`version, that is if you have an Intel or AMD processor.
19 |
20 | If you don't know which processor your machine has, run `arch` in your Ubuntu terminal. Check its output:
21 | - `x86_64`: choose the first option "x86_64"
22 | - `aarch64`: choose the second option "Arm"
23 |
24 |
25 |
26 |
27 | Once done, start Docker.
28 |
29 | You should be able to run in a Ubuntu terminal:
30 |
31 | ```bash
32 | docker run hello-world
33 | ```
34 |
35 | The following message should print:
36 |
37 | 
38 |
39 |
40 | Permission denied?
41 |
42 | Run the following commands one by one:
43 |
44 | ```bash
45 | sudo groupadd docker
46 | sudo usermod -aG docker $USER
47 | newgrp docker
48 | ```
49 |
50 | Try `docker run hello-world` again.
51 |
52 | Seeing this error?
53 | ```
54 | WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied`?
55 | ```
56 |
57 | Run the following command:
58 |
59 | ```bash
60 | sudo rm -rf ~/.docker/
61 | ```
62 |
63 | Try `docker run hello-world` again.
64 |
65 |
66 |
--------------------------------------------------------------------------------
/_partials/win_jupyter.md:
--------------------------------------------------------------------------------
1 |
2 | ### Configuring Jupyter Notebook to open in your browser
3 |
4 | Let's generate the configuration file for **Jupyter Notebook**...
5 |
6 | ``` bash
7 | jupyter notebook --generate-config
8 | ```
9 |
10 | We will now edit the generated Jupyter configuration file:
11 |
12 | ``` bash
13 | sed -i.backup 's/# c.ServerApp.use_redirect_file = True/c.ServerApp.use_redirect_file = False/' ~/.jupyter/jupyter_notebook_config.py
14 | ```
15 |
16 | Let's try to run Jupyter:
17 |
18 | ``` bash
19 | jupyter notebook
20 | ```
21 |
22 | This command should have opened a Jupyter page in your browser:
23 |
24 | 
25 |
26 | If it is not the case, please call a TA.
27 |
28 | To stop the Jupyter server in the terminal, press `Ctrl` + `C`, enter y, then press Enter.
29 |
--------------------------------------------------------------------------------
/_partials/win_vs_redistributable.md:
--------------------------------------------------------------------------------
1 | ## Visual C++ Redistributable
2 |
3 | Some Python packages require a compiler to function properly. Let's install one:
4 |
5 | [For x64 systems](https://aka.ms/vs/16/release/vc_redist.x64.exe)
6 |
--------------------------------------------------------------------------------
/_sublime_text.md:
--------------------------------------------------------------------------------
1 |
2 | ## find in files exclusion pattern
3 |
4 | ``` bash
5 | -macos*.md,-ubuntu*.md,-windows*.md,-keep_current.md,-*_keep_current.md,-_partials/cn/*.md,-_partials/es/*.md,-_partials/fr/*.md
6 | ```
7 |
--------------------------------------------------------------------------------
/build.rb:
--------------------------------------------------------------------------------
1 | require 'open-uri'
2 | #!/usr/bin/env ruby -wU
3 | CONSTANTS = {
4 | 'PYTHON_VERSION' => '3.12.9',
5 | 'PYTHON_CHECKER_URL' => 'https://raw.githubusercontent.com/lewagon/data-setup/master/checks/python_checker.sh',
6 | 'PIP_CHECKER_URL' => 'https://raw.githubusercontent.com/lewagon/data-setup/master/checks/pip_check.sh',
7 | 'PIP_LOADER_URL' => 'https://raw.githubusercontent.com/lewagon/data-setup/master/checks/pip_check.py',
8 | 'CODE_EDITOR' => 'VS Code',
9 | 'CODE_EDITOR_CMD' => 'code'
10 | }
11 |
12 | # NOTE(ssaunier): This script needs https://github.com/lewagon/setup to be cloned as well
13 | MAC_OS = %w[
14 | intro
15 | setup/github
16 | osx_silicon
17 | setup/macos_command_line_tools
18 | homebrew
19 | chrome
20 | setup/macos_vscode
21 | vscode_extensions
22 | setup/oh_my_zsh
23 | direnv
24 | setup/gh_cli
25 | dotfiles
26 | dotfiles_new_student
27 | dotfiles_new_laptop
28 | dotfiles_merge_upstream
29 | dotfiles_same_laptop
30 | dotfiles_merge_upstream
31 | dotfiles_installer
32 | conda_uninstall
33 | osx_python
34 | virtualenv
35 | pip
36 | nbextensions
37 | python_checkup
38 | dbeaver
39 | docker
40 | gcp_cli_setup
41 | gcp_setup
42 | gcp_setup_mid
43 | gcp_setup_end
44 | kitt
45 | setup/macos_slack
46 | setup/slack_settings
47 | setup/macos_settings
48 | kata
49 | ].freeze
50 |
51 | MAC_OS_KC = %w[
52 | keep_current
53 | python_checkup
54 | ].freeze
55 |
56 | WINDOWS = %w[
57 | intro
58 | setup/github
59 | setup/windows_version
60 | setup/windows_virtualization
61 | setup/windows_wsl
62 | setup/windows_ubuntu
63 | chrome
64 | setup/windows_vscode
65 | setup/windows_terminal
66 | vscode_extensions
67 | setup/cli_tools
68 | setup/oh_my_zsh
69 | setup/windows_browser
70 | direnv
71 | setup/gh_cli
72 | ubuntu_gcloud
73 | dotfiles
74 | dotfiles_new_student
75 | dotfiles_new_laptop
76 | dotfiles_merge_upstream
77 | dotfiles_same_laptop
78 | dotfiles_merge_upstream
79 | dotfiles_installer
80 | setup/ssh_agent
81 | conda_uninstall
82 | ubuntu_python
83 | virtualenv
84 | pip
85 | nbextensions
86 | win_jupyter
87 | python_checkup
88 | dbeaver
89 | setup/windows_settings
90 | win_vs_redistributable
91 | win_docker
92 | gcp_setup
93 | gcp_setup_wsl
94 | gcp_setup_end
95 | kitt
96 | setup/windows_slack
97 | setup/slack_settings
98 | kata
99 | ].freeze
100 |
101 | WINDOWS_KC = %w[
102 | keep_current
103 | python_checkup
104 | ].freeze
105 |
106 | LINUX = %w[
107 | intro
108 | setup/github
109 | setup/ubuntu_vscode
110 | vscode_extensions
111 | setup/cli_tools
112 | chrome
113 | setup/oh_my_zsh
114 | direnv
115 | setup/gh_cli
116 | ubuntu_gcloud
117 | dotfiles
118 | dotfiles_new_student
119 | dotfiles_new_laptop
120 | dotfiles_merge_upstream
121 | dotfiles_same_laptop
122 | dotfiles_merge_upstream
123 | dotfiles_installer
124 | setup/ssh_agent
125 | conda_uninstall
126 | ubuntu_python
127 | virtualenv
128 | pip
129 | nbextensions
130 | python_checkup
131 | dbeaver
132 | ubuntu_docker
133 | gcp_setup
134 | gcp_setup_linux
135 | gcp_setup_end
136 | kitt
137 | setup/ubuntu_slack
138 | setup/slack_settings
139 | kata
140 | ]
141 |
142 | LINUX_KC = %w[
143 | keep_current
144 | python_checkup
145 | ]
146 |
147 | VM = %w[
148 | intro
149 | chrome
150 | setup/github
151 | de_setup/ssh_key
152 | de_setup/gcp_setup
153 | de_setup/virtual_machine
154 | de_setup/win_vscode
155 | de_setup/vscode_remote_ssh
156 | vscode_extensions
157 | setup/cli_tools
158 | setup/oh_my_zsh
159 | direnv
160 | setup/gh_cli
161 | de_setup/ubuntu_gcloud
162 | de_setup/gcp_setup_linux
163 | dotfiles
164 | dotfiles_new_student
165 | dotfiles_new_laptop
166 | dotfiles_merge_upstream
167 | dotfiles_same_laptop
168 | dotfiles_merge_upstream
169 | dotfiles_installer
170 | de_setup/zsh_default_terminal
171 | setup/ssh_agent
172 | ubuntu_python
173 | virtualenv
174 | pip
175 | nbextensions
176 | python_checkup
177 | dbeaver
178 | ubuntu_docker
179 | kitt
180 | setup/windows_slack
181 | setup/slack_settings
182 | kata
183 | ]
184 |
185 | LOCALES = ["", "es"] # english + spanish locales
186 |
187 | FILENAMES = {
188 | "WINDOWS" => ["WINDOWS", WINDOWS],
189 | "macOS" => ["macOS", MAC_OS],
190 | "LINUX" => ["LINUX", LINUX],
191 | "WINDOWS_keep_current" => ["WINDOWS", WINDOWS_KC],
192 | "macOS_keep_current" => ["macOS", MAC_OS_KC],
193 | "LINUX_keep_current" => ["LINUX", LINUX_KC],
194 | "VM" => ["VM", VM]
195 | }
196 |
197 | DELIMITERS = {
198 | "WINDOWS" => ["\\$WINDOWS_START\n", "\\$WINDOWS_END\n"],
199 | "macOS" => ["\\$MAC_START\n", "\\$MAC_END\n"],
200 | "LINUX" => ["\\$LINUX_START\n", "\\$LINUX_END\n"],
201 | "VM" => ["\\$LINUX_START\n", "\\$LINUX_END\n"]
202 | }
203 |
204 | def load_partial(partial, locale)
205 | match_setup = partial.match(/setup\/(?[0-9a-z_]+)/)
206 | match_de_setup = partial.match(/de_setup\/(?[0-9a-z_]+)/)
207 | if match_de_setup
208 | partial = match_de_setup[:partial]
209 | elsif match_setup
210 | partial = match_setup[:partial]
211 | end
212 | partial = File.join(locale, partial) unless locale.empty?
213 | file = File.join("_partials", "#{partial}.md")
214 | if match_de_setup
215 | content = URI.open(File.join("https://raw.githubusercontent.com/lewagon/data-engineering-setup/main", file))
216 | .read
217 | # replace data-setup repo relative path by data-engineering-setup repo URL
218 | image_paths = content.scan(/\!\[.*\]\((.*)\)/).flatten
219 | image_paths.each { |ip| content.gsub!(ip, "https://github.com/lewagon/data-engineering-setup/blob/main/#{ip}")}
220 | # alternative image format
221 | image_paths = content.scan(/src="(images\/.*)"/).flatten
222 | image_paths.each { |ip| content.gsub!(ip, "https://github.com/lewagon/data-engineering-setup/blob/main/#{ip}")}
223 | elsif match_setup
224 | content = URI.open(File.join("https://raw.githubusercontent.com/lewagon/setup/master", file))
225 | .read
226 | # replace data-setup repo relative path by setup repo URL
227 | image_paths = content.scan(/\!\[.*\]\((.*)\)/).flatten
228 | image_paths.each { |ip| content.gsub!(ip, "https://github.com/lewagon/setup/blob/master/#{ip}")}
229 | else
230 | content = File.read(file, encoding: "utf-8")
231 | end
232 | return content
233 | end
234 |
235 | # load partials
236 | loaded = FILENAMES.map { |filename, (os_name, partials)| partials }.flatten.uniq
237 | loaded = loaded.map { |partial| LOCALES.map { |locale| [partial, locale]} }.flatten(1)
238 | loaded = loaded.map { |partial, locale| ["#{partial}.#{locale}", load_partial(partial, locale)] }.to_h
239 |
240 | # write files
241 | LOCALES.each do |locale|
242 | FILENAMES.each do |filename, (os_name, partials)|
243 | filename += ".#{locale}" unless locale.empty?
244 | filename += ".md"
245 | File.open(filename, "w:utf-8") do |f|
246 | partials.each do |partial|
247 | content = loaded["#{partial}.#{locale}"].clone
248 | # remove the OS dependant blocks
249 | removed_blocks = DELIMITERS.keys - [os_name]
250 | removed_blocks = removed_blocks - ["LINUX"] if os_name == "VM"
251 | removed_blocks = removed_blocks - ["VM"] if os_name == "LINUX"
252 | removed_blocks.each do |block|
253 | delimiter_start, delimiter_end = DELIMITERS[block]
254 | pattern = "#{delimiter_start}(.|\n)*?(?", value)
263 | end
264 | f << content
265 | f << "\n\n"
266 | end
267 | end
268 | end
269 | end
270 |
--------------------------------------------------------------------------------
/checks/pip_check.py:
--------------------------------------------------------------------------------
1 | print('Loading pandas...')
2 | import pandas as pd
3 | df = pd.DataFrame({'pandas':['OK']})
4 | df.shape
5 | print('✅ pandas OK')
6 | print('Loading Scikit-learn...')
7 | from sklearn.decomposition import PCA
8 | pca = PCA()
9 | print('✅ Scikit-learn OK')
10 | print('Loading TensorFlow...')
11 | from tensorflow.keras import Sequential, layers
12 | model = Sequential()
13 | model.add(layers.Input(shape=(4,)))
14 | model.add(layers.Dense(10, activation='relu'))
15 | model.add(layers.Dense(1, activation='linear'))
16 | model.summary()
17 | print('✅ TensorFlow OK')
18 |
--------------------------------------------------------------------------------
/checks/pip_check.sh:
--------------------------------------------------------------------------------
1 | REQUIRED=('pytest' 'pylint' 'ipdb' 'PyYAML' 'nbresult' 'lxml' 'requests' 'beautifulsoup4' 'jupyterlab' 'pandas' 'matplotlib' 'seaborn' 'plotly' 'scikit-learn' 'tensorflow' 'nbconvert' 'xgboost' 'statsmodels')
2 | PACKAGES=$(pip freeze)
3 | PACKS=()
4 | while read -r line; do
5 | PACKS+=("$line")
6 | done <<< "$PACKAGES"
7 | missing=()
8 | arch_name="$(uname -m)"
9 | if [[ $OSTYPE == 'darwin'* ]]
10 | then
11 | if [ "${arch_name}" = "x86_64" ]; then
12 | if [ "$(sysctl -in sysctl.proc_translated)" = "1" ]; then
13 | arch_name='m1'
14 | fi
15 | elif [ "${arch_name}" = "arm64" ]; then
16 | arch_name='m1'
17 | fi
18 | fi
19 | for r in ${REQUIRED[@]}; do
20 | echo $r
21 | present=0
22 | for p in ${PACKS[@]}; do
23 | if (($present == 0)); then
24 | q=${p//==[0-9|\.]*/}
25 | if [ $r = ${q} ]; then
26 | present=1
27 | fi
28 | fi
29 | done
30 | if (($present == 0))
31 | then
32 | missing+=($r)
33 | fi
34 | done
35 | if (( ${#missing[@]} )); then
36 | sentence='❌ Some packages are missing: '
37 | sentence+=$missing
38 | echo $sentence
39 | echo '👉 Ask a TA for help to check your python setup.'
40 | echo ' Note to TAs: First thing to do: redo the Python packages step of the instructions.'
41 | exit 1
42 | else
43 | echo '✅ Everything is fine, continue the setup instructions.'
44 | fi
45 |
--------------------------------------------------------------------------------
/checks/python_checker.sh:
--------------------------------------------------------------------------------
1 | my_python_version=$(python -V)
2 | if [[ $my_python_version = *$0* ]];then
3 | echo "✅ Your Python version OK."
4 | else
5 | echo "❌ Your Python version is $my_python_version but it should be $0."
6 | exit 1
7 | fi
8 |
--------------------------------------------------------------------------------
/confs.rb:
--------------------------------------------------------------------------------
1 |
2 | require 'yaml'
3 |
4 | # read package conf
5 | specs_path = File.join('specs', 'base', 'packages.yml')
6 |
7 | package_confs = YAML.load_file(specs_path)
8 |
9 | python_version = package_confs["python"]
10 | glovebox = package_confs["glovebox"]
11 | setup = package_confs["setup"]
12 | platform = package_confs["platform"]
13 | modules = package_confs["modules"]
14 |
15 | full_mods = modules.values.flatten
16 |
17 | confs = {
18 | glovebox: glovebox,
19 | apple_intel: glovebox + setup + full_mods + platform["apple_intel"],
20 | apple_silicon: glovebox + setup + full_mods + platform["apple_silicon"],
21 | linux: glovebox + setup + full_mods + platform["linux"],
22 | }
23 |
24 | # write python version
25 | python_path = File.join('specs', 'releases', 'python_version.txt')
26 |
27 | File.open(python_path, 'w') { |file| file.write("#{python_version}\n") }
28 |
29 | # write generated conf files
30 | confs.each do |conf, packages|
31 |
32 | # build conf requirement path
33 | conf_raw_path = File.join('specs', 'constraintless', "#{conf}.txt")
34 | conf_path = File.join('specs', 'generated', "#{conf}.txt")
35 |
36 | File.open(conf_raw_path, 'w') do |file_raw|
37 | File.open(conf_path, 'w') do |file|
38 |
39 | # write packages
40 | packages.each do |package|
41 |
42 | next if package.nil?
43 |
44 | raw_package = package.gsub(/<.*/, '').gsub(/<=.*/, '')
45 | .gsub(/>.*/, '').gsub(/>=.*/, '').gsub(/==.*/, '')
46 |
47 | file.write("#{package}\n")
48 | file_raw.write("#{raw_package}\n")
49 |
50 | end
51 |
52 | end
53 | end
54 |
55 | end
56 |
--------------------------------------------------------------------------------
/git-prompt.sh:
--------------------------------------------------------------------------------
1 | PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]' # set window title
2 | # PS1="$PS1"'\n' # new line
3 | # PS1="$PS1"'\[\033[32m\]' # change to green
4 | # PS1="$PS1"'\u@\h ' # user@host
5 | # PS1="$PS1"'\[\033[35m\]' # change to purple
6 | # PS1="$PS1"'$MSYSTEM ' # show MSYSTEM
7 | PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
8 | PS1="$PS1"'\w' # current working directory
9 | if test -z "$WINELOADERNOEXEC"
10 | then
11 | GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
12 | COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
13 | COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
14 | COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
15 | if test -f "$COMPLETION_PATH/git-prompt.sh"
16 | then
17 | . "$COMPLETION_PATH/git-completion.bash"
18 | . "$COMPLETION_PATH/git-prompt.sh"
19 | PS1="$PS1"'\[\033[36m\]' # change color to cyan
20 | PS1="$PS1"'`__git_ps1`' # bash function
21 | fi
22 | fi
23 | PS1="$PS1"'\[\033[0m\]' # change color
24 | # PS1="$PS1"'\n' # new line
25 | PS1="$PS1"' $ ' # prompt: always $
26 |
--------------------------------------------------------------------------------
/images/apple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/apple.png
--------------------------------------------------------------------------------
/images/docker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/docker.png
--------------------------------------------------------------------------------
/images/docker_hello.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/docker_hello.png
--------------------------------------------------------------------------------
/images/docker_info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/docker_info.png
--------------------------------------------------------------------------------
/images/gcp-billing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/gcp-billing.png
--------------------------------------------------------------------------------
/images/gcp-create-project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/gcp-create-project.png
--------------------------------------------------------------------------------
/images/gcp_create_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/gcp_create_key.png
--------------------------------------------------------------------------------
/images/gcp_project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/gcp_project.png
--------------------------------------------------------------------------------
/images/jupyter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/jupyter.png
--------------------------------------------------------------------------------
/images/jupyter_nbextensions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/jupyter_nbextensions.png
--------------------------------------------------------------------------------
/images/jupyter_new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/jupyter_new.png
--------------------------------------------------------------------------------
/images/jupyter_notebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/jupyter_notebook.png
--------------------------------------------------------------------------------
/images/linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/linux.png
--------------------------------------------------------------------------------
/images/macos_open_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/macos_open_terminal.png
--------------------------------------------------------------------------------
/images/nbextensions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/nbextensions.png
--------------------------------------------------------------------------------
/images/vm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/vm.png
--------------------------------------------------------------------------------
/images/windows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/windows.png
--------------------------------------------------------------------------------
/images/wsl-gcp-dir-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/wsl-gcp-dir-2.png
--------------------------------------------------------------------------------
/images/wsl-gcp-dir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/wsl-gcp-dir.png
--------------------------------------------------------------------------------
/images/wsl-gcp-key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/wsl-gcp-key.png
--------------------------------------------------------------------------------
/images/wsl_jupyter_notebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lewagon/data-setup/4391546174ee4452742840d3e74c71ac2472693d/images/wsl_jupyter_notebook.png
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | name = "data-setup"
2 | version = "0.2.0"
3 |
--------------------------------------------------------------------------------
/specs/jupyter/custom.css:
--------------------------------------------------------------------------------
1 | /* Custom CSS for Jupyter Notebook
2 |
3 | Should go into ~/.jupyter/custom/custom.css
4 |
5 | Only impacts the Jupyter Notebook interface, not VS Code for example
6 | */
7 |
8 |
9 | /* Prettify disclosure elements used for hints and solutions
10 | - Use same color as cell editor background
11 | - Add padding and margin to make it look like a card
12 | - Make the summary element bold
13 | - Add a marker to the summary element
14 | */
15 |
16 | details {
17 | padding: 5px 10px 5px;
18 | margin-bottom: 1em;
19 | }
20 |
21 | details[open]{
22 | }
23 |
24 | body[data-jp-theme-light=true] details {
25 | background-color: var(--jp-cell-editor-background);
26 | }
27 |
28 | body[data-jp-theme-light=false] details {
29 | background-color: var(--jp-cell-editor-background);
30 | }
31 |
32 | summary {
33 | cursor: pointer;
34 | display: list-item;
35 | font-weight: bold;
36 | background-color: var(--jp-cell-editor-background);
37 | }
38 |
39 | summary::marker {
40 | font-size: 1em;
41 | }
42 |
43 | details > p {
44 | margin-top: 5px !important;
45 | margin-bottom: 0 !important;
46 | }
47 |
48 | /* Reference for future use
49 | */
50 |
51 | body[data-jp-theme-light=true] .jp-InputArea-editor {
52 | /* To change code and markdown input cells in light mode */
53 | }
54 |
55 | body[data-jp-theme-light=false] .jp-InputArea-editor {
56 | /* To change code and markdown input cells in dark mode */
57 | }
58 |
--------------------------------------------------------------------------------
/specs/releases/README.md:
--------------------------------------------------------------------------------
1 |
2 | ## files
3 |
4 | files generated from https://github.com/lewagon/utils/blob/master/data-setup/process/base/requirements.txt
5 |
6 | apple_intel
7 | apple_silicon from this release this refers to a native silicon setup (without using rosetta i386)
8 | glovebox
9 | linux
10 | python_version
11 |
--------------------------------------------------------------------------------
/specs/releases/apple_intel.txt:
--------------------------------------------------------------------------------
1 | absl-py==2.1.0
2 | annotated-types==0.7.0
3 | anyio==4.8.0
4 | appnope==0.1.4
5 | argon2-cffi-bindings==21.2.0
6 | argon2-cffi==23.1.0
7 | arrow==1.3.0
8 | astroid==3.3.8
9 | asttokens==3.0.0
10 | astunparse==1.6.3
11 | async-lru==2.0.4
12 | attrs==25.1.0
13 | babel==2.17.0
14 | beautifulsoup4==4.13.3
15 | black==25.1.0
16 | bleach==6.2.0
17 | certifi==2025.1.31
18 | cffi==1.17.1
19 | charset-normalizer==3.4.1
20 | click==8.1.8
21 | comm==0.2.2
22 | contourpy==1.3.1
23 | cycler==0.12.1
24 | cython==3.0.12
25 | dacite==1.9.2
26 | debugpy==1.8.12
27 | decorator==5.2.0
28 | defusedxml==0.7.1
29 | dill==0.3.9
30 | dm-tree==0.1.8
31 | docstring-parser==0.16
32 | etils==1.12.0
33 | executing==2.2.0
34 | fastjsonschema==2.21.1
35 | filelock==3.17.0
36 | flatbuffers==25.2.10
37 | fonttools==4.56.0
38 | fqdn==1.5.1
39 | fsspec==2025.2.0
40 | gast==0.6.0
41 | gensim==4.3.3
42 | google-pasta==0.2.0
43 | googleapis-common-protos==1.68.0
44 | graphviz==0.20.3
45 | grpcio==1.70.0
46 | h11==0.14.0
47 | h5py==3.13.0
48 | htmlmin==0.1.12
49 | httpcore==1.0.7
50 | httpx==0.28.1
51 | huggingface-hub==0.29.1
52 | idna==3.10
53 | imagehash==4.3.1
54 | imageio==2.37.0
55 | imbalanced-learn==0.13.0
56 | imblearn==0.0
57 | immutabledict==4.2.1
58 | importlib-resources==6.5.2
59 | iniconfig==2.0.0
60 | ipdb==0.13.13
61 | ipykernel==6.29.5
62 | ipympl==0.9.6
63 | ipython==8.32.0
64 | ipywidgets==8.1.5
65 | isoduration==20.11.0
66 | isort==6.0.0
67 | jedi==0.19.2
68 | jinja2==3.1.5
69 | joblib==1.4.2
70 | json5==0.10.0
71 | jsonpointer==3.0.0
72 | jsonschema-specifications==2024.10.1
73 | jsonschema==4.23.0
74 | jupyter-client==8.6.3
75 | jupyter-core==5.7.2
76 | jupyter-events==0.12.0
77 | jupyter-lsp==2.2.5
78 | jupyter-server-terminals==0.5.3
79 | jupyter-server==2.15.0
80 | jupyterlab-code-formatter==3.0.2
81 | jupyterlab-execute-time==3.2.0
82 | jupyterlab-pygments==0.3.0
83 | jupyterlab-server==2.27.3
84 | jupyterlab-widgets==3.0.13
85 | jupyterlab==4.3.5
86 | kagglehub==0.3.9
87 | keras-hub==0.19.0
88 | keras-nlp==0.19.0
89 | keras==3.8.0
90 | kiwisolver==1.4.8
91 | lazy-loader==0.4
92 | libclang==18.1.1
93 | lxml==5.3.1
94 | markdown-it-py==3.0.0
95 | markdown==3.7
96 | markupsafe==3.0.2
97 | matplotlib-inline==0.1.7
98 | matplotlib==3.10.0
99 | mccabe==0.7.0
100 | mdurl==0.1.2
101 | memoized-property==1.0.3
102 | mistune==3.1.2
103 | ml-dtypes==0.3.2
104 | mpmath==1.3.0
105 | multimethod==1.12
106 | mypy-extensions==1.0.0
107 | namex==0.0.8
108 | narwhals==1.27.1
109 | nbclient==0.10.2
110 | nbconvert==7.16.6
111 | nbformat==5.10.4
112 | nbresult==0.1.1
113 | nest-asyncio==1.6.0
114 | networkx==3.4.2
115 | nltk==3.9.1
116 | notebook-shim==0.2.4
117 | notebook==7.3.2
118 | numpy==1.26.4
119 | opt-einsum==3.4.0
120 | optree==0.14.0
121 | overrides==7.7.0
122 | packaging==24.2
123 | pandas==2.2.3
124 | pandocfilters==1.5.1
125 | parso==0.8.4
126 | pathspec==0.12.1
127 | patsy==1.0.1
128 | pexpect==4.9.0
129 | phik==0.12.4
130 | pillow==11.1.0
131 | platformdirs==4.3.6
132 | plotly==6.0.0
133 | pluggy==1.5.0
134 | pmdarima==2.0.4
135 | prometheus-client==0.21.1
136 | promise==2.3
137 | prompt-toolkit==3.0.50
138 | protobuf==4.25.6
139 | psutil==7.0.0
140 | ptyprocess==0.7.0
141 | pure-eval==0.2.3
142 | pyarrow==19.0.1
143 | pycparser==2.22
144 | pydantic-core==2.27.2
145 | pydantic==2.10.6
146 | pygments==2.19.1
147 | pylint==3.3.4
148 | pyparsing==3.2.1
149 | pytesseract==0.3.13
150 | pytest==8.3.4
151 | python-dateutil==2.9.0.post0
152 | python-json-logger==3.2.1
153 | pytz==2025.1
154 | pywavelets==1.8.0
155 | pyyaml==6.0.2
156 | pyzmq==26.2.1
157 | referencing==0.36.2
158 | regex==2024.11.6
159 | requests==2.32.3
160 | rfc3339-validator==0.1.4
161 | rfc3986-validator==0.1.1
162 | rich==13.9.4
163 | rpds-py==0.23.1
164 | sacremoses==0.1.1
165 | safetensors==0.5.2
166 | scikit-image==0.25.2
167 | scikit-learn==1.6.1
168 | scipy==1.13.1
169 | seaborn==0.13.2
170 | send2trash==1.8.3
171 | sentencepiece==0.2.0
172 | setuptools==75.8.0
173 | simple-parsing==0.1.7
174 | six==1.17.0
175 | sklearn-compat==0.1.3
176 | smart-open==7.1.0
177 | sniffio==1.3.1
178 | soupsieve==2.6
179 | stack-data==0.6.3
180 | statsmodels==0.14.4
181 | sympy==1.13.1
182 | tabulate==0.9.0
183 | tensorboard-data-server==0.7.2
184 | tensorboard==2.16.2
185 | tensorflow-datasets==4.9.7
186 | tensorflow-metadata==1.16.1
187 | tensorflow==2.16.2
188 | termcolor==2.5.0
189 | terminado==0.18.1
190 | tf-keras==2.16.0
191 | threadpoolctl==3.5.0
192 | tifffile==2025.2.18
193 | tinycss2==1.4.0
194 | tokenizers==0.21.0
195 | toml==0.10.2
196 | tomlkit==0.13.2
197 | torch==2.2.0
198 | tornado==6.4.2
199 | tqdm==4.67.1
200 | traitlets==5.14.3
201 | transformers==4.49.0
202 | typeguard==4.4.2
203 | types-python-dateutil==2.9.0.20241206
204 | typing-extensions==4.12.2
205 | tzdata==2025.1
206 | unidecode==1.3.8
207 | uri-template==1.3.0
208 | urllib3==2.3.0
209 | visions==0.7.6
210 | wcwidth==0.2.13
211 | webcolors==24.11.1
212 | webencodings==0.5.1
213 | websocket-client==1.8.0
214 | werkzeug==3.1.3
215 | wheel==0.45.1
216 | widgetsnbextension==4.0.13
217 | wordcloud==1.9.4
218 | wrapt==1.17.2
219 | xgboost==2.1.4
220 | ydata-profiling==4.12.2
221 | zipp==3.21.0
222 |
--------------------------------------------------------------------------------
/specs/releases/apple_silicon.txt:
--------------------------------------------------------------------------------
1 | absl-py==2.1.0
2 | annotated-types==0.7.0
3 | anyio==4.8.0
4 | appnope==0.1.4
5 | argon2-cffi-bindings==21.2.0
6 | argon2-cffi==23.1.0
7 | arrow==1.3.0
8 | astroid==3.3.8
9 | asttokens==3.0.0
10 | astunparse==1.6.3
11 | async-lru==2.0.4
12 | attrs==25.1.0
13 | babel==2.17.0
14 | beautifulsoup4==4.13.3
15 | black==25.1.0
16 | bleach==6.2.0
17 | certifi==2025.1.31
18 | cffi==1.17.1
19 | charset-normalizer==3.4.1
20 | click==8.1.8
21 | comm==0.2.2
22 | contourpy==1.3.1
23 | cycler==0.12.1
24 | cython==3.0.12
25 | dacite==1.9.2
26 | debugpy==1.8.12
27 | decorator==5.2.0
28 | defusedxml==0.7.1
29 | dill==0.3.9
30 | dm-tree==0.1.8
31 | docstring-parser==0.16
32 | etils==1.12.0
33 | executing==2.2.0
34 | fastjsonschema==2.21.1
35 | filelock==3.17.0
36 | flatbuffers==25.2.10
37 | fonttools==4.56.0
38 | fqdn==1.5.1
39 | fsspec==2025.2.0
40 | gast==0.6.0
41 | gensim==4.3.3
42 | google-pasta==0.2.0
43 | googleapis-common-protos==1.68.0
44 | graphviz==0.20.3
45 | grpcio==1.70.0
46 | h11==0.14.0
47 | h5py==3.13.0
48 | htmlmin==0.1.12
49 | httpcore==1.0.7
50 | httpx==0.28.1
51 | huggingface-hub==0.29.1
52 | idna==3.10
53 | imagehash==4.3.1
54 | imageio==2.37.0
55 | imbalanced-learn==0.13.0
56 | imblearn==0.0
57 | immutabledict==4.2.1
58 | importlib-resources==6.5.2
59 | iniconfig==2.0.0
60 | ipdb==0.13.13
61 | ipykernel==6.29.5
62 | ipympl==0.9.6
63 | ipython==8.32.0
64 | ipywidgets==8.1.5
65 | isoduration==20.11.0
66 | isort==6.0.0
67 | jedi==0.19.2
68 | jinja2==3.1.5
69 | joblib==1.4.2
70 | json5==0.10.0
71 | jsonpointer==3.0.0
72 | jsonschema-specifications==2024.10.1
73 | jsonschema==4.23.0
74 | jupyter-client==8.6.3
75 | jupyter-core==5.7.2
76 | jupyter-events==0.12.0
77 | jupyter-lsp==2.2.5
78 | jupyter-server-terminals==0.5.3
79 | jupyter-server==2.15.0
80 | jupyterlab-code-formatter==3.0.2
81 | jupyterlab-execute-time==3.2.0
82 | jupyterlab-pygments==0.3.0
83 | jupyterlab-server==2.27.3
84 | jupyterlab-widgets==3.0.13
85 | jupyterlab==4.3.5
86 | kagglehub==0.3.9
87 | keras-hub==0.19.0
88 | keras-nlp==0.19.0
89 | keras==3.8.0
90 | kiwisolver==1.4.8
91 | lazy-loader==0.4
92 | libclang==18.1.1
93 | lxml==5.3.1
94 | markdown-it-py==3.0.0
95 | markdown==3.7
96 | markupsafe==3.0.2
97 | matplotlib-inline==0.1.7
98 | matplotlib==3.10.0
99 | mccabe==0.7.0
100 | mdurl==0.1.2
101 | memoized-property==1.0.3
102 | mistune==3.1.2
103 | ml-dtypes==0.3.2
104 | mpmath==1.3.0
105 | multimethod==1.12
106 | mypy-extensions==1.0.0
107 | namex==0.0.8
108 | narwhals==1.27.1
109 | nbclient==0.10.2
110 | nbconvert==7.16.6
111 | nbformat==5.10.4
112 | nbresult==0.1.1
113 | nest-asyncio==1.6.0
114 | networkx==3.4.2
115 | nltk==3.9.1
116 | notebook-shim==0.2.4
117 | notebook==7.3.2
118 | numpy==1.26.4
119 | opt-einsum==3.4.0
120 | optree==0.14.0
121 | overrides==7.7.0
122 | packaging==24.2
123 | pandas==2.2.3
124 | pandocfilters==1.5.1
125 | parso==0.8.4
126 | pathspec==0.12.1
127 | patsy==1.0.1
128 | pexpect==4.9.0
129 | phik==0.12.4
130 | pillow==11.1.0
131 | platformdirs==4.3.6
132 | plotly==6.0.0
133 | pluggy==1.5.0
134 | pmdarima==2.0.4
135 | prometheus-client==0.21.1
136 | promise==2.3
137 | prompt-toolkit==3.0.50
138 | protobuf==4.25.6
139 | psutil==7.0.0
140 | ptyprocess==0.7.0
141 | pure-eval==0.2.3
142 | pyarrow==19.0.1
143 | pycparser==2.22
144 | pydantic-core==2.27.2
145 | pydantic==2.10.6
146 | pygments==2.19.1
147 | pylint==3.3.4
148 | pyparsing==3.2.1
149 | pytesseract==0.3.13
150 | pytest==8.3.4
151 | python-dateutil==2.9.0.post0
152 | python-json-logger==3.2.1
153 | pytz==2025.1
154 | pywavelets==1.8.0
155 | pyyaml==6.0.2
156 | pyzmq==26.2.1
157 | referencing==0.36.2
158 | regex==2024.11.6
159 | requests==2.32.3
160 | rfc3339-validator==0.1.4
161 | rfc3986-validator==0.1.1
162 | rich==13.9.4
163 | rpds-py==0.23.1
164 | sacremoses==0.1.1
165 | safetensors==0.5.2
166 | scikit-image==0.25.2
167 | scikit-learn==1.6.1
168 | scipy==1.13.1
169 | seaborn==0.13.2
170 | send2trash==1.8.3
171 | sentencepiece==0.2.0
172 | setuptools==75.8.0
173 | simple-parsing==0.1.7
174 | six==1.17.0
175 | sklearn-compat==0.1.3
176 | smart-open==7.1.0
177 | sniffio==1.3.1
178 | soupsieve==2.6
179 | stack-data==0.6.3
180 | statsmodels==0.14.4
181 | sympy==1.13.1
182 | tabulate==0.9.0
183 | tensorboard-data-server==0.7.2
184 | tensorboard==2.16.2
185 | tensorflow-datasets==4.9.7
186 | tensorflow-metadata==1.16.1
187 | tensorflow==2.16.2
188 | termcolor==2.5.0
189 | terminado==0.18.1
190 | tf-keras==2.16.0
191 | threadpoolctl==3.5.0
192 | tifffile==2025.2.18
193 | tinycss2==1.4.0
194 | tokenizers==0.21.0
195 | toml==0.10.2
196 | tomlkit==0.13.2
197 | torch==2.6.0
198 | tornado==6.4.2
199 | tqdm==4.67.1
200 | traitlets==5.14.3
201 | transformers==4.49.0
202 | typeguard==4.4.2
203 | types-python-dateutil==2.9.0.20241206
204 | typing-extensions==4.12.2
205 | tzdata==2025.1
206 | unidecode==1.3.8
207 | uri-template==1.3.0
208 | urllib3==2.3.0
209 | visions==0.7.6
210 | wcwidth==0.2.13
211 | webcolors==24.11.1
212 | webencodings==0.5.1
213 | websocket-client==1.8.0
214 | werkzeug==3.1.3
215 | wheel==0.45.1
216 | widgetsnbextension==4.0.13
217 | wordcloud==1.9.4
218 | wrapt==1.17.2
219 | xgboost==2.1.4
220 | ydata-profiling==4.12.2
221 | zipp==3.21.0
222 |
--------------------------------------------------------------------------------
/specs/releases/certification.txt:
--------------------------------------------------------------------------------
1 | absl-py==1.3.0
2 | altair==4.2.0
3 | anyio==3.6.2
4 | argon2-cffi==21.3.0
5 | argon2-cffi-bindings==21.2.0
6 | astroid==2.11.7
7 | asttokens==2.0.8
8 | astunparse==1.6.3
9 | attrs==22.1.0
10 | autopep8==1.6.0
11 | Babel==2.10.3
12 | backcall==0.2.0
13 | beautifulsoup4==4.11.1
14 | bleach==5.0.1
15 | blinker==1.5
16 | branca==0.5.0
17 | cachetools==5.2.0
18 | certifi==2022.9.24
19 | cffi==1.15.1
20 | charset-normalizer==2.1.1
21 | click==8.1.3
22 | cloudpickle==2.2.0
23 | colorama==0.4.5
24 | commonmark==0.9.1
25 | cycler==0.11.0
26 | Cython==0.29.32
27 | dask==2022.7.1
28 | db-dtypes==1.0.4
29 | deap==1.3.3
30 | debugpy==1.6.3
31 | decorator==5.1.1
32 | defusedxml==0.7.1
33 | dill==0.3.6
34 | entrypoints==0.4
35 | etils==0.8.0
36 | executing==1.1.1
37 | fastjsonschema==2.16.2
38 | flake8==4.0.1
39 | flatbuffers==22.9.24
40 | folium==0.12.1.post1
41 | fonttools==4.38.0
42 | fsspec==2022.10.0
43 | gast==0.4.0
44 | gensim==4.2.0
45 | gitdb==4.0.9
46 | GitPython==3.1.29
47 | google-api-core==2.10.2
48 | google-auth==2.13.0
49 | google-auth-oauthlib==0.4.6
50 | google-cloud-bigquery==2.34.4
51 | google-cloud-bigquery-storage==2.16.2
52 | google-cloud-core==2.3.2
53 | google-cloud-storage==2.4.0
54 | google-crc32c==1.5.0
55 | google-pasta==0.2.0
56 | google-resumable-media==2.4.0
57 | google-trans-new==1.1.9
58 | googleapis-common-protos==1.56.4
59 | grpcio==1.50.0
60 | grpcio-status==1.48.2
61 | h11==0.12.0
62 | h5py==3.7.0
63 | htmlmin==0.1.12
64 | httpcore==0.15.0
65 | httpx==0.23.0
66 | idna==3.4
67 | ImageHash==4.3.1
68 | imageio==2.22.2
69 | imbalanced-learn==0.9.1
70 | imblearn==0.0
71 | importlib-metadata==5.0.0
72 | importlib-resources==5.10.0
73 | iniconfig==1.1.1
74 | ipdb==0.13.9
75 | ipykernel==6.15.3
76 | ipympl==0.9.2
77 | ipython==8.5.0
78 | ipython-genutils==0.2.0
79 | ipywidgets==7.7.2
80 | isort==5.10.1
81 | jedi==0.18.1
82 | Jinja2==3.1.2
83 | joblib==1.1.1
84 | json5==0.9.10
85 | jsonschema==4.16.0
86 | jupyter-contrib-core==0.4.0
87 | jupyter-contrib-nbextensions==0.5.1
88 | jupyter-highlight-selected-word==0.2.0
89 | jupyter-latex-envs==1.4.6
90 | jupyter-nbextensions-configurator==0.5.0
91 | jupyter-resource-usage==0.6.3
92 | jupyter-server==1.21.0
93 | jupyter_client==7.4.3
94 | jupyter_core==4.11.2
95 | jupyterlab==3.4.8
96 | jupyterlab-pygments==0.2.2
97 | jupyterlab-widgets==1.1.1
98 | jupyterlab_server==2.16.1
99 | kaggle==1.5.12
100 | keras==2.10.0
101 | Keras-Preprocessing==1.1.2
102 | kiwisolver==1.4.4
103 | lazy-object-proxy==1.7.1
104 | libclang==14.0.6
105 | locket==1.0.0
106 | lxml==4.9.1
107 | Markdown==3.4.1
108 | MarkupSafe==2.1.1
109 | matplotlib==3.5.3
110 | matplotlib-inline==0.1.6
111 | mccabe==0.6.1
112 | memoized-property==1.0.3
113 | missingno==0.5.1
114 | mistune==0.8.4
115 | multimethod==1.8
116 | nbclassic==0.4.7
117 | nbclient==0.7.0
118 | nbconvert==6.5.4
119 | nbformat==5.7.0
120 | nbresult==0.1.0
121 | nest-asyncio==1.5.6
122 | networkx==2.8.7
123 | nltk==3.7
124 | notebook==6.4.12
125 | notebook_shim==0.2.0
126 | numpy==1.23.4
127 | oauthlib==3.2.2
128 | opt-einsum==3.3.0
129 | packaging==21.3
130 | pandas==1.4.4
131 | pandas-gbq==0.17.9
132 | pandas-profiling==3.3.0
133 | pandocfilters==1.5.0
134 | parso==0.8.3
135 | partd==1.3.0
136 | patsy==0.5.3
137 | pexpect==4.8.0
138 | phik==0.12.2
139 | pickleshare==0.7.5
140 | Pillow==9.1.1
141 | platformdirs==2.5.2
142 | plotly==5.9.0
143 | pluggy==1.0.0
144 | pmdarima==2.0.1
145 | prometheus-client==0.15.0
146 | promise==2.3
147 | prompt-toolkit==3.0.31
148 | proto-plus==1.22.1
149 | protobuf==3.19.6
150 | psutil==5.9.3
151 | psycopg2-binary==2.9.4
152 | ptyprocess==0.7.0
153 | pure-eval==0.2.2
154 | py==1.11.0
155 | pyarrow==8.0.0
156 | pyasn1==0.4.8
157 | pyasn1-modules==0.2.8
158 | pycodestyle==2.8.0
159 | pycparser==2.21
160 | pydantic==1.9.2
161 | pydata-google-auth==1.4.0
162 | pydeck==0.8.0b4
163 | pyflakes==2.4.0
164 | Pygments==2.13.0
165 | pylint==2.14.5
166 | Pympler==1.0.1
167 | pyparsing==3.0.9
168 | pyrsistent==0.18.1
169 | pytest==7.1.3
170 | pytest-asyncio==0.19.0
171 | python-dateutil==2.8.2
172 | python-dotenv==0.20.0
173 | python-slugify==6.1.2
174 | pytz==2022.1
175 | pytz-deprecation-shim==0.1.0.post0
176 | PyWavelets==1.4.1
177 | PyYAML==5.4.1
178 | pyzmq==24.0.1
179 | regex==2022.9.13
180 | requests==2.28.1
181 | requests-oauthlib==1.3.1
182 | rfc3986==1.5.0
183 | rich==12.6.0
184 | rsa==4.9
185 | scikit-image==0.19.3
186 | scikit-learn==1.1.2
187 | scipy==1.8.1
188 | seaborn==0.11.2
189 | semver==2.13.0
190 | Send2Trash==1.8.0
191 | setuptools-scm==6.4.2
192 | six==1.16.0
193 | smart-open==6.2.0
194 | smmap==5.0.0
195 | sniffio==1.3.0
196 | soupsieve==2.3.2.post1
197 | stack-data==0.5.1
198 | statsmodels==0.13.2
199 | stopit==1.1.2
200 | streamlit==1.11.1
201 | tangled-up-in-unicode==0.2.0
202 | tenacity==8.1.0
203 | tensorboard==2.10.1
204 | tensorboard-data-server==0.6.1
205 | tensorboard-plugin-wit==1.8.1
206 | tensorflow==2.10.0
207 | tensorflow-datasets==4.6.0
208 | tensorflow-estimator==2.10.0
209 | tensorflow-io-gcs-filesystem==0.27.0
210 | tensorflow-metadata==1.10.0
211 | termcolor==2.0.1
212 | terminado==0.16.0
213 | text-unidecode==1.3
214 | threadpoolctl==3.1.0
215 | tifffile==2022.10.10
216 | tinycss2==1.2.1
217 | toml==0.10.2
218 | tomli==2.0.1
219 | tomlkit==0.11.5
220 | toolz==0.12.0
221 | tornado==6.2
222 | TPOT==0.11.7
223 | tqdm==4.64.1
224 | traitlets==5.5.0
225 | typing_extensions==4.4.0
226 | tzdata==2022.5
227 | tzlocal==4.2
228 | update-checker==0.18.0
229 | urllib3==1.26.12
230 | validators==0.20.0
231 | visions==0.7.5
232 | watchdog==2.1.9
233 | wcwidth==0.2.5
234 | webencodings==0.5.1
235 | websocket-client==1.4.1
236 | Werkzeug==2.2.2
237 | widgetsnbextension==3.6.1
238 | wrapt==1.14.1
239 | xgboost==1.6.2
240 | XlsxWriter==3.0.3
241 | yapf==0.32.0
242 | zipp==3.10.0
243 |
--------------------------------------------------------------------------------
/specs/releases/glovebox.txt:
--------------------------------------------------------------------------------
1 | astroid==3.3.8
2 | asttokens==3.0.0
3 | beautifulsoup4==4.13.3
4 | black==25.1.0
5 | certifi==2025.1.31
6 | charset-normalizer==3.4.1
7 | click==8.1.8
8 | decorator==5.2.0
9 | dill==0.3.9
10 | executing==2.2.0
11 | idna==3.10
12 | iniconfig==2.0.0
13 | ipdb==0.13.13
14 | ipython==8.32.0
15 | isort==6.0.0
16 | jedi==0.19.2
17 | lxml==5.3.1
18 | matplotlib-inline==0.1.7
19 | mccabe==0.7.0
20 | memoized-property==1.0.3
21 | mypy-extensions==1.0.0
22 | nbresult==0.1.1
23 | numpy==1.26.4
24 | packaging==24.2
25 | pandas==2.2.3
26 | parso==0.8.4
27 | pathspec==0.12.1
28 | pexpect==4.9.0
29 | platformdirs==4.3.6
30 | pluggy==1.5.0
31 | prompt-toolkit==3.0.50
32 | ptyprocess==0.7.0
33 | pure-eval==0.2.3
34 | pygments==2.19.1
35 | pylint==3.3.4
36 | pytest==8.3.4
37 | python-dateutil==2.9.0.post0
38 | pytz==2025.1
39 | pyyaml==6.0.2
40 | requests==2.32.3
41 | six==1.17.0
42 | soupsieve==2.6
43 | stack-data==0.6.3
44 | tomlkit==0.13.2
45 | traitlets==5.14.3
46 | typing-extensions==4.12.2
47 | tzdata==2025.1
48 | urllib3==2.3.0
49 | wcwidth==0.2.13
50 |
--------------------------------------------------------------------------------
/specs/releases/linux.txt:
--------------------------------------------------------------------------------
1 | absl-py==2.1.0
2 | annotated-types==0.7.0
3 | anyio==4.8.0
4 | argon2-cffi-bindings==21.2.0
5 | argon2-cffi==23.1.0
6 | array-record==0.6.0
7 | arrow==1.3.0
8 | astroid==3.3.8
9 | asttokens==3.0.0
10 | astunparse==1.6.3
11 | async-lru==2.0.4
12 | attrs==25.1.0
13 | babel==2.17.0
14 | beautifulsoup4==4.13.3
15 | black==25.1.0
16 | bleach==6.2.0
17 | certifi==2025.1.31
18 | cffi==1.17.1
19 | charset-normalizer==3.4.1
20 | click==8.1.8
21 | comm==0.2.2
22 | contourpy==1.3.1
23 | cycler==0.12.1
24 | cython==3.0.12
25 | dacite==1.9.2
26 | debugpy==1.8.12
27 | decorator==5.2.0
28 | defusedxml==0.7.1
29 | dill==0.3.9
30 | dm-tree==0.1.8
31 | docstring-parser==0.16
32 | etils==1.12.0
33 | executing==2.2.0
34 | fastjsonschema==2.21.1
35 | filelock==3.17.0
36 | flatbuffers==25.2.10
37 | fonttools==4.56.0
38 | fqdn==1.5.1
39 | fsspec==2025.2.0
40 | gast==0.6.0
41 | gensim==4.3.3
42 | google-pasta==0.2.0
43 | googleapis-common-protos==1.68.0
44 | graphviz==0.20.3
45 | grpcio==1.70.0
46 | h11==0.14.0
47 | h5py==3.13.0
48 | htmlmin==0.1.12
49 | httpcore==1.0.7
50 | httpx==0.28.1
51 | huggingface-hub==0.29.1
52 | idna==3.10
53 | imagehash==4.3.1
54 | imageio==2.37.0
55 | imbalanced-learn==0.13.0
56 | imblearn==0.0
57 | immutabledict==4.2.1
58 | importlib-resources==6.5.2
59 | iniconfig==2.0.0
60 | ipdb==0.13.13
61 | ipykernel==6.29.5
62 | ipympl==0.9.6
63 | ipython==8.32.0
64 | ipywidgets==8.1.5
65 | isoduration==20.11.0
66 | isort==6.0.0
67 | jedi==0.19.2
68 | jinja2==3.1.5
69 | joblib==1.4.2
70 | json5==0.10.0
71 | jsonpointer==3.0.0
72 | jsonschema-specifications==2024.10.1
73 | jsonschema==4.23.0
74 | jupyter-client==8.6.3
75 | jupyter-core==5.7.2
76 | jupyter-events==0.12.0
77 | jupyter-lsp==2.2.5
78 | jupyter-server-terminals==0.5.3
79 | jupyter-server==2.15.0
80 | jupyterlab-code-formatter==3.0.2
81 | jupyterlab-execute-time==3.2.0
82 | jupyterlab-pygments==0.3.0
83 | jupyterlab-server==2.27.3
84 | jupyterlab-widgets==3.0.13
85 | jupyterlab==4.3.5
86 | kagglehub==0.3.9
87 | keras-hub==0.19.0
88 | keras-nlp==0.19.0
89 | keras==3.8.0
90 | kiwisolver==1.4.8
91 | lazy-loader==0.4
92 | libclang==18.1.1
93 | lxml==5.3.1
94 | markdown-it-py==3.0.0
95 | markdown==3.7
96 | markupsafe==3.0.2
97 | matplotlib-inline==0.1.7
98 | matplotlib==3.10.0
99 | mccabe==0.7.0
100 | mdurl==0.1.2
101 | memoized-property==1.0.3
102 | mistune==3.1.2
103 | ml-dtypes==0.3.2
104 | mpmath==1.3.0
105 | multimethod==1.12
106 | mypy-extensions==1.0.0
107 | namex==0.0.8
108 | narwhals==1.27.1
109 | nbclient==0.10.2
110 | nbconvert==7.16.6
111 | nbformat==5.10.4
112 | nbresult==0.1.1
113 | nest-asyncio==1.6.0
114 | networkx==3.4.2
115 | nltk==3.9.1
116 | notebook-shim==0.2.4
117 | notebook==7.3.2
118 | numpy==1.26.4
119 | opt-einsum==3.4.0
120 | optree==0.14.0
121 | overrides==7.7.0
122 | packaging==24.2
123 | pandas==2.2.3
124 | pandocfilters==1.5.1
125 | parso==0.8.4
126 | pathspec==0.12.1
127 | patsy==1.0.1
128 | pexpect==4.9.0
129 | phik==0.12.4
130 | pillow==11.1.0
131 | platformdirs==4.3.6
132 | plotly==6.0.0
133 | pluggy==1.5.0
134 | pmdarima==2.0.4
135 | prometheus-client==0.21.1
136 | promise==2.3
137 | prompt-toolkit==3.0.50
138 | protobuf==4.25.6
139 | psutil==7.0.0
140 | ptyprocess==0.7.0
141 | pure-eval==0.2.3
142 | pyarrow==19.0.1
143 | pycparser==2.22
144 | pydantic-core==2.27.2
145 | pydantic==2.10.6
146 | pygments==2.19.1
147 | pylint==3.3.4
148 | pyparsing==3.2.1
149 | pytesseract==0.3.13
150 | pytest==8.3.4
151 | python-dateutil==2.9.0.post0
152 | python-json-logger==3.2.1
153 | pytz==2025.1
154 | pywavelets==1.8.0
155 | pyyaml==6.0.2
156 | pyzmq==26.2.1
157 | referencing==0.36.2
158 | regex==2024.11.6
159 | requests==2.32.3
160 | rfc3339-validator==0.1.4
161 | rfc3986-validator==0.1.1
162 | rich==13.9.4
163 | rpds-py==0.23.1
164 | sacremoses==0.1.1
165 | safetensors==0.5.2
166 | scikit-image==0.25.2
167 | scikit-learn==1.6.1
168 | scipy==1.13.1
169 | seaborn==0.13.2
170 | send2trash==1.8.3
171 | sentencepiece==0.2.0
172 | setuptools==75.8.0
173 | simple-parsing==0.1.7
174 | six==1.17.0
175 | sklearn-compat==0.1.3
176 | smart-open==7.1.0
177 | sniffio==1.3.1
178 | soupsieve==2.6
179 | stack-data==0.6.3
180 | statsmodels==0.14.4
181 | sympy==1.13.1
182 | tabulate==0.9.0
183 | tensorboard-data-server==0.7.2
184 | tensorboard==2.16.2
185 | tensorflow-datasets==4.9.7
186 | tensorflow-metadata==1.16.1
187 | tensorflow==2.16.2
188 | termcolor==2.5.0
189 | terminado==0.18.1
190 | tf-keras==2.16.0
191 | threadpoolctl==3.5.0
192 | tifffile==2025.2.18
193 | tinycss2==1.4.0
194 | tokenizers==0.21.0
195 | toml==0.10.2
196 | tomlkit==0.13.2
197 | # torch==2.6.0+cpu
198 | https://download.pytorch.org/whl/cpu-cxx11-abi/torch-2.6.0%2Bcpu.cxx11.abi-cp312-cp312-linux_x86_64.whl ; platform_machine == "x86_64"
199 | https://download.pytorch.org/whl/cpu/torch-2.6.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl; platform_machine == "aarch64"
200 | tornado==6.4.2
201 | tqdm==4.67.1
202 | traitlets==5.14.3
203 | transformers==4.49.0
204 | typeguard==4.4.2
205 | types-python-dateutil==2.9.0.20241206
206 | typing-extensions==4.12.2
207 | tzdata==2025.1
208 | unidecode==1.3.8
209 | uri-template==1.3.0
210 | urllib3==2.3.0
211 | visions==0.7.6
212 | wcwidth==0.2.13
213 | webcolors==24.11.1
214 | webencodings==0.5.1
215 | websocket-client==1.8.0
216 | werkzeug==3.1.3
217 | wheel==0.45.1
218 | widgetsnbextension==4.0.13
219 | wordcloud==1.9.4
220 | wrapt==1.17.2
221 | xgboost==2.1.4
222 | ydata-profiling==4.12.2
223 | zipp==3.21.0
224 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q1/README.md:
--------------------------------------------------------------------------------
1 |
2 | ## files
3 |
4 | apple_intel
5 | apple_silicon in this release this refers to a setup with rosetta i386
6 | glovebox
7 | linux
8 | python_version
9 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q1/apple_intel.txt:
--------------------------------------------------------------------------------
1 | absl-py==0.12.0
2 | aiobotocore==2.0.1
3 | aiohttp==3.8.1
4 | aioitertools==0.8.0
5 | aiosignal==1.2.0
6 | alembic==1.4.1
7 | anyio==3.4.0
8 | appnope==0.1.2
9 | argon2-cffi==21.3.0
10 | argon2-cffi-bindings==21.2.0
11 | asgiref==3.4.1
12 | astroid==2.7.3
13 | astunparse==1.6.3
14 | async-generator==1.10
15 | async-timeout==4.0.2
16 | attrs==21.4.0
17 | autopep8==1.6.0
18 | Babel==2.9.1
19 | backcall==0.2.0
20 | beautifulsoup4==4.10.0
21 | black==21.12b0
22 | bleach==4.1.0
23 | botocore==1.22.8
24 | branca==0.4.2
25 | cachetools==4.2.4
26 | category-encoders==2.3.0
27 | certifi==2021.10.8
28 | cffi==1.15.0
29 | charset-normalizer==2.0.10
30 | chromedriver-binary==77.0.3865.40.0
31 | click==8.0.3
32 | cloudpickle==2.0.0
33 | colorama==0.4.4
34 | coverage==6.2
35 | cryptography==36.0.1
36 | cycler==0.11.0
37 | Cython==0.29.26
38 | dask==2021.12.0
39 | databricks-cli==0.16.2
40 | deap==1.3.1
41 | debugpy==1.5.1
42 | decorator==5.1.0
43 | defusedxml==0.7.1
44 | dill==0.3.4
45 | docker==5.0.3
46 | entrypoints==0.3
47 | fastapi==0.70.1
48 | flake8==4.0.1
49 | Flask==2.0.2
50 | Flask-Cors==3.0.10
51 | flatbuffers==2.0
52 | folium==0.12.1.post1
53 | fonttools==4.28.5
54 | frozenlist==1.2.0
55 | fsspec==2021.11.1
56 | future==0.18.2
57 | gast==0.4.0
58 | gensim==4.1.2
59 | gitdb==4.0.9
60 | GitPython==3.1.24
61 | google-api-core==2.3.2
62 | google-auth==2.3.3
63 | google-auth-oauthlib==0.4.6
64 | google-cloud-bigquery==2.31.0
65 | google-cloud-bigquery-storage==2.10.1
66 | google-cloud-core==2.2.1
67 | google-crc32c==1.3.0
68 | google-pasta==0.2.0
69 | google-resumable-media==2.1.0
70 | google-trans-new==1.1.9
71 | googleapis-common-protos==1.54.0
72 | greenlet==1.1.2
73 | grpcio==1.43.0
74 | grpcio-status==1.43.0
75 | gunicorn==20.1.0
76 | h11==0.12.0
77 | h5py==3.6.0
78 | htmlmin==0.1.12
79 | idna==3.3
80 | ImageHash==4.2.1
81 | imageio==2.13.5
82 | imbalanced-learn==0.8.1
83 | imblearn==0.0
84 | importlib-metadata==4.10.0
85 | importlib-resources==5.4.0
86 | iniconfig==1.1.1
87 | ipdb==0.13.9
88 | ipykernel==6.6.1
89 | ipympl==0.8.5
90 | ipython==7.31.0
91 | ipython-genutils==0.2.0
92 | ipywidgets==7.6.5
93 | isort==5.10.1
94 | itsdangerous==2.0.1
95 | jedi==0.18.1
96 | Jinja2==3.0.3
97 | jmespath==0.10.0
98 | joblib==1.0.1
99 | json5==0.9.6
100 | jsonschema==4.3.3
101 | jupyter==1.0.0
102 | jupyter-client==7.1.0
103 | jupyter-console==6.4.0
104 | jupyter-contrib-core==0.3.3
105 | jupyter-contrib-nbextensions==0.5.1
106 | jupyter-core==4.9.1
107 | jupyter-highlight-selected-word==0.2.0
108 | jupyter-latex-envs==1.4.6
109 | jupyter-nbextensions-configurator==0.4.1
110 | jupyter-resource-usage==0.6.1
111 | jupyter-server==1.13.1
112 | jupyter-server-mathjax==0.2.3
113 | jupyterlab==3.2.5
114 | jupyterlab-pygments==0.1.2
115 | jupyterlab-server==2.10.2
116 | jupyterlab-widgets==1.0.2
117 | kaggle==1.5.12
118 | keras==2.7.0
119 | Keras-Preprocessing==1.1.2
120 | kiwisolver==1.3.2
121 | lazy-object-proxy==1.7.1
122 | libclang==12.0.0
123 | libcst==0.3.23
124 | locket==0.2.1
125 | lxml==4.7.1
126 | Mako==1.1.6
127 | Markdown==3.3.6
128 | MarkupSafe==2.0.1
129 | matplotlib==3.5.1
130 | matplotlib-inline==0.1.3
131 | mccabe==0.6.1
132 | memoized-property==1.0.3
133 | missingno==0.5.0
134 | mistune==0.8.4
135 | mlflow==1.22.0
136 | multidict==5.2.0
137 | multimethod==1.6
138 | mypy-extensions==0.4.3
139 | nbclassic==0.3.4
140 | nbclient==0.5.9
141 | nbconvert==6.4.0
142 | nbdime==3.1.1
143 | nbformat==5.1.3
144 | nbresult==0.0.4
145 | nest-asyncio==1.5.4
146 | networkx==2.6.3
147 | nltk==3.6.7
148 | notebook==6.4.6
149 | numpy==1.19.5
150 | oauthlib==3.1.1
151 | opt-einsum==3.3.0
152 | outcome==1.1.0
153 | packaging==21.3
154 | packgenlite==1.1.3
155 | pandas==1.3.5
156 | pandas-gbq==0.16.0
157 | pandas-profiling==3.1.0
158 | pandocfilters==1.5.0
159 | parso==0.8.3
160 | partd==1.2.0
161 | pathspec==0.9.0
162 | patsy==0.5.2
163 | pexpect==4.8.0
164 | phik==0.12.0
165 | pickleshare==0.7.5
166 | Pillow==9.0.0
167 | platformdirs==2.4.1
168 | plotly==5.5.0
169 | pluggy==1.0.0
170 | pmdarima==1.8.4
171 | prometheus-client==0.12.0
172 | prometheus-flask-exporter==0.18.7
173 | promise==2.3
174 | prompt-toolkit==3.0.24
175 | proto-plus==1.19.8
176 | protobuf==3.19.1
177 | psutil==5.9.0
178 | ptyprocess==0.7.0
179 | py==1.11.0
180 | pyarrow==6.0.1
181 | pyasn1==0.4.8
182 | pyasn1-modules==0.2.8
183 | pycodestyle==2.8.0
184 | pycparser==2.21
185 | pydantic==1.9.0
186 | pydata-google-auth==1.3.0
187 | pyflakes==2.4.0
188 | pygeohash==1.2.0
189 | Pygments==2.11.2
190 | pylint==2.10.2
191 | pyOpenSSL==21.0.0
192 | pyparsing==3.0.6
193 | pyrsistent==0.18.0
194 | pystan==2.19.1.1
195 | pytest==6.2.5
196 | python-dateutil==2.8.2
197 | python-editor==1.0.4
198 | python-gitlab==3.0.0
199 | python-slugify==5.0.2
200 | pytz==2021.3
201 | PyWavelets==1.2.0
202 | PyYAML==6.0
203 | pyzmq==22.3.0
204 | qtconsole==5.2.2
205 | QtPy==2.0.0
206 | querystring-parser==1.2.4
207 | regex==2021.11.10
208 | requests==2.27.1
209 | requests-oauthlib==1.3.0
210 | requests-toolbelt==0.9.1
211 | rsa==4.8
212 | s3fs==2021.11.1
213 | scikit-image==0.19.1
214 | scikit-learn==1.0.2
215 | scipy==1.7.3
216 | seaborn==0.11.2
217 | selenium==4.1.0
218 | Send2Trash==1.8.0
219 | setuptools-scm==6.3.2
220 | six==1.16.0
221 | smart-open==5.2.1
222 | smmap==5.0.0
223 | sniffio==1.2.0
224 | sortedcontainers==2.4.0
225 | soupsieve==2.3.1
226 | SQLAlchemy==1.4.29
227 | sqlparse==0.4.2
228 | starlette==0.16.0
229 | statsmodels==0.13.1
230 | stopit==1.1.2
231 | tabulate==0.8.9
232 | tangled-up-in-unicode==0.1.0
233 | tenacity==8.0.1
234 | tensorboard==2.7.0
235 | tensorboard-data-server==0.6.1
236 | tensorboard-plugin-wit==1.8.1
237 | tensorflow==2.7.0
238 | tensorflow-datasets==4.4.0
239 | tensorflow-estimator==2.7.0
240 | tensorflow-io-gcs-filesystem==0.23.1
241 | tensorflow-metadata==1.5.0
242 | termcolor==1.1.0
243 | terminado==0.12.1
244 | testpath==0.5.0
245 | text-unidecode==1.3
246 | threadpoolctl==3.0.0
247 | tifffile==2021.11.2
248 | toml==0.10.2
249 | tomli==1.2.3
250 | toolz==0.11.2
251 | torch==1.10.1
252 | tornado==6.1
253 | TPOT==0.11.7
254 | tqdm==4.62.3
255 | traitlets==5.1.1
256 | trio==0.19.0
257 | trio-websocket==0.9.2
258 | typing-inspect==0.7.1
259 | typing_extensions==4.0.1
260 | update-checker==0.18.0
261 | urllib3==1.26.7
262 | uvicorn==0.16.0
263 | visions==0.7.4
264 | wcwidth==0.2.5
265 | webencodings==0.5.1
266 | websocket-client==1.2.3
267 | Werkzeug==2.0.2
268 | widgetsnbextension==3.5.2
269 | wrapt==1.12.1
270 | wsproto==1.0.0
271 | xgboost==1.5.1
272 | XlsxWriter==3.0.2
273 | yapf==0.32.0
274 | yarl==1.7.2
275 | zipp==3.7.0
276 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q1/apple_silicon.txt:
--------------------------------------------------------------------------------
1 | absl-py==0.12.0
2 | aiobotocore==2.0.1
3 | aiohttp==3.8.1
4 | aioitertools==0.8.0
5 | aiosignal==1.2.0
6 | alembic==1.4.1
7 | anyio==3.4.0
8 | appdirs==1.4.4
9 | appnope==0.1.2
10 | argon2-cffi==21.3.0
11 | argon2-cffi-bindings==21.2.0
12 | asgiref==3.4.1
13 | astroid==2.7.3
14 | astunparse==1.6.3
15 | async-generator==1.10
16 | async-timeout==4.0.2
17 | attrs==21.4.0
18 | autopep8==1.6.0
19 | Babel==2.9.1
20 | backcall==0.2.0
21 | beautifulsoup4==4.10.0
22 | black==21.7b0
23 | bleach==4.1.0
24 | botocore==1.22.8
25 | branca==0.4.2
26 | cachetools==4.2.4
27 | category-encoders==2.3.0
28 | certifi==2021.10.8
29 | cffi==1.15.0
30 | charset-normalizer==2.0.10
31 | chromedriver-binary==77.0.3865.40.0
32 | click==8.0.3
33 | cloudpickle==2.0.0
34 | cmdstanpy==0.9.5
35 | colorama==0.4.4
36 | convertdate==2.3.2
37 | coverage==6.2
38 | cryptography==36.0.1
39 | cycler==0.11.0
40 | Cython==0.29.26
41 | dask==2021.12.0
42 | databricks-cli==0.16.2
43 | deap==1.3.1
44 | debugpy==1.5.1
45 | decorator==5.1.0
46 | defusedxml==0.7.1
47 | dill==0.3.4
48 | docker==5.0.3
49 | entrypoints==0.3
50 | ephem==4.1.3
51 | fastapi==0.70.1
52 | fbprophet==0.7.1
53 | flake8==4.0.1
54 | Flask==2.0.2
55 | Flask-Cors==3.0.10
56 | flatbuffers==1.12
57 | folium==0.12.1.post1
58 | fonttools==4.28.5
59 | frozenlist==1.2.0
60 | fsspec==2021.11.1
61 | future==0.18.2
62 | gast==0.4.0
63 | gensim==4.1.2
64 | gitdb==4.0.9
65 | GitPython==3.1.24
66 | google-api-core==1.31.5
67 | google-auth==1.35.0
68 | google-auth-oauthlib==0.4.6
69 | google-cloud-bigquery==2.20.0
70 | google-cloud-bigquery-storage==2.10.1
71 | google-cloud-core==1.7.2
72 | google-crc32c==1.3.0
73 | google-pasta==0.2.0
74 | google-resumable-media==1.3.3
75 | google-trans-new==1.1.9
76 | googleapis-common-protos==1.54.0
77 | greenlet==1.1.2
78 | grpcio==1.34.1
79 | gunicorn==20.1.0
80 | h11==0.12.0
81 | h5py==3.1.0
82 | hijri-converter==2.2.2
83 | holidays==0.12
84 | htmlmin==0.1.12
85 | idna==3.3
86 | ImageHash==4.2.1
87 | imageio==2.13.5
88 | imbalanced-learn==0.8.1
89 | imblearn==0.0
90 | importlib-metadata==4.10.0
91 | importlib-resources==5.4.0
92 | iniconfig==1.1.1
93 | ipdb==0.13.9
94 | ipykernel==6.6.1
95 | ipympl==0.8.5
96 | ipython==7.31.0
97 | ipython-genutils==0.2.0
98 | ipywidgets==7.6.5
99 | isort==5.10.1
100 | itsdangerous==2.0.1
101 | jedi==0.18.1
102 | Jinja2==3.0.3
103 | jmespath==0.10.0
104 | joblib==1.0.1
105 | json5==0.9.6
106 | jsonschema==4.3.3
107 | jupyter==1.0.0
108 | jupyter-client==7.1.0
109 | jupyter-console==6.4.0
110 | jupyter-contrib-core==0.3.3
111 | jupyter-contrib-nbextensions==0.5.1
112 | jupyter-core==4.9.1
113 | jupyter-highlight-selected-word==0.2.0
114 | jupyter-latex-envs==1.4.6
115 | jupyter-nbextensions-configurator==0.4.1
116 | jupyter-resource-usage==0.6.1
117 | jupyter-server==1.13.1
118 | jupyter-server-mathjax==0.2.3
119 | jupyterlab==3.2.5
120 | jupyterlab-pygments==0.1.2
121 | jupyterlab-server==2.10.2
122 | jupyterlab-widgets==1.0.2
123 | kaggle==1.5.12
124 | keras-nightly==2.5.0.dev2021032900
125 | Keras-Preprocessing==1.1.2
126 | kiwisolver==1.3.2
127 | korean-lunar-calendar==0.2.1
128 | lazy-object-proxy==1.7.1
129 | libcst==0.3.23
130 | locket==0.2.1
131 | LunarCalendar==0.0.9
132 | lxml==4.7.1
133 | Mako==1.1.6
134 | Markdown==3.3.6
135 | MarkupSafe==2.0.1
136 | matplotlib==3.5.1
137 | matplotlib-inline==0.1.3
138 | mccabe==0.6.1
139 | memoized-property==1.0.3
140 | missingno==0.5.0
141 | mistune==0.8.4
142 | mlflow==1.22.0
143 | multidict==5.2.0
144 | multimethod==1.6
145 | mypy-extensions==0.4.3
146 | nbclassic==0.3.4
147 | nbclient==0.5.9
148 | nbconvert==6.4.0
149 | nbdime==3.1.1
150 | nbformat==5.1.3
151 | nbresult==0.0.4
152 | nest-asyncio==1.5.4
153 | networkx==2.6.3
154 | nltk==3.6.7
155 | notebook==6.4.6
156 | numpy==1.19.5
157 | oauthlib==3.1.1
158 | opt-einsum==3.3.0
159 | outcome==1.1.0
160 | packaging==21.3
161 | packgenlite==1.1.3
162 | pandas==1.3.5
163 | pandas-gbq==0.16.0
164 | pandas-profiling==3.1.0
165 | pandocfilters==1.5.0
166 | parso==0.8.3
167 | partd==1.2.0
168 | pathspec==0.9.0
169 | patsy==0.5.2
170 | pexpect==4.8.0
171 | phik==0.12.0
172 | pickleshare==0.7.5
173 | Pillow==9.0.0
174 | platformdirs==2.4.1
175 | plotly==5.5.0
176 | pluggy==1.0.0
177 | pmdarima==1.8.4
178 | prometheus-client==0.12.0
179 | prometheus-flask-exporter==0.18.7
180 | promise==2.3
181 | prompt-toolkit==3.0.24
182 | proto-plus==1.19.8
183 | protobuf==3.19.1
184 | psutil==5.9.0
185 | ptyprocess==0.7.0
186 | py==1.11.0
187 | pyarrow==4.0.1
188 | pyasn1==0.4.8
189 | pyasn1-modules==0.2.8
190 | pycodestyle==2.8.0
191 | pycparser==2.21
192 | pydantic==1.9.0
193 | pydata-google-auth==1.3.0
194 | pyflakes==2.4.0
195 | pygeohash==1.2.0
196 | Pygments==2.11.2
197 | pylint==2.10.2
198 | PyMeeus==0.5.11
199 | pyOpenSSL==21.0.0
200 | pyparsing==3.0.6
201 | pyrsistent==0.18.0
202 | pystan==2.19.1.1
203 | pytest==6.2.5
204 | python-dateutil==2.8.2
205 | python-editor==1.0.4
206 | python-gitlab==3.0.0
207 | python-slugify==5.0.2
208 | pytz==2021.3
209 | PyWavelets==1.2.0
210 | PyYAML==6.0
211 | pyzmq==22.3.0
212 | qtconsole==5.2.2
213 | QtPy==2.0.0
214 | querystring-parser==1.2.4
215 | regex==2021.11.10
216 | requests==2.27.1
217 | requests-oauthlib==1.3.0
218 | requests-toolbelt==0.9.1
219 | rsa==4.8
220 | s3fs==2021.11.1
221 | scikit-image==0.19.1
222 | scikit-learn==1.0.2
223 | scipy==1.7.3
224 | seaborn==0.11.2
225 | selenium==4.1.0
226 | Send2Trash==1.8.0
227 | setuptools-git==1.2
228 | setuptools-scm==6.3.2
229 | six==1.15.0
230 | smart-open==5.2.1
231 | smmap==5.0.0
232 | sniffio==1.2.0
233 | sortedcontainers==2.4.0
234 | soupsieve==2.3.1
235 | SQLAlchemy==1.4.29
236 | sqlparse==0.4.2
237 | starlette==0.16.0
238 | statsmodels==0.13.1
239 | stopit==1.1.2
240 | tabulate==0.8.9
241 | tangled-up-in-unicode==0.1.0
242 | tenacity==8.0.1
243 | tensorboard==2.7.0
244 | tensorboard-data-server==0.6.1
245 | tensorboard-plugin-wit==1.8.1
246 | tensorflow-datasets==4.4.0
247 | tensorflow-estimator==2.5.0
248 | tensorflow-macos==2.5.0
249 | tensorflow-metadata==1.5.0
250 | termcolor==1.1.0
251 | terminado==0.12.1
252 | testpath==0.5.0
253 | text-unidecode==1.3
254 | threadpoolctl==3.0.0
255 | tifffile==2021.11.2
256 | toml==0.10.2
257 | tomli==1.2.3
258 | toolz==0.11.2
259 | torch==1.10.1
260 | tornado==6.1
261 | TPOT==0.11.7
262 | tqdm==4.62.3
263 | traitlets==5.1.1
264 | trio==0.19.0
265 | trio-websocket==0.9.2
266 | typing-extensions==3.7.4.3
267 | typing-inspect==0.7.1
268 | update-checker==0.18.0
269 | urllib3==1.26.7
270 | uvicorn==0.16.0
271 | visions==0.7.4
272 | wcwidth==0.2.5
273 | webencodings==0.5.1
274 | websocket-client==1.2.3
275 | Werkzeug==2.0.2
276 | widgetsnbextension==3.5.2
277 | wrapt==1.12.1
278 | wsproto==1.0.0
279 | xgboost==1.5.1
280 | XlsxWriter==3.0.2
281 | yapf==0.32.0
282 | yarl==1.7.2
283 | zipp==3.7.0
284 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q1/glovebox.txt:
--------------------------------------------------------------------------------
1 | pytest
2 | pylint<2.11
3 | nbresult
4 | autopep8
5 | flake8
6 | ipdb
7 | requests
8 | beautifulsoup4
9 | PyYAML
10 | lxml
11 | numpy<1.20
12 | pandas<1.4
13 | matplotlib
14 | scikit-learn
15 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q1/linux.txt:
--------------------------------------------------------------------------------
1 | absl-py==0.12.0
2 | aiobotocore==2.0.1
3 | aiohttp==3.8.1
4 | aioitertools==0.8.0
5 | aiosignal==1.2.0
6 | alembic==1.4.1
7 | anyio==3.4.0
8 | argon2-cffi==21.3.0
9 | argon2-cffi-bindings==21.2.0
10 | asgiref==3.4.1
11 | astroid==2.7.3
12 | astunparse==1.6.3
13 | async-timeout==4.0.2
14 | attrs==21.4.0
15 | autopep8==1.6.0
16 | Babel==2.9.1
17 | backcall==0.2.0
18 | beautifulsoup4==4.10.0
19 | black==21.12b0
20 | bleach==4.1.0
21 | botocore==1.22.8
22 | branca==0.4.2
23 | cachetools==4.2.4
24 | category-encoders==2.3.0
25 | certifi==2021.10.8
26 | cffi==1.15.0
27 | charset-normalizer==2.0.10
28 | click==8.0.3
29 | cloudpickle==2.0.0
30 | colorama==0.4.4
31 | coverage==6.2
32 | cycler==0.11.0
33 | Cython==0.29.26
34 | dask==2021.12.0
35 | databricks-cli==0.16.2
36 | deap==1.3.1
37 | debugpy==1.5.1
38 | decorator==5.1.0
39 | defusedxml==0.7.1
40 | dill==0.3.4
41 | docker==5.0.3
42 | entrypoints==0.3
43 | fastapi==0.70.1
44 | flake8==4.0.1
45 | Flask==2.0.2
46 | Flask-Cors==3.0.10
47 | flatbuffers==2.0
48 | folium==0.12.1.post1
49 | fonttools==4.28.5
50 | frozenlist==1.2.0
51 | fsspec==2021.11.1
52 | future==0.18.2
53 | gast==0.4.0
54 | gensim==4.1.2
55 | gitdb==4.0.9
56 | GitPython==3.1.24
57 | google-api-core==2.3.2
58 | google-auth==2.3.3
59 | google-auth-oauthlib==0.4.6
60 | google-cloud-bigquery==2.31.0
61 | google-cloud-bigquery-storage==2.10.1
62 | google-cloud-core==2.2.1
63 | google-crc32c==1.3.0
64 | google-pasta==0.2.0
65 | google-resumable-media==2.1.0
66 | google-trans-new==1.1.9
67 | googleapis-common-protos==1.54.0
68 | greenlet==1.1.2
69 | grpcio==1.43.0
70 | grpcio-status==1.43.0
71 | gunicorn==20.1.0
72 | h11==0.12.0
73 | h5py==3.6.0
74 | htmlmin==0.1.12
75 | idna==3.3
76 | ImageHash==4.2.1
77 | imageio==2.13.5
78 | imbalanced-learn==0.8.1
79 | imblearn==0.0
80 | importlib-metadata==4.10.0
81 | importlib-resources==5.4.0
82 | iniconfig==1.1.1
83 | ipdb==0.13.9
84 | ipykernel==6.6.1
85 | ipympl==0.8.5
86 | ipython==7.31.0
87 | ipython-genutils==0.2.0
88 | ipywidgets==7.6.5
89 | isort==5.10.1
90 | itsdangerous==2.0.1
91 | jedi==0.18.1
92 | Jinja2==3.0.3
93 | jmespath==0.10.0
94 | joblib==1.0.1
95 | json5==0.9.6
96 | jsonschema==4.3.3
97 | jupyter==1.0.0
98 | jupyter-client==7.1.0
99 | jupyter-console==6.4.0
100 | jupyter-contrib-core==0.3.3
101 | jupyter-contrib-nbextensions==0.5.1
102 | jupyter-core==4.9.1
103 | jupyter-highlight-selected-word==0.2.0
104 | jupyter-latex-envs==1.4.6
105 | jupyter-nbextensions-configurator==0.4.1
106 | jupyter-resource-usage==0.6.1
107 | jupyter-server==1.13.1
108 | jupyter-server-mathjax==0.2.3
109 | jupyterlab==3.2.5
110 | jupyterlab-pygments==0.1.2
111 | jupyterlab-server==2.10.2
112 | jupyterlab-widgets==1.0.2
113 | kaggle==1.5.12
114 | keras==2.7.0
115 | Keras-Preprocessing==1.1.2
116 | kiwisolver==1.3.2
117 | lazy-object-proxy==1.7.1
118 | libclang==12.0.0
119 | libcst==0.3.23
120 | locket==0.2.1
121 | lxml==4.7.1
122 | Mako==1.1.6
123 | Markdown==3.3.6
124 | MarkupSafe==2.0.1
125 | matplotlib==3.5.1
126 | matplotlib-inline==0.1.3
127 | mccabe==0.6.1
128 | memoized-property==1.0.3
129 | missingno==0.5.0
130 | mistune==0.8.4
131 | mlflow==1.22.0
132 | multidict==5.2.0
133 | multimethod==1.6
134 | mypy-extensions==0.4.3
135 | nbclassic==0.3.4
136 | nbclient==0.5.9
137 | nbconvert==6.4.0
138 | nbdime==3.1.1
139 | nbformat==5.1.3
140 | nbresult==0.0.4
141 | nest-asyncio==1.5.4
142 | networkx==2.6.3
143 | nltk==3.6.7
144 | notebook==6.4.6
145 | numpy==1.19.5
146 | oauthlib==3.1.1
147 | opt-einsum==3.3.0
148 | packaging==21.3
149 | packgenlite==1.1.3
150 | pandas==1.3.5
151 | pandas-gbq==0.16.0
152 | pandas-profiling==3.1.0
153 | pandocfilters==1.5.0
154 | parso==0.8.3
155 | partd==1.2.0
156 | pathspec==0.9.0
157 | patsy==0.5.2
158 | pexpect==4.8.0
159 | phik==0.12.0
160 | pickleshare==0.7.5
161 | Pillow==9.0.0
162 | platformdirs==2.4.1
163 | plotly==5.5.0
164 | pluggy==1.0.0
165 | pmdarima==1.8.4
166 | prometheus-client==0.12.0
167 | prometheus-flask-exporter==0.18.7
168 | promise==2.3
169 | prompt-toolkit==3.0.24
170 | proto-plus==1.19.8
171 | protobuf==3.19.1
172 | psutil==5.9.0
173 | ptyprocess==0.7.0
174 | py==1.11.0
175 | pyarrow==6.0.1
176 | pyasn1==0.4.8
177 | pyasn1-modules==0.2.8
178 | pycodestyle==2.8.0
179 | pycparser==2.21
180 | pydantic==1.9.0
181 | pydata-google-auth==1.3.0
182 | pyflakes==2.4.0
183 | pygeohash==1.2.0
184 | Pygments==2.11.2
185 | pylint==2.10.2
186 | pyparsing==3.0.6
187 | pyrsistent==0.18.0
188 | pytest==6.2.5
189 | python-dateutil==2.8.2
190 | python-editor==1.0.4
191 | python-gitlab==3.0.0
192 | python-slugify==5.0.2
193 | pytz==2021.3
194 | PyWavelets==1.2.0
195 | PyYAML==6.0
196 | pyzmq==22.3.0
197 | qtconsole==5.2.2
198 | QtPy==2.0.0
199 | querystring-parser==1.2.4
200 | regex==2021.11.10
201 | requests==2.27.1
202 | requests-oauthlib==1.3.0
203 | requests-toolbelt==0.9.1
204 | rsa==4.8
205 | s3fs==2021.11.1
206 | scikit-image==0.19.1
207 | scikit-learn==1.0.2
208 | scipy==1.7.3
209 | seaborn==0.11.2
210 | Send2Trash==1.8.0
211 | setuptools-scm==6.3.2
212 | six==1.16.0
213 | smart-open==5.2.1
214 | smmap==5.0.0
215 | sniffio==1.2.0
216 | soupsieve==2.3.1
217 | SQLAlchemy==1.4.29
218 | sqlparse==0.4.2
219 | starlette==0.16.0
220 | statsmodels==0.13.1
221 | stopit==1.1.2
222 | tabulate==0.8.9
223 | tangled-up-in-unicode==0.1.0
224 | tenacity==8.0.1
225 | tensorboard==2.7.0
226 | tensorboard-data-server==0.6.1
227 | tensorboard-plugin-wit==1.8.1
228 | tensorflow==2.7.0
229 | tensorflow-datasets==4.4.0
230 | tensorflow-estimator==2.7.0
231 | tensorflow-io-gcs-filesystem==0.23.1
232 | tensorflow-metadata==1.5.0
233 | termcolor==1.1.0
234 | terminado==0.12.1
235 | testpath==0.5.0
236 | text-unidecode==1.3
237 | threadpoolctl==3.0.0
238 | tifffile==2021.11.2
239 | toml==0.10.2
240 | tomli==1.2.3
241 | toolz==0.11.2
242 | tornado==6.1
243 | TPOT==0.11.7
244 | tqdm==4.62.3
245 | traitlets==5.1.1
246 | typing-inspect==0.7.1
247 | typing_extensions==4.0.1
248 | update-checker==0.18.0
249 | urllib3==1.26.7
250 | uvicorn==0.16.0
251 | visions==0.7.4
252 | wcwidth==0.2.5
253 | webencodings==0.5.1
254 | websocket-client==1.2.3
255 | Werkzeug==2.0.2
256 | widgetsnbextension==3.5.2
257 | wrapt==1.12.1
258 | xgboost==1.5.1
259 | XlsxWriter==3.0.2
260 | yapf==0.32.0
261 | yarl==1.7.2
262 | zipp==3.7.0
263 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q1/python_version.txt:
--------------------------------------------------------------------------------
1 | 3.8.12
2 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q2/README.md:
--------------------------------------------------------------------------------
1 |
2 | ## files
3 |
4 | apple_intel
5 | apple_silicon in this release this refers to a setup with rosetta i386
6 | glovebox
7 | linux
8 | python_version
9 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q2/apple_intel.txt:
--------------------------------------------------------------------------------
1 | absl-py==0.12.0
2 | aiobotocore==2.0.1
3 | aiohttp==3.8.1
4 | aioitertools==0.8.0
5 | aiosignal==1.2.0
6 | alembic==1.4.1
7 | anyio==3.4.0
8 | appnope==0.1.2
9 | argon2-cffi==21.3.0
10 | argon2-cffi-bindings==21.2.0
11 | asgiref==3.4.1
12 | astroid==2.7.3
13 | astunparse==1.6.3
14 | async-generator==1.10
15 | async-timeout==4.0.2
16 | attrs==21.4.0
17 | autopep8==1.6.0
18 | Babel==2.9.1
19 | backcall==0.2.0
20 | beautifulsoup4==4.10.0
21 | black==21.12b0
22 | bleach==4.1.0
23 | botocore==1.22.8
24 | branca==0.4.2
25 | cachetools==4.2.4
26 | category-encoders==2.3.0
27 | certifi==2021.10.8
28 | cffi==1.15.0
29 | charset-normalizer==2.0.10
30 | chromedriver-binary==77.0.3865.40.0
31 | click==8.0.3
32 | cloudpickle==2.0.0
33 | colorama==0.4.4
34 | coverage==6.2
35 | cryptography==36.0.1
36 | cycler==0.11.0
37 | Cython==0.29.26
38 | dask==2021.12.0
39 | databricks-cli==0.16.2
40 | deap==1.3.1
41 | debugpy==1.5.1
42 | decorator==5.1.0
43 | defusedxml==0.7.1
44 | dill==0.3.4
45 | docker==5.0.3
46 | entrypoints==0.3
47 | fastapi==0.70.1
48 | flake8==4.0.1
49 | Flask==2.0.2
50 | Flask-Cors==3.0.10
51 | flatbuffers==2.0
52 | folium==0.12.1.post1
53 | fonttools==4.28.5
54 | frozenlist==1.2.0
55 | fsspec==2021.11.1
56 | future==0.18.2
57 | gast==0.4.0
58 | gensim==4.1.2
59 | gitdb==4.0.9
60 | GitPython==3.1.24
61 | google-api-core==2.3.2
62 | google-auth==2.3.3
63 | google-auth-oauthlib==0.4.6
64 | google-cloud-bigquery==2.31.0
65 | google-cloud-bigquery-storage==2.10.1
66 | google-cloud-core==2.2.1
67 | google-crc32c==1.3.0
68 | google-pasta==0.2.0
69 | google-resumable-media==2.1.0
70 | google-trans-new==1.1.9
71 | googleapis-common-protos==1.54.0
72 | graphviz==0.20
73 | greenlet==1.1.2
74 | grpcio==1.43.0
75 | grpcio-status==1.43.0
76 | gunicorn==20.1.0
77 | h11==0.12.0
78 | h5py==3.6.0
79 | htmlmin==0.1.12
80 | idna==3.3
81 | ImageHash==4.2.1
82 | imageio==2.13.5
83 | imbalanced-learn==0.8.1
84 | imblearn==0.0
85 | importlib-metadata==4.10.0
86 | importlib-resources==5.4.0
87 | iniconfig==1.1.1
88 | ipdb==0.13.9
89 | ipykernel==6.6.1
90 | ipympl==0.8.5
91 | ipython==7.31.0
92 | ipython-genutils==0.2.0
93 | ipywidgets==7.6.5
94 | isort==5.10.1
95 | itsdangerous==2.0.1
96 | jedi==0.18.1
97 | Jinja2==3.0.3
98 | jmespath==0.10.0
99 | joblib==1.0.1
100 | json5==0.9.6
101 | jsonschema==4.3.3
102 | jupyter==1.0.0
103 | jupyter-client==7.1.0
104 | jupyter-console==6.4.0
105 | jupyter-contrib-core==0.3.3
106 | jupyter-contrib-nbextensions==0.5.1
107 | jupyter-core==4.9.1
108 | jupyter-highlight-selected-word==0.2.0
109 | jupyter-latex-envs==1.4.6
110 | jupyter-nbextensions-configurator==0.4.1
111 | jupyter-resource-usage==0.6.1
112 | jupyter-server==1.13.1
113 | jupyter-server-mathjax==0.2.3
114 | jupyterlab==3.2.5
115 | jupyterlab-pygments==0.1.2
116 | jupyterlab-server==2.10.2
117 | jupyterlab-widgets==1.0.2
118 | kaggle==1.5.12
119 | keras==2.7.0
120 | Keras-Preprocessing==1.1.2
121 | kiwisolver==1.3.2
122 | lazy-object-proxy==1.7.1
123 | libclang==12.0.0
124 | libcst==0.3.23
125 | locket==0.2.1
126 | lxml==4.7.1
127 | Mako==1.1.6
128 | Markdown==3.3.6
129 | MarkupSafe==2.0.1
130 | matplotlib==3.5.1
131 | matplotlib-inline==0.1.3
132 | mccabe==0.6.1
133 | memoized-property==1.0.3
134 | missingno==0.5.0
135 | mistune==0.8.4
136 | mlflow==1.22.0
137 | multidict==5.2.0
138 | multimethod==1.6
139 | mypy-extensions==0.4.3
140 | nbclassic==0.3.4
141 | nbclient==0.5.9
142 | nbconvert==6.4.0
143 | nbdime==3.1.1
144 | nbformat==5.1.3
145 | nbresult==0.0.4
146 | nest-asyncio==1.5.4
147 | networkx==2.6.3
148 | nltk==3.6.7
149 | notebook==6.4.6
150 | numpy==1.19.5
151 | oauthlib==3.1.1
152 | opt-einsum==3.3.0
153 | outcome==1.1.0
154 | packaging==21.3
155 | git+ssh://git@github.com/krokrob/packgenlite
156 | pandas==1.3.5
157 | pandas-gbq==0.16.0
158 | pandas-profiling==3.1.0
159 | pandocfilters==1.5.0
160 | parso==0.8.3
161 | partd==1.2.0
162 | pathspec==0.9.0
163 | patsy==0.5.2
164 | pexpect==4.8.0
165 | phik==0.12.0
166 | pickleshare==0.7.5
167 | Pillow==9.0.0
168 | platformdirs==2.4.1
169 | plotly==5.5.0
170 | pluggy==1.0.0
171 | pmdarima==1.8.4
172 | prometheus-client==0.12.0
173 | prometheus-flask-exporter==0.18.7
174 | promise==2.3
175 | prompt-toolkit==3.0.24
176 | proto-plus==1.19.8
177 | protobuf==3.19.1
178 | psutil==5.9.0
179 | ptyprocess==0.7.0
180 | py==1.11.0
181 | pyarrow==6.0.1
182 | pyasn1==0.4.8
183 | pyasn1-modules==0.2.8
184 | pycodestyle==2.8.0
185 | pycparser==2.21
186 | pydantic==1.9.0
187 | pydata-google-auth==1.3.0
188 | pyflakes==2.4.0
189 | pygeohash==1.2.0
190 | Pygments==2.11.2
191 | pylint==2.10.2
192 | pyOpenSSL==21.0.0
193 | pyparsing==3.0.6
194 | pyrsistent==0.18.0
195 | pystan==2.19.1.1
196 | pytest==6.2.5
197 | python-dateutil==2.8.2
198 | python-editor==1.0.4
199 | python-gitlab==3.0.0
200 | python-slugify==5.0.2
201 | pytz==2021.3
202 | PyWavelets==1.2.0
203 | PyYAML==6.0
204 | pyzmq==22.3.0
205 | qtconsole==5.2.2
206 | QtPy==2.0.0
207 | querystring-parser==1.2.4
208 | regex==2021.11.10
209 | requests==2.27.1
210 | requests-oauthlib==1.3.0
211 | requests-toolbelt==0.9.1
212 | rsa==4.8
213 | s3fs==2021.11.1
214 | scikit-image==0.19.1
215 | scikit-learn==1.0.2
216 | scipy==1.7.3
217 | seaborn==0.11.2
218 | selenium==4.1.0
219 | Send2Trash==1.8.0
220 | setuptools-scm==6.3.2
221 | six==1.16.0
222 | smart-open==5.2.1
223 | smmap==5.0.0
224 | sniffio==1.2.0
225 | sortedcontainers==2.4.0
226 | soupsieve==2.3.1
227 | SQLAlchemy==1.4.29
228 | sqlparse==0.4.2
229 | starlette==0.16.0
230 | statsmodels==0.13.1
231 | stopit==1.1.2
232 | tabulate==0.8.9
233 | tangled-up-in-unicode==0.1.0
234 | tenacity==8.0.1
235 | tensorboard==2.7.0
236 | tensorboard-data-server==0.6.1
237 | tensorboard-plugin-wit==1.8.1
238 | tensorflow==2.7.0
239 | tensorflow-datasets==4.4.0
240 | tensorflow-estimator==2.7.0
241 | tensorflow-io-gcs-filesystem==0.23.1
242 | tensorflow-metadata==1.5.0
243 | termcolor==1.1.0
244 | terminado==0.12.1
245 | testpath==0.5.0
246 | text-unidecode==1.3
247 | threadpoolctl==3.0.0
248 | tifffile==2021.11.2
249 | toml==0.10.2
250 | tomli==1.2.3
251 | toolz==0.11.2
252 | torch==1.10.1
253 | tornado==6.1
254 | TPOT==0.11.7
255 | tqdm==4.62.3
256 | traitlets==5.1.1
257 | trio==0.19.0
258 | trio-websocket==0.9.2
259 | typing-inspect==0.7.1
260 | typing_extensions==4.0.1
261 | update-checker==0.18.0
262 | urllib3==1.26.7
263 | uvicorn==0.16.0
264 | visions==0.7.4
265 | wcwidth==0.2.5
266 | webencodings==0.5.1
267 | websocket-client==1.2.3
268 | Werkzeug==2.0.2
269 | widgetsnbextension==3.5.2
270 | wrapt==1.12.1
271 | wsproto==1.0.0
272 | xgboost==1.5.1
273 | XlsxWriter==3.0.2
274 | yapf==0.32.0
275 | yarl==1.7.2
276 | zipp==3.7.0
277 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q2/apple_silicon.txt:
--------------------------------------------------------------------------------
1 | absl-py==0.12.0
2 | aiobotocore==2.0.1
3 | aiohttp==3.8.1
4 | aioitertools==0.8.0
5 | aiosignal==1.2.0
6 | alembic==1.4.1
7 | anyio==3.4.0
8 | appdirs==1.4.4
9 | appnope==0.1.2
10 | argon2-cffi==21.3.0
11 | argon2-cffi-bindings==21.2.0
12 | asgiref==3.4.1
13 | astroid==2.7.3
14 | astunparse==1.6.3
15 | async-generator==1.10
16 | async-timeout==4.0.2
17 | attrs==21.4.0
18 | autopep8==1.6.0
19 | Babel==2.9.1
20 | backcall==0.2.0
21 | beautifulsoup4==4.10.0
22 | black==21.7b0
23 | bleach==4.1.0
24 | botocore==1.22.8
25 | branca==0.4.2
26 | cachetools==4.2.4
27 | category-encoders==2.3.0
28 | certifi==2021.10.8
29 | cffi==1.15.0
30 | charset-normalizer==2.0.10
31 | chromedriver-binary==77.0.3865.40.0
32 | click==8.0.3
33 | cloudpickle==2.0.0
34 | cmdstanpy==0.9.5
35 | colorama==0.4.4
36 | convertdate==2.3.2
37 | coverage==6.2
38 | cryptography==36.0.1
39 | cycler==0.11.0
40 | Cython==0.29.26
41 | dask==2021.12.0
42 | databricks-cli==0.16.2
43 | deap==1.3.1
44 | debugpy==1.5.1
45 | decorator==5.1.0
46 | defusedxml==0.7.1
47 | dill==0.3.4
48 | docker==5.0.3
49 | entrypoints==0.3
50 | ephem==4.1.3
51 | fastapi==0.70.1
52 | fbprophet==0.7.1
53 | flake8==4.0.1
54 | Flask==2.0.2
55 | Flask-Cors==3.0.10
56 | flatbuffers==1.12
57 | folium==0.12.1.post1
58 | fonttools==4.28.5
59 | frozenlist==1.2.0
60 | fsspec==2021.11.1
61 | future==0.18.2
62 | gast==0.4.0
63 | gensim==4.1.2
64 | gitdb==4.0.9
65 | GitPython==3.1.24
66 | google-api-core==1.31.5
67 | google-auth==1.35.0
68 | google-auth-oauthlib==0.4.6
69 | google-cloud-bigquery==2.20.0
70 | google-cloud-bigquery-storage==2.10.1
71 | google-cloud-core==1.7.2
72 | google-crc32c==1.3.0
73 | google-pasta==0.2.0
74 | google-resumable-media==1.3.3
75 | google-trans-new==1.1.9
76 | googleapis-common-protos==1.54.0
77 | graphviz==0.20
78 | greenlet==1.1.2
79 | grpcio==1.34.1
80 | gunicorn==20.1.0
81 | h11==0.12.0
82 | h5py==3.1.0
83 | hijri-converter==2.2.2
84 | holidays==0.12
85 | htmlmin==0.1.12
86 | idna==3.3
87 | ImageHash==4.2.1
88 | imageio==2.13.5
89 | imbalanced-learn==0.8.1
90 | imblearn==0.0
91 | importlib-metadata==4.10.0
92 | importlib-resources==5.4.0
93 | iniconfig==1.1.1
94 | ipdb==0.13.9
95 | ipykernel==6.6.1
96 | ipympl==0.8.5
97 | ipython==7.31.0
98 | ipython-genutils==0.2.0
99 | ipywidgets==7.6.5
100 | isort==5.10.1
101 | itsdangerous==2.0.1
102 | jedi==0.18.1
103 | Jinja2==3.0.3
104 | jmespath==0.10.0
105 | joblib==1.0.1
106 | json5==0.9.6
107 | jsonschema==4.3.3
108 | jupyter==1.0.0
109 | jupyter-client==7.1.0
110 | jupyter-console==6.4.0
111 | jupyter-contrib-core==0.3.3
112 | jupyter-contrib-nbextensions==0.5.1
113 | jupyter-core==4.9.1
114 | jupyter-highlight-selected-word==0.2.0
115 | jupyter-latex-envs==1.4.6
116 | jupyter-nbextensions-configurator==0.4.1
117 | jupyter-resource-usage==0.6.1
118 | jupyter-server==1.13.1
119 | jupyter-server-mathjax==0.2.3
120 | jupyterlab==3.2.5
121 | jupyterlab-pygments==0.1.2
122 | jupyterlab-server==2.10.2
123 | jupyterlab-widgets==1.0.2
124 | kaggle==1.5.12
125 | keras-nightly==2.5.0.dev2021032900
126 | Keras-Preprocessing==1.1.2
127 | kiwisolver==1.3.2
128 | korean-lunar-calendar==0.2.1
129 | lazy-object-proxy==1.7.1
130 | libcst==0.3.23
131 | locket==0.2.1
132 | LunarCalendar==0.0.9
133 | lxml==4.7.1
134 | Mako==1.1.6
135 | Markdown==3.3.6
136 | MarkupSafe==2.0.1
137 | matplotlib==3.5.1
138 | matplotlib-inline==0.1.3
139 | mccabe==0.6.1
140 | memoized-property==1.0.3
141 | missingno==0.5.0
142 | mistune==0.8.4
143 | mlflow==1.22.0
144 | multidict==5.2.0
145 | multimethod==1.6
146 | mypy-extensions==0.4.3
147 | nbclassic==0.3.4
148 | nbclient==0.5.9
149 | nbconvert==6.4.0
150 | nbdime==3.1.1
151 | nbformat==5.1.3
152 | nbresult==0.0.4
153 | nest-asyncio==1.5.4
154 | networkx==2.6.3
155 | nltk==3.6.7
156 | notebook==6.4.6
157 | numpy==1.19.5
158 | oauthlib==3.1.1
159 | opt-einsum==3.3.0
160 | outcome==1.1.0
161 | packaging==21.3
162 | git+ssh://git@github.com/krokrob/packgenlite
163 | pandas==1.3.5
164 | pandas-gbq==0.16.0
165 | pandas-profiling==3.1.0
166 | pandocfilters==1.5.0
167 | parso==0.8.3
168 | partd==1.2.0
169 | pathspec==0.9.0
170 | patsy==0.5.2
171 | pexpect==4.8.0
172 | phik==0.12.0
173 | pickleshare==0.7.5
174 | Pillow==9.0.0
175 | platformdirs==2.4.1
176 | plotly==5.5.0
177 | pluggy==1.0.0
178 | pmdarima==1.8.4
179 | prometheus-client==0.12.0
180 | prometheus-flask-exporter==0.18.7
181 | promise==2.3
182 | prompt-toolkit==3.0.24
183 | proto-plus==1.19.8
184 | protobuf==3.19.1
185 | psutil==5.9.0
186 | ptyprocess==0.7.0
187 | py==1.11.0
188 | pyarrow==4.0.1
189 | pyasn1==0.4.8
190 | pyasn1-modules==0.2.8
191 | pycodestyle==2.8.0
192 | pycparser==2.21
193 | pydantic==1.9.0
194 | pydata-google-auth==1.3.0
195 | pyflakes==2.4.0
196 | pygeohash==1.2.0
197 | Pygments==2.11.2
198 | pylint==2.10.2
199 | PyMeeus==0.5.11
200 | pyOpenSSL==21.0.0
201 | pyparsing==3.0.6
202 | pyrsistent==0.18.0
203 | pystan==2.19.1.1
204 | pytest==6.2.5
205 | python-dateutil==2.8.2
206 | python-editor==1.0.4
207 | python-gitlab==3.0.0
208 | python-slugify==5.0.2
209 | pytz==2021.3
210 | PyWavelets==1.2.0
211 | PyYAML==6.0
212 | pyzmq==22.3.0
213 | qtconsole==5.2.2
214 | QtPy==2.0.0
215 | querystring-parser==1.2.4
216 | regex==2021.11.10
217 | requests==2.27.1
218 | requests-oauthlib==1.3.0
219 | requests-toolbelt==0.9.1
220 | rsa==4.8
221 | s3fs==2021.11.1
222 | scikit-image==0.19.1
223 | scikit-learn==1.0.2
224 | scipy==1.7.3
225 | seaborn==0.11.2
226 | selenium==4.1.0
227 | Send2Trash==1.8.0
228 | setuptools-git==1.2
229 | setuptools-scm==6.3.2
230 | six==1.15.0
231 | smart-open==5.2.1
232 | smmap==5.0.0
233 | sniffio==1.2.0
234 | sortedcontainers==2.4.0
235 | soupsieve==2.3.1
236 | SQLAlchemy==1.4.29
237 | sqlparse==0.4.2
238 | starlette==0.16.0
239 | statsmodels==0.13.1
240 | stopit==1.1.2
241 | tabulate==0.8.9
242 | tangled-up-in-unicode==0.1.0
243 | tenacity==8.0.1
244 | tensorboard==2.7.0
245 | tensorboard-data-server==0.6.1
246 | tensorboard-plugin-wit==1.8.1
247 | tensorflow-datasets==4.4.0
248 | tensorflow-estimator==2.5.0
249 | tensorflow-macos==2.5.0
250 | tensorflow-metadata==1.5.0
251 | termcolor==1.1.0
252 | terminado==0.12.1
253 | testpath==0.5.0
254 | text-unidecode==1.3
255 | threadpoolctl==3.0.0
256 | tifffile==2021.11.2
257 | toml==0.10.2
258 | tomli==1.2.3
259 | toolz==0.11.2
260 | torch==1.10.1
261 | tornado==6.1
262 | TPOT==0.11.7
263 | tqdm==4.62.3
264 | traitlets==5.1.1
265 | trio==0.19.0
266 | trio-websocket==0.9.2
267 | typing-extensions==3.7.4.3
268 | typing-inspect==0.7.1
269 | update-checker==0.18.0
270 | urllib3==1.26.7
271 | uvicorn==0.16.0
272 | visions==0.7.4
273 | wcwidth==0.2.5
274 | webencodings==0.5.1
275 | websocket-client==1.2.3
276 | Werkzeug==2.0.2
277 | widgetsnbextension==3.5.2
278 | wrapt==1.12.1
279 | wsproto==1.0.0
280 | xgboost==1.5.1
281 | XlsxWriter==3.0.2
282 | yapf==0.32.0
283 | yarl==1.7.2
284 | zipp==3.7.0
285 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q2/glovebox.txt:
--------------------------------------------------------------------------------
1 | pytest
2 | pylint<2.11
3 | nbresult
4 | autopep8
5 | flake8
6 | ipdb
7 | requests
8 | beautifulsoup4
9 | PyYAML
10 | lxml
11 | numpy<1.20
12 | pandas<1.4
13 | matplotlib
14 | scikit-learn
15 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q2/linux.txt:
--------------------------------------------------------------------------------
1 | absl-py==0.12.0
2 | aiobotocore==2.0.1
3 | aiohttp==3.8.1
4 | aioitertools==0.8.0
5 | aiosignal==1.2.0
6 | alembic==1.4.1
7 | anyio==3.4.0
8 | argon2-cffi==21.3.0
9 | argon2-cffi-bindings==21.2.0
10 | asgiref==3.4.1
11 | astroid==2.7.3
12 | astunparse==1.6.3
13 | async-timeout==4.0.2
14 | attrs==21.4.0
15 | autopep8==1.6.0
16 | Babel==2.9.1
17 | backcall==0.2.0
18 | beautifulsoup4==4.10.0
19 | black==21.12b0
20 | bleach==4.1.0
21 | botocore==1.22.8
22 | branca==0.4.2
23 | cachetools==4.2.4
24 | category-encoders==2.3.0
25 | certifi==2021.10.8
26 | cffi==1.15.0
27 | charset-normalizer==2.0.10
28 | click==8.0.3
29 | cloudpickle==2.0.0
30 | colorama==0.4.4
31 | coverage==6.2
32 | cycler==0.11.0
33 | Cython==0.29.26
34 | dask==2021.12.0
35 | databricks-cli==0.16.2
36 | deap==1.3.1
37 | debugpy==1.5.1
38 | decorator==5.1.0
39 | defusedxml==0.7.1
40 | dill==0.3.4
41 | docker==5.0.3
42 | entrypoints==0.3
43 | fastapi==0.70.1
44 | flake8==4.0.1
45 | Flask==2.0.2
46 | Flask-Cors==3.0.10
47 | flatbuffers==2.0
48 | folium==0.12.1.post1
49 | fonttools==4.28.5
50 | frozenlist==1.2.0
51 | fsspec==2021.11.1
52 | future==0.18.2
53 | gast==0.4.0
54 | gensim==4.1.2
55 | gitdb==4.0.9
56 | GitPython==3.1.24
57 | google-api-core==2.3.2
58 | google-auth==2.3.3
59 | google-auth-oauthlib==0.4.6
60 | google-cloud-bigquery==2.31.0
61 | google-cloud-bigquery-storage==2.10.1
62 | google-cloud-core==2.2.1
63 | google-crc32c==1.3.0
64 | google-pasta==0.2.0
65 | google-resumable-media==2.1.0
66 | google-trans-new==1.1.9
67 | googleapis-common-protos==1.54.0
68 | graphviz==0.20
69 | greenlet==1.1.2
70 | grpcio==1.43.0
71 | grpcio-status==1.43.0
72 | gunicorn==20.1.0
73 | h11==0.12.0
74 | h5py==3.6.0
75 | htmlmin==0.1.12
76 | idna==3.3
77 | ImageHash==4.2.1
78 | imageio==2.13.5
79 | imbalanced-learn==0.8.1
80 | imblearn==0.0
81 | importlib-metadata==4.10.0
82 | importlib-resources==5.4.0
83 | iniconfig==1.1.1
84 | ipdb==0.13.9
85 | ipykernel==6.6.1
86 | ipympl==0.8.5
87 | ipython==7.31.0
88 | ipython-genutils==0.2.0
89 | ipywidgets==7.6.5
90 | isort==5.10.1
91 | itsdangerous==2.0.1
92 | jedi==0.18.1
93 | Jinja2==3.0.3
94 | jmespath==0.10.0
95 | joblib==1.0.1
96 | json5==0.9.6
97 | jsonschema==4.3.3
98 | jupyter==1.0.0
99 | jupyter-client==7.1.0
100 | jupyter-console==6.4.0
101 | jupyter-contrib-core==0.3.3
102 | jupyter-contrib-nbextensions==0.5.1
103 | jupyter-core==4.9.1
104 | jupyter-highlight-selected-word==0.2.0
105 | jupyter-latex-envs==1.4.6
106 | jupyter-nbextensions-configurator==0.4.1
107 | jupyter-resource-usage==0.6.1
108 | jupyter-server==1.13.1
109 | jupyter-server-mathjax==0.2.3
110 | jupyterlab==3.2.5
111 | jupyterlab-pygments==0.1.2
112 | jupyterlab-server==2.10.2
113 | jupyterlab-widgets==1.0.2
114 | kaggle==1.5.12
115 | keras==2.7.0
116 | Keras-Preprocessing==1.1.2
117 | kiwisolver==1.3.2
118 | lazy-object-proxy==1.7.1
119 | libclang==12.0.0
120 | libcst==0.3.23
121 | locket==0.2.1
122 | lxml==4.7.1
123 | Mako==1.1.6
124 | Markdown==3.3.6
125 | MarkupSafe==2.0.1
126 | matplotlib==3.5.1
127 | matplotlib-inline==0.1.3
128 | mccabe==0.6.1
129 | memoized-property==1.0.3
130 | missingno==0.5.0
131 | mistune==0.8.4
132 | mlflow==1.22.0
133 | multidict==5.2.0
134 | multimethod==1.6
135 | mypy-extensions==0.4.3
136 | nbclassic==0.3.4
137 | nbclient==0.5.9
138 | nbconvert==6.4.0
139 | nbdime==3.1.1
140 | nbformat==5.1.3
141 | nbresult==0.0.4
142 | nest-asyncio==1.5.4
143 | networkx==2.6.3
144 | nltk==3.6.7
145 | notebook==6.4.6
146 | numpy==1.19.5
147 | oauthlib==3.1.1
148 | opt-einsum==3.3.0
149 | packaging==21.3
150 | git+ssh://git@github.com/krokrob/packgenlite
151 | pandas==1.3.5
152 | pandas-gbq==0.16.0
153 | pandas-profiling==3.1.0
154 | pandocfilters==1.5.0
155 | parso==0.8.3
156 | partd==1.2.0
157 | pathspec==0.9.0
158 | patsy==0.5.2
159 | pexpect==4.8.0
160 | phik==0.12.0
161 | pickleshare==0.7.5
162 | Pillow==9.0.0
163 | platformdirs==2.4.1
164 | plotly==5.5.0
165 | pluggy==1.0.0
166 | pmdarima==1.8.4
167 | prometheus-client==0.12.0
168 | prometheus-flask-exporter==0.18.7
169 | promise==2.3
170 | prompt-toolkit==3.0.24
171 | proto-plus==1.19.8
172 | protobuf==3.19.1
173 | psutil==5.9.0
174 | ptyprocess==0.7.0
175 | py==1.11.0
176 | pyarrow==6.0.1
177 | pyasn1==0.4.8
178 | pyasn1-modules==0.2.8
179 | pycodestyle==2.8.0
180 | pycparser==2.21
181 | pydantic==1.9.0
182 | pydata-google-auth==1.3.0
183 | pyflakes==2.4.0
184 | pygeohash==1.2.0
185 | Pygments==2.11.2
186 | pylint==2.10.2
187 | pyparsing==3.0.6
188 | pyrsistent==0.18.0
189 | pytest==6.2.5
190 | python-dateutil==2.8.2
191 | python-editor==1.0.4
192 | python-gitlab==3.0.0
193 | python-slugify==5.0.2
194 | pytz==2021.3
195 | PyWavelets==1.2.0
196 | PyYAML==6.0
197 | pyzmq==22.3.0
198 | qtconsole==5.2.2
199 | QtPy==2.0.0
200 | querystring-parser==1.2.4
201 | regex==2021.11.10
202 | requests==2.27.1
203 | requests-oauthlib==1.3.0
204 | requests-toolbelt==0.9.1
205 | rsa==4.8
206 | s3fs==2021.11.1
207 | scikit-image==0.19.1
208 | scikit-learn==1.0.2
209 | scipy==1.7.3
210 | seaborn==0.11.2
211 | Send2Trash==1.8.0
212 | setuptools-scm==6.3.2
213 | six==1.16.0
214 | smart-open==5.2.1
215 | smmap==5.0.0
216 | sniffio==1.2.0
217 | soupsieve==2.3.1
218 | SQLAlchemy==1.4.29
219 | sqlparse==0.4.2
220 | starlette==0.16.0
221 | statsmodels==0.13.1
222 | stopit==1.1.2
223 | tabulate==0.8.9
224 | tangled-up-in-unicode==0.1.0
225 | tenacity==8.0.1
226 | tensorboard==2.7.0
227 | tensorboard-data-server==0.6.1
228 | tensorboard-plugin-wit==1.8.1
229 | tensorflow==2.7.0
230 | tensorflow-datasets==4.4.0
231 | tensorflow-estimator==2.7.0
232 | tensorflow-io-gcs-filesystem==0.23.1
233 | tensorflow-metadata==1.5.0
234 | termcolor==1.1.0
235 | terminado==0.12.1
236 | testpath==0.5.0
237 | text-unidecode==1.3
238 | threadpoolctl==3.0.0
239 | tifffile==2021.11.2
240 | toml==0.10.2
241 | tomli==1.2.3
242 | toolz==0.11.2
243 | tornado==6.1
244 | TPOT==0.11.7
245 | tqdm==4.62.3
246 | traitlets==5.1.1
247 | typing-inspect==0.7.1
248 | typing_extensions==4.0.1
249 | update-checker==0.18.0
250 | urllib3==1.26.7
251 | uvicorn==0.16.0
252 | visions==0.7.4
253 | wcwidth==0.2.5
254 | webencodings==0.5.1
255 | websocket-client==1.2.3
256 | Werkzeug==2.0.2
257 | widgetsnbextension==3.5.2
258 | wrapt==1.12.1
259 | xgboost==1.5.1
260 | XlsxWriter==3.0.2
261 | yapf==0.32.0
262 | yarl==1.7.2
263 | zipp==3.7.0
264 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q2/python_version.txt:
--------------------------------------------------------------------------------
1 | 3.8.12
2 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/README.md:
--------------------------------------------------------------------------------
1 |
2 | ## files
3 |
4 | files generated from https://github.com/lewagon/utils/blob/master/data-setup/process/base/requirements.txt
5 |
6 | apple_intel
7 | apple_silicon from this release this refers to a native silicon setup (without using rosetta i386)
8 | glovebox
9 | linux
10 | python_version
11 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/apple_intel.txt:
--------------------------------------------------------------------------------
1 | absl-py==1.3.0
2 | altair==4.2.0
3 | anyio==3.6.2
4 | appnope==0.1.3
5 | argon2-cffi==21.3.0
6 | argon2-cffi-bindings==21.2.0
7 | astroid==2.11.7
8 | asttokens==2.0.8
9 | astunparse==1.6.3
10 | attrs==22.1.0
11 | autopep8==1.6.0
12 | Babel==2.10.3
13 | backcall==0.2.0
14 | beautifulsoup4==4.11.1
15 | bleach==5.0.1
16 | blinker==1.5
17 | branca==0.5.0
18 | cachetools==5.2.0
19 | certifi==2022.9.24
20 | cffi==1.15.1
21 | charset-normalizer==2.1.1
22 | click==8.1.3
23 | cloudpickle==2.2.0
24 | colorama==0.4.5
25 | commonmark==0.9.1
26 | cycler==0.11.0
27 | Cython==0.29.32
28 | dask==2022.7.1
29 | db-dtypes==1.0.4
30 | deap==1.3.3
31 | debugpy==1.6.3
32 | decorator==5.1.1
33 | defusedxml==0.7.1
34 | dill==0.3.6
35 | entrypoints==0.4
36 | etils==0.8.0
37 | executing==1.1.1
38 | fastjsonschema==2.16.2
39 | flake8==4.0.1
40 | flatbuffers==22.9.24
41 | folium==0.12.1.post1
42 | fonttools==4.38.0
43 | fsspec==2022.10.0
44 | gast==0.4.0
45 | gensim==4.2.0
46 | gitdb==4.0.9
47 | GitPython==3.1.29
48 | google-api-core==2.10.2
49 | google-auth==2.13.0
50 | google-auth-oauthlib==0.4.6
51 | google-cloud-bigquery==2.34.4
52 | google-cloud-bigquery-storage==2.16.2
53 | google-cloud-core==2.3.2
54 | google-cloud-storage==2.4.0
55 | google-crc32c==1.5.0
56 | google-pasta==0.2.0
57 | google-resumable-media==2.4.0
58 | google-trans-new==1.1.9
59 | googleapis-common-protos==1.56.4
60 | grpcio==1.50.0
61 | grpcio-status==1.48.2
62 | h11==0.12.0
63 | h5py==3.7.0
64 | htmlmin==0.1.12
65 | httpcore==0.15.0
66 | httpx==0.23.0
67 | idna==3.4
68 | ImageHash==4.3.1
69 | imageio==2.22.2
70 | imbalanced-learn==0.9.1
71 | imblearn==0.0
72 | importlib-metadata==5.0.0
73 | importlib-resources==5.10.0
74 | iniconfig==1.1.1
75 | ipdb==0.13.9
76 | ipykernel==6.15.3
77 | ipympl==0.9.2
78 | ipython==8.5.0
79 | ipython-genutils==0.2.0
80 | ipywidgets==7.7.2
81 | isort==5.10.1
82 | jedi==0.18.1
83 | Jinja2==3.1.2
84 | joblib==1.1.1
85 | json5==0.9.10
86 | jsonschema==4.16.0
87 | jupyter-contrib-core==0.4.0
88 | jupyter-contrib-nbextensions==0.5.1
89 | jupyter-highlight-selected-word==0.2.0
90 | jupyter-latex-envs==1.4.6
91 | jupyter-nbextensions-configurator==0.5.0
92 | jupyter-resource-usage==0.6.3
93 | jupyter-server==1.21.0
94 | jupyter_client==7.4.3
95 | jupyter_core==4.11.2
96 | jupyterlab==3.4.8
97 | jupyterlab-pygments==0.2.2
98 | jupyterlab-widgets==1.1.1
99 | jupyterlab_server==2.16.1
100 | kaggle==1.5.12
101 | keras==2.10.0
102 | Keras-Preprocessing==1.1.2
103 | kiwisolver==1.4.4
104 | lazy-object-proxy==1.7.1
105 | libclang==14.0.6
106 | locket==1.0.0
107 | lxml==4.9.1
108 | Markdown==3.4.1
109 | MarkupSafe==2.1.1
110 | matplotlib==3.5.3
111 | matplotlib-inline==0.1.6
112 | mccabe==0.6.1
113 | memoized-property==1.0.3
114 | missingno==0.5.1
115 | mistune==0.8.4
116 | multimethod==1.8
117 | nbclassic==0.4.7
118 | nbclient==0.7.0
119 | nbconvert==6.5.4
120 | nbformat==5.7.0
121 | nbresult==0.0.8
122 | nest-asyncio==1.5.6
123 | networkx==2.8.7
124 | nltk==3.7
125 | notebook==6.4.12
126 | notebook_shim==0.2.0
127 | numpy==1.23.4
128 | oauthlib==3.2.2
129 | opt-einsum==3.3.0
130 | packaging==21.3
131 | pandas==1.4.4
132 | pandas-gbq==0.17.9
133 | pandas-profiling==3.3.0
134 | pandocfilters==1.5.0
135 | parso==0.8.3
136 | partd==1.3.0
137 | patsy==0.5.3
138 | pexpect==4.8.0
139 | phik==0.12.2
140 | pickleshare==0.7.5
141 | Pillow==9.1.1
142 | platformdirs==2.5.2
143 | plotly==5.9.0
144 | pluggy==1.0.0
145 | pmdarima==2.0.1
146 | prometheus-client==0.15.0
147 | promise==2.3
148 | prompt-toolkit==3.0.31
149 | proto-plus==1.22.1
150 | protobuf==3.19.6
151 | psutil==5.9.3
152 | psycopg2-binary==2.9.4
153 | ptyprocess==0.7.0
154 | pure-eval==0.2.2
155 | py==1.11.0
156 | pyarrow==8.0.0
157 | pyasn1==0.4.8
158 | pyasn1-modules==0.2.8
159 | pycodestyle==2.8.0
160 | pycparser==2.21
161 | pydantic==1.9.2
162 | pydata-google-auth==1.4.0
163 | pydeck==0.8.0b4
164 | pyflakes==2.4.0
165 | Pygments==2.13.0
166 | pylint==2.14.5
167 | Pympler==1.0.1
168 | pyparsing==3.0.9
169 | pyrsistent==0.18.1
170 | pytest==7.1.3
171 | pytest-asyncio==0.19.0
172 | python-dateutil==2.8.2
173 | python-dotenv==0.20.0
174 | python-slugify==6.1.2
175 | pytz==2022.1
176 | pytz-deprecation-shim==0.1.0.post0
177 | PyWavelets==1.4.1
178 | PyYAML==5.4.1
179 | pyzmq==24.0.1
180 | regex==2022.9.13
181 | requests==2.28.1
182 | requests-oauthlib==1.3.1
183 | rfc3986==1.5.0
184 | rich==12.6.0
185 | rsa==4.9
186 | scikit-image==0.19.3
187 | scikit-learn==1.1.2
188 | scipy==1.8.1
189 | seaborn==0.11.2
190 | semver==2.13.0
191 | Send2Trash==1.8.0
192 | setuptools-scm==6.4.2
193 | six==1.16.0
194 | smart-open==6.2.0
195 | smmap==5.0.0
196 | sniffio==1.3.0
197 | soupsieve==2.3.2.post1
198 | stack-data==0.5.1
199 | statsmodels==0.13.2
200 | stopit==1.1.2
201 | streamlit==1.11.1
202 | tangled-up-in-unicode==0.2.0
203 | tenacity==8.1.0
204 | tensorboard==2.10.1
205 | tensorboard-data-server==0.6.1
206 | tensorboard-plugin-wit==1.8.1
207 | tensorflow==2.10.0
208 | tensorflow-datasets==4.6.0
209 | tensorflow-estimator==2.10.0
210 | tensorflow-io-gcs-filesystem==0.27.0
211 | tensorflow-metadata==1.10.0
212 | termcolor==2.0.1
213 | terminado==0.16.0
214 | text-unidecode==1.3
215 | threadpoolctl==3.1.0
216 | tifffile==2022.10.10
217 | tinycss2==1.2.1
218 | toml==0.10.2
219 | tomli==2.0.1
220 | tomlkit==0.11.5
221 | toolz==0.12.0
222 | tornado==6.2
223 | TPOT==0.11.7
224 | tqdm==4.64.1
225 | traitlets==5.5.0
226 | typing_extensions==4.4.0
227 | tzdata==2022.5
228 | tzlocal==4.2
229 | update-checker==0.18.0
230 | urllib3==1.26.12
231 | validators==0.20.0
232 | visions==0.7.5
233 | wcwidth==0.2.5
234 | webencodings==0.5.1
235 | websocket-client==1.4.1
236 | Werkzeug==2.2.2
237 | widgetsnbextension==3.6.1
238 | wrapt==1.14.1
239 | xgboost==1.6.2
240 | XlsxWriter==3.0.3
241 | yapf==0.32.0
242 | zipp==3.10.0
243 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/apple_silicon.txt:
--------------------------------------------------------------------------------
1 | absl-py==1.3.0
2 | altair==4.2.0
3 | anyio==3.6.2
4 | appnope==0.1.3
5 | argon2-cffi==21.3.0
6 | argon2-cffi-bindings==21.2.0
7 | astroid==2.11.7
8 | asttokens==2.0.8
9 | astunparse==1.6.3
10 | attrs==22.1.0
11 | autopep8==1.6.0
12 | Babel==2.10.3
13 | backcall==0.2.0
14 | beautifulsoup4==4.11.1
15 | bleach==5.0.1
16 | blinker==1.5
17 | branca==0.5.0
18 | cachetools==5.2.0
19 | certifi==2022.9.24
20 | cffi==1.15.1
21 | charset-normalizer==2.1.1
22 | click==8.1.3
23 | cloudpickle==2.2.0
24 | colorama==0.4.5
25 | commonmark==0.9.1
26 | cycler==0.11.0
27 | Cython==0.29.32
28 | dask==2022.7.1
29 | db-dtypes==1.0.4
30 | deap==1.3.3
31 | debugpy==1.6.3
32 | decorator==5.1.1
33 | defusedxml==0.7.1
34 | dill==0.3.6
35 | entrypoints==0.4
36 | etils==0.8.0
37 | executing==1.1.1
38 | fastjsonschema==2.16.2
39 | flake8==4.0.1
40 | flatbuffers==22.9.24
41 | folium==0.12.1.post1
42 | fonttools==4.38.0
43 | fsspec==2022.10.0
44 | gast==0.4.0
45 | gensim==4.2.0
46 | gitdb==4.0.9
47 | GitPython==3.1.29
48 | google-api-core==2.10.2
49 | google-auth==2.13.0
50 | google-auth-oauthlib==0.4.6
51 | google-cloud-bigquery==2.34.4
52 | google-cloud-bigquery-storage==2.16.2
53 | google-cloud-core==2.3.2
54 | google-cloud-storage==2.4.0
55 | google-crc32c==1.5.0
56 | google-pasta==0.2.0
57 | google-resumable-media==2.4.0
58 | google-trans-new==1.1.9
59 | googleapis-common-protos==1.56.4
60 | grpcio==1.50.0
61 | grpcio-status==1.48.2
62 | h11==0.12.0
63 | h5py==3.7.0
64 | htmlmin==0.1.12
65 | httpcore==0.15.0
66 | httpx==0.23.0
67 | idna==3.4
68 | ImageHash==4.3.1
69 | imageio==2.22.2
70 | imbalanced-learn==0.9.1
71 | imblearn==0.0
72 | importlib-metadata==5.0.0
73 | importlib-resources==5.10.0
74 | iniconfig==1.1.1
75 | ipdb==0.13.9
76 | ipykernel==6.15.3
77 | ipympl==0.9.2
78 | ipython==8.5.0
79 | ipython-genutils==0.2.0
80 | ipywidgets==7.7.2
81 | isort==5.10.1
82 | jedi==0.18.1
83 | Jinja2==3.1.2
84 | joblib==1.1.1
85 | json5==0.9.10
86 | jsonschema==4.16.0
87 | jupyter-contrib-core==0.4.0
88 | jupyter-contrib-nbextensions==0.5.1
89 | jupyter-highlight-selected-word==0.2.0
90 | jupyter-latex-envs==1.4.6
91 | jupyter-nbextensions-configurator==0.5.0
92 | jupyter-resource-usage==0.6.3
93 | jupyter-server==1.21.0
94 | jupyter_client==7.4.3
95 | jupyter_core==4.11.2
96 | jupyterlab==3.4.8
97 | jupyterlab-pygments==0.2.2
98 | jupyterlab-widgets==1.1.1
99 | jupyterlab_server==2.16.1
100 | kaggle==1.5.12
101 | keras==2.10.0
102 | Keras-Preprocessing==1.1.2
103 | kiwisolver==1.4.4
104 | lazy-object-proxy==1.7.1
105 | libclang==14.0.6
106 | locket==1.0.0
107 | lxml==4.9.1
108 | Markdown==3.4.1
109 | MarkupSafe==2.1.1
110 | matplotlib==3.5.3
111 | matplotlib-inline==0.1.6
112 | mccabe==0.6.1
113 | memoized-property==1.0.3
114 | missingno==0.5.1
115 | mistune==0.8.4
116 | multimethod==1.8
117 | nbclassic==0.4.7
118 | nbclient==0.7.0
119 | nbconvert==6.5.4
120 | nbformat==5.7.0
121 | nbresult==0.0.8
122 | nest-asyncio==1.5.6
123 | networkx==2.8.7
124 | nltk==3.7
125 | notebook==6.4.12
126 | notebook_shim==0.2.0
127 | numpy==1.23.4
128 | oauthlib==3.2.2
129 | opt-einsum==3.3.0
130 | packaging==21.3
131 | pandas==1.4.4
132 | pandas-gbq==0.17.9
133 | pandas-profiling==3.3.0
134 | pandocfilters==1.5.0
135 | parso==0.8.3
136 | partd==1.3.0
137 | patsy==0.5.3
138 | pexpect==4.8.0
139 | phik==0.12.2
140 | pickleshare==0.7.5
141 | Pillow==9.1.1
142 | platformdirs==2.5.2
143 | plotly==5.9.0
144 | pluggy==1.0.0
145 | pmdarima==2.0.1
146 | prometheus-client==0.15.0
147 | promise==2.3
148 | prompt-toolkit==3.0.31
149 | proto-plus==1.22.1
150 | protobuf==3.19.6
151 | psutil==5.9.3
152 | psycopg2-binary==2.9.4
153 | ptyprocess==0.7.0
154 | pure-eval==0.2.2
155 | py==1.11.0
156 | pyarrow==8.0.0
157 | pyasn1==0.4.8
158 | pyasn1-modules==0.2.8
159 | pycodestyle==2.8.0
160 | pycparser==2.21
161 | pydantic==1.9.2
162 | pydata-google-auth==1.4.0
163 | pydeck==0.8.0b4
164 | pyflakes==2.4.0
165 | Pygments==2.13.0
166 | pylint==2.14.5
167 | Pympler==1.0.1
168 | pyparsing==3.0.9
169 | pyrsistent==0.18.1
170 | pytest==7.1.3
171 | pytest-asyncio==0.19.0
172 | python-dateutil==2.8.2
173 | python-dotenv==0.20.0
174 | python-slugify==6.1.2
175 | pytz==2022.1
176 | pytz-deprecation-shim==0.1.0.post0
177 | PyWavelets==1.4.1
178 | PyYAML==5.4.1
179 | pyzmq==24.0.1
180 | regex==2022.9.13
181 | requests==2.28.1
182 | requests-oauthlib==1.3.1
183 | rfc3986==1.5.0
184 | rich==12.6.0
185 | rsa==4.9
186 | scikit-image==0.19.3
187 | scikit-learn==1.1.2
188 | scipy==1.8.1
189 | seaborn==0.11.2
190 | semver==2.13.0
191 | Send2Trash==1.8.0
192 | setuptools-scm==6.4.2
193 | six==1.16.0
194 | smart-open==6.2.0
195 | smmap==5.0.0
196 | sniffio==1.3.0
197 | soupsieve==2.3.2.post1
198 | stack-data==0.5.1
199 | statsmodels==0.13.2
200 | stopit==1.1.2
201 | streamlit==1.11.1
202 | tangled-up-in-unicode==0.2.0
203 | tenacity==8.1.0
204 | tensorboard==2.10.1
205 | tensorboard-data-server==0.6.1
206 | tensorboard-plugin-wit==1.8.1
207 | tensorflow-datasets==4.6.0
208 | tensorflow-estimator==2.10.0
209 | tensorflow-macos==2.10.0
210 | tensorflow-metadata==1.10.0
211 | termcolor==2.0.1
212 | terminado==0.16.0
213 | text-unidecode==1.3
214 | threadpoolctl==3.1.0
215 | tifffile==2022.10.10
216 | tinycss2==1.2.1
217 | toml==0.10.2
218 | tomli==2.0.1
219 | tomlkit==0.11.5
220 | toolz==0.12.0
221 | tornado==6.2
222 | TPOT==0.11.7
223 | tqdm==4.64.1
224 | traitlets==5.5.0
225 | typing_extensions==4.4.0
226 | tzdata==2022.5
227 | tzlocal==4.2
228 | update-checker==0.18.0
229 | urllib3==1.26.12
230 | validators==0.20.0
231 | visions==0.7.5
232 | wcwidth==0.2.5
233 | webencodings==0.5.1
234 | websocket-client==1.4.1
235 | Werkzeug==2.2.2
236 | widgetsnbextension==3.6.1
237 | wrapt==1.14.1
238 | xgboost==1.6.2
239 | XlsxWriter==3.0.3
240 | yapf==0.32.0
241 | zipp==3.10.0
242 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/glovebox.txt:
--------------------------------------------------------------------------------
1 | astroid==2.11.7
2 | asttokens==2.0.8
3 | attrs==22.1.0
4 | autopep8==1.6.0
5 | backcall==0.2.0
6 | beautifulsoup4==4.11.1
7 | certifi==2022.9.24
8 | charset-normalizer==2.1.1
9 | cycler==0.11.0
10 | decorator==5.1.1
11 | dill==0.3.6
12 | executing==1.1.1
13 | flake8==4.0.1
14 | fonttools==4.38.0
15 | idna==3.4
16 | iniconfig==1.1.1
17 | ipdb==0.13.9
18 | ipython==8.5.0
19 | isort==5.10.1
20 | jedi==0.18.1
21 | joblib==1.1.1
22 | kiwisolver==1.4.4
23 | lazy-object-proxy==1.7.1
24 | lxml==4.9.1
25 | matplotlib==3.5.3
26 | matplotlib-inline==0.1.6
27 | mccabe==0.6.1
28 | memoized-property==1.0.3
29 | nbresult==0.0.8
30 | numpy==1.23.4
31 | packaging==21.3
32 | pandas==1.4.4
33 | parso==0.8.3
34 | pexpect==4.8.0
35 | pickleshare==0.7.5
36 | Pillow==9.1.1
37 | platformdirs==2.5.2
38 | pluggy==1.0.0
39 | prompt-toolkit==3.0.31
40 | ptyprocess==0.7.0
41 | pure-eval==0.2.2
42 | py==1.11.0
43 | pycodestyle==2.8.0
44 | pyflakes==2.4.0
45 | Pygments==2.13.0
46 | pylint==2.14.5
47 | pyparsing==3.0.9
48 | pytest==7.1.3
49 | python-dateutil==2.8.2
50 | pytz==2022.1
51 | PyYAML==5.4.1
52 | requests==2.28.1
53 | scikit-learn==1.1.2
54 | scipy==1.8.1
55 | setuptools-scm==6.4.2
56 | six==1.16.0
57 | soupsieve==2.3.2.post1
58 | stack-data==0.5.1
59 | threadpoolctl==3.1.0
60 | toml==0.10.2
61 | tomli==2.0.1
62 | tomlkit==0.11.5
63 | traitlets==5.5.0
64 | urllib3==1.26.12
65 | wcwidth==0.2.5
66 | wrapt==1.14.1
67 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/linux.txt:
--------------------------------------------------------------------------------
1 | absl-py==1.3.0
2 | altair==4.2.0
3 | anyio==3.6.2
4 | argon2-cffi==21.3.0
5 | argon2-cffi-bindings==21.2.0
6 | astroid==2.11.7
7 | asttokens==2.0.8
8 | astunparse==1.6.3
9 | attrs==22.1.0
10 | autopep8==1.6.0
11 | Babel==2.10.3
12 | backcall==0.2.0
13 | beautifulsoup4==4.11.1
14 | bleach==5.0.1
15 | blinker==1.5
16 | branca==0.5.0
17 | cachetools==5.2.0
18 | certifi==2022.9.24
19 | cffi==1.15.1
20 | charset-normalizer==2.1.1
21 | click==8.1.3
22 | cloudpickle==2.2.0
23 | colorama==0.4.5
24 | commonmark==0.9.1
25 | cycler==0.11.0
26 | Cython==0.29.32
27 | dask==2022.7.1
28 | db-dtypes==1.0.4
29 | deap==1.3.3
30 | debugpy==1.6.3
31 | decorator==5.1.1
32 | defusedxml==0.7.1
33 | dill==0.3.6
34 | entrypoints==0.4
35 | etils==0.8.0
36 | executing==1.1.1
37 | fastjsonschema==2.16.2
38 | flake8==4.0.1
39 | flatbuffers==22.9.24
40 | folium==0.12.1.post1
41 | fonttools==4.38.0
42 | fsspec==2022.10.0
43 | gast==0.4.0
44 | gensim==4.2.0
45 | gitdb==4.0.9
46 | GitPython==3.1.29
47 | google-api-core==2.10.2
48 | google-auth==2.13.0
49 | google-auth-oauthlib==0.4.6
50 | google-cloud-bigquery==2.34.4
51 | google-cloud-bigquery-storage==2.16.2
52 | google-cloud-core==2.3.2
53 | google-cloud-storage==2.4.0
54 | google-crc32c==1.5.0
55 | google-pasta==0.2.0
56 | google-resumable-media==2.4.0
57 | google-trans-new==1.1.9
58 | googleapis-common-protos==1.56.4
59 | grpcio==1.50.0
60 | grpcio-status==1.48.2
61 | h11==0.12.0
62 | h5py==3.7.0
63 | htmlmin==0.1.12
64 | httpcore==0.15.0
65 | httpx==0.23.0
66 | idna==3.4
67 | ImageHash==4.3.1
68 | imageio==2.22.2
69 | imbalanced-learn==0.9.1
70 | imblearn==0.0
71 | importlib-metadata==5.0.0
72 | importlib-resources==5.10.0
73 | iniconfig==1.1.1
74 | ipdb==0.13.9
75 | ipykernel==6.15.3
76 | ipympl==0.9.2
77 | ipython==8.5.0
78 | ipython-genutils==0.2.0
79 | ipywidgets==7.7.2
80 | isort==5.10.1
81 | jedi==0.18.1
82 | Jinja2==3.1.2
83 | joblib==1.1.1
84 | json5==0.9.10
85 | jsonschema==4.16.0
86 | jupyter-contrib-core==0.4.0
87 | jupyter-contrib-nbextensions==0.5.1
88 | jupyter-highlight-selected-word==0.2.0
89 | jupyter-latex-envs==1.4.6
90 | jupyter-nbextensions-configurator==0.5.0
91 | jupyter-resource-usage==0.6.3
92 | jupyter-server==1.21.0
93 | jupyter_client==7.4.3
94 | jupyter_core==4.11.2
95 | jupyterlab==3.4.8
96 | jupyterlab-pygments==0.2.2
97 | jupyterlab-widgets==1.1.1
98 | jupyterlab_server==2.16.1
99 | kaggle==1.5.12
100 | keras==2.10.0
101 | Keras-Preprocessing==1.1.2
102 | kiwisolver==1.4.4
103 | lazy-object-proxy==1.7.1
104 | libclang==14.0.6
105 | locket==1.0.0
106 | lxml==4.9.1
107 | Markdown==3.4.1
108 | MarkupSafe==2.1.1
109 | matplotlib==3.5.3
110 | matplotlib-inline==0.1.6
111 | mccabe==0.6.1
112 | memoized-property==1.0.3
113 | missingno==0.5.1
114 | mistune==0.8.4
115 | multimethod==1.8
116 | nbclassic==0.4.7
117 | nbclient==0.7.0
118 | nbconvert==6.5.4
119 | nbformat==5.7.0
120 | nbresult==0.0.8
121 | nest-asyncio==1.5.6
122 | networkx==2.8.7
123 | nltk==3.7
124 | notebook==6.4.12
125 | notebook_shim==0.2.0
126 | numpy==1.23.4
127 | oauthlib==3.2.2
128 | opt-einsum==3.3.0
129 | packaging==21.3
130 | pandas==1.4.4
131 | pandas-gbq==0.17.9
132 | pandas-profiling==3.3.0
133 | pandocfilters==1.5.0
134 | parso==0.8.3
135 | partd==1.3.0
136 | patsy==0.5.3
137 | pexpect==4.8.0
138 | phik==0.12.2
139 | pickleshare==0.7.5
140 | Pillow==9.1.1
141 | platformdirs==2.5.2
142 | plotly==5.9.0
143 | pluggy==1.0.0
144 | pmdarima==2.0.1
145 | prometheus-client==0.15.0
146 | promise==2.3
147 | prompt-toolkit==3.0.31
148 | proto-plus==1.22.1
149 | protobuf==3.19.6
150 | psutil==5.9.3
151 | psycopg2-binary==2.9.4
152 | ptyprocess==0.7.0
153 | pure-eval==0.2.2
154 | py==1.11.0
155 | pyarrow==8.0.0
156 | pyasn1==0.4.8
157 | pyasn1-modules==0.2.8
158 | pycodestyle==2.8.0
159 | pycparser==2.21
160 | pydantic==1.9.2
161 | pydata-google-auth==1.4.0
162 | pydeck==0.8.0b4
163 | pyflakes==2.4.0
164 | Pygments==2.13.0
165 | pylint==2.14.5
166 | Pympler==1.0.1
167 | pyparsing==3.0.9
168 | pyrsistent==0.18.1
169 | pytest==7.1.3
170 | pytest-asyncio==0.19.0
171 | python-dateutil==2.8.2
172 | python-dotenv==0.20.0
173 | python-slugify==6.1.2
174 | pytz==2022.1
175 | pytz-deprecation-shim==0.1.0.post0
176 | PyWavelets==1.4.1
177 | PyYAML==5.4.1
178 | pyzmq==24.0.1
179 | regex==2022.9.13
180 | requests==2.28.1
181 | requests-oauthlib==1.3.1
182 | rfc3986==1.5.0
183 | rich==12.6.0
184 | rsa==4.9
185 | scikit-image==0.19.3
186 | scikit-learn==1.1.2
187 | scipy==1.8.1
188 | seaborn==0.11.2
189 | semver==2.13.0
190 | Send2Trash==1.8.0
191 | setuptools-scm==6.4.2
192 | six==1.16.0
193 | smart-open==6.2.0
194 | smmap==5.0.0
195 | sniffio==1.3.0
196 | soupsieve==2.3.2.post1
197 | stack-data==0.5.1
198 | statsmodels==0.13.2
199 | stopit==1.1.2
200 | streamlit==1.11.1
201 | tangled-up-in-unicode==0.2.0
202 | tenacity==8.1.0
203 | tensorboard==2.10.1
204 | tensorboard-data-server==0.6.1
205 | tensorboard-plugin-wit==1.8.1
206 | tensorflow==2.10.0
207 | tensorflow-datasets==4.6.0
208 | tensorflow-estimator==2.10.0
209 | tensorflow-io-gcs-filesystem==0.27.0
210 | tensorflow-metadata==1.10.0
211 | termcolor==2.0.1
212 | terminado==0.16.0
213 | text-unidecode==1.3
214 | threadpoolctl==3.1.0
215 | tifffile==2022.10.10
216 | tinycss2==1.2.1
217 | toml==0.10.2
218 | tomli==2.0.1
219 | tomlkit==0.11.5
220 | toolz==0.12.0
221 | tornado==6.2
222 | TPOT==0.11.7
223 | tqdm==4.64.1
224 | traitlets==5.5.0
225 | typing_extensions==4.4.0
226 | tzdata==2022.5
227 | tzlocal==4.2
228 | update-checker==0.18.0
229 | urllib3==1.26.12
230 | validators==0.20.0
231 | visions==0.7.5
232 | watchdog==2.1.9
233 | wcwidth==0.2.5
234 | webencodings==0.5.1
235 | websocket-client==1.4.1
236 | Werkzeug==2.2.2
237 | widgetsnbextension==3.6.1
238 | wrapt==1.14.1
239 | xgboost==1.6.2
240 | XlsxWriter==3.0.3
241 | yapf==0.32.0
242 | zipp==3.10.0
243 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/pyproject_install_dates.txt:
--------------------------------------------------------------------------------
1 | 2022-10-24 01:21:49 zipp==3.10.0
2 | 2022-10-23 22:46:33 dill==0.3.6
3 | 2022-10-21 18:18:52 fonttools==4.38.0
4 | 2022-10-20 07:13:16 nbclassic==0.4.7
5 | 2022-10-19 22:24:09 jupyter_client==7.4.3
6 | 2022-10-19 17:11:32 jupyterlab_server==2.16.1
7 | 2022-10-19 15:01:07 fsspec==2022.10.0
8 | 2022-10-19 14:11:36 jupyter_core==4.11.2
9 | 2022-10-19 10:08:34 anyio==3.6.2
10 | 2022-10-18 20:15:11 psutil==5.9.3
11 | 2022-10-18 17:52:55 grpcio==1.50.0
12 | 2022-10-18 12:40:20 traitlets==5.5.0
13 | 2022-10-18 07:04:56 tinycss2==1.2.1
14 | 2022-10-17 20:04:27 oauthlib==3.2.2
15 | 2022-10-17 16:12:45 notebook_shim==0.2.0
16 | 2022-10-17 15:14:40 google-auth==2.13.0
17 | 2022-10-16 19:25:26 imageio==2.22.2
18 | 2022-10-13 20:32:52 absl-py==1.3.0
19 | 2022-10-13 15:15:27 pydeck==0.8.0b4
20 | 2022-10-13 14:49:13 prometheus-client==0.15.0
21 | 2022-10-13 00:44:38 tzdata==2022.5
22 | 2022-10-12 14:53:03 numpy==1.23.4
23 | 2022-10-11 16:30:44 tifffile==2022.10.10
24 | 2022-10-11 11:37:13 jupyter-server==1.21.0
25 | 2022-10-10 23:50:08 GitPython==3.1.29
26 | 2022-10-10 16:29:33 google-cloud-bigquery-storage==2.16.2
27 | 2022-10-10 13:12:17 nbformat==5.7.0
28 | 2022-10-10 12:54:10 joblib==1.1.1
29 | 2022-10-09 20:27:39 patsy==0.5.3
30 | 2022-10-08 15:36:32 executing==1.1.1
31 | 2022-10-08 01:10:36 importlib-resources==5.10.0
32 | 2022-10-08 00:45:43 google-api-core==2.10.2
33 | 2022-10-06 22:40:03 typing_extensions==4.4.0
34 | 2022-10-06 16:32:32 nbclient==0.7.0
35 | 2022-10-06 16:03:56 psycopg2-binary==2.9.4
36 | 2022-10-06 08:59:29 jupyter-resource-usage==0.6.3
37 | 2022-10-04 17:37:32 tensorflow-io-gcs-filesystem==0.27.0
38 | 2022-10-04 12:23:41 jupyterlab==3.4.8
39 | 2022-10-02 16:27:00 rich==12.6.0
40 | 2022-10-02 00:42:12 importlib-metadata==5.0.0
41 | 2022-10-01 20:52:29 networkx==2.8.7
42 | 2022-09-30 07:09:16 nest-asyncio==1.5.6
43 | 2022-09-29 22:07:23 protobuf==3.19.6
44 | 2022-09-29 21:58:33 google-resumable-media==2.4.0
45 | 2022-09-29 14:07:54 terminado==0.16.0
46 | 2022-09-28 19:15:07 pandas-gbq==0.17.9
47 | 2022-09-28 08:44:39 ImageHash==4.3.1
48 | 2022-09-28 01:52:43 tomlkit==0.11.5
49 | 2022-09-27 19:09:39 flatbuffers==22.9.24
50 | 2022-09-26 15:15:56 tensorboard==2.10.1
51 | 2022-09-26 14:38:09 nbconvert==6.5.4
52 | 2022-09-25 14:10:46 stack-data==0.5.1
53 | 2022-09-24 14:26:53 certifi==2022.9.24
54 | 2022-09-22 02:50:32 grpcio-status==1.48.2
55 | 2022-09-21 12:50:09 pyzmq==24.0.1
56 | 2022-09-21 12:24:13 tenacity==8.1.0
57 | 2022-09-20 15:01:05 db-dtypes==1.0.4
58 | 2022-09-19 16:49:56 fastjsonschema==2.16.2
59 | 2022-09-16 14:26:50 PyWavelets==1.4.1
60 | 2022-09-15 20:35:04 tensorflow-macos==2.10.0
61 | 2022-09-14 02:10:51 smart-open==6.2.0
62 | 2022-09-14 00:24:27 idna==3.4
63 | 2022-09-13 15:31:54 ipykernel==6.15.3
64 | 2022-09-13 01:31:49 regex==2022.9.13
65 | 2022-09-12 15:59:32 etils==0.8.0
66 | 2022-09-12 05:14:20 termcolor==2.0.1
67 | 2022-09-09 09:46:05 jsonschema==4.16.0
68 | 2022-09-07 16:12:58 cloudpickle==2.2.0
69 | 2022-09-07 14:35:12 pandas-profiling==3.3.0
70 | 2022-09-06 19:26:55 tensorflow==2.10.0
71 | 2022-09-06 09:04:59 ipython==8.5.0
72 | 2022-09-04 20:01:51 websocket-client==1.4.1
73 | 2022-09-03 11:10:30 tqdm==4.64.1
74 | 2022-09-02 22:41:53 tensorflow-estimator==2.10.0
75 | 2022-09-02 21:28:37 keras==2.10.0
76 | 2022-09-02 11:13:15 pytest==7.1.3
77 | 2022-09-02 09:01:31 prompt-toolkit==3.0.31
78 | 2022-09-01 14:33:40 google-crc32c==1.5.0
79 | 2022-09-01 12:31:36 sniffio==1.3.0
80 | 2022-08-31 12:22:41 pandas==1.4.4
81 | 2022-08-30 13:37:58 proto-plus==1.22.1
82 | 2022-08-23 15:34:38 pmdarima==2.0.1
83 | 2022-08-23 00:41:59 tensorflow-metadata==1.10.0
84 | 2022-08-22 15:19:36 xgboost==1.6.2
85 | 2022-08-22 13:27:23 urllib3==1.26.12
86 | 2022-08-22 09:59:48 ipympl==0.9.2
87 | 2022-08-19 22:13:48 charset-normalizer==2.1.1
88 | 2022-08-19 17:00:46 ipywidgets==7.7.2
89 | 2022-08-18 21:23:17 json5==0.9.10
90 | 2022-08-18 03:48:18 matplotlib-inline==0.1.6
91 | 2022-08-16 07:20:28 kiwisolver==1.4.4
92 | 2022-08-15 23:26:32 debugpy==1.6.3
93 | 2022-08-15 16:03:23 Pygments==2.13.0
94 | 2022-08-15 10:49:52 asttokens==2.0.8
95 | 2022-08-11 23:23:41 partd==1.3.0
96 | 2022-08-11 13:27:52 pydantic==1.9.2
97 | 2022-08-11 07:00:56 matplotlib==3.5.3
98 | 2022-08-08 21:44:15 Werkzeug==2.2.2
99 | 2022-08-08 11:16:19 deap==1.3.3
100 | 2022-08-05 14:44:15 scikit-learn==1.1.2
101 | 2022-08-02 01:56:28 libclang==14.0.6
102 | 2022-07-29 07:16:55 Cython==0.29.32
103 | 2022-07-28 13:20:29 attrs==22.1.0
104 | 2022-07-27 21:20:37 streamlit==1.11.1
105 | 2022-07-22 21:10:24 dask==2022.7.1
106 | 2022-07-20 10:28:36 rsa==4.9
107 | 2022-07-18 13:18:46 google-cloud-core==2.3.2
108 | 2022-07-17 19:45:53 pylint==2.14.5
109 | 2022-07-17 17:40:05 blinker==1.5
110 | 2022-07-17 12:14:53 jupyter-nbextensions-configurator==0.5.0
111 | 2022-07-15 19:15:38 Markdown==3.4.1
112 | 2022-07-15 08:25:13 pytest-asyncio==0.19.0
113 | 2022-07-12 17:32:20 googleapis-common-protos==1.56.4
114 | 2022-07-10 04:29:56 toolz==0.12.0
115 | 2022-07-09 14:51:00 astroid==2.11.7
116 | 2022-07-09 08:13:07 jupyter-contrib-core==0.4.0
117 | 2022-07-03 22:39:41 tornado==6.2
118 | 2022-07-02 06:12:04 lxml==4.9.1
119 | 2022-06-30 18:18:32 cffi==1.15.1
120 | 2022-06-29 15:13:42 requests==2.28.1
121 | 2022-06-27 14:40:08 bleach==5.0.1
122 | 2022-06-24 01:08:01 plotly==5.9.0
123 | 2022-06-22 17:39:36 widgetsnbextension==3.6.1
124 | 2022-06-22 17:38:28 jupyterlab-widgets==1.1.1
125 | 2022-06-16 12:34:47 colorama==0.4.5
126 | 2022-06-16 06:31:37 Babel==2.10.3
127 | 2022-06-12 18:12:38 scikit-image==0.19.3
128 | 2022-06-10 10:29:06 watchdog==2.1.9
129 | 2022-06-09 14:43:58 google-cloud-bigquery==2.34.4
130 | 2022-06-08 18:12:02 google-cloud-storage==2.4.0
131 | 2022-06-07 16:42:13 notebook==6.4.12
132 | 2022-06-05 17:12:13 validators==0.20.0
133 | 2022-06-02 09:17:39 tensorflow-datasets==4.6.0
134 | 2022-05-29 20:53:07 cachetools==5.2.0
135 | 2022-05-24 09:59:22 h5py==3.7.0
136 | 2022-05-23 15:32:37 httpx==0.23.0
137 | 2022-05-20 22:00:05 nbresult==0.0.8
138 | 2022-05-18 12:47:44 scipy==1.8.1
139 | 2022-05-17 22:02:08 Pillow==9.1.1
140 | 2022-05-17 12:45:55 httpcore==0.15.0
141 | 2022-05-16 18:50:07 imbalanced-learn==0.9.1
142 | 2022-05-10 23:26:05 pyparsing==3.0.9
143 | 2022-05-06 21:36:10 pyarrow==8.0.0
144 | 2022-05-02 05:28:31 wrapt==1.14.1
145 | 2022-05-01 16:20:13 gensim==4.2.0
146 | 2022-04-28 17:36:09 click==8.1.3
147 | 2022-04-28 17:21:27 Jinja2==3.1.2
148 | 2022-04-27 16:09:01 python-slugify==6.1.2
149 | 2022-04-20 22:04:44 locket==1.0.0
150 | 2022-04-18 16:29:33 branca==0.5.0
151 | 2022-04-18 08:48:49 platformdirs==2.5.2
152 | 2022-04-14 12:58:00 soupsieve==2.3.2.post1
153 | 2022-04-14 09:06:25 jupyterlab-pygments==0.2.2
154 | 2022-04-08 21:22:48 beautifulsoup4==4.11.1
155 | 2022-04-08 01:27:42 multimethod==1.8
156 | 2022-04-04 10:26:28 appnope==0.1.3
157 | 2022-04-02 14:16:00 tzlocal==4.2
158 | 2022-03-24 21:32:37 python-dotenv==0.20.0
159 | 2022-03-21 20:25:47 phik==0.12.2
160 | 2022-03-20 00:37:10 pytz==2022.1
161 | 2022-03-15 13:23:27 MarkupSafe==2.1.1
162 | 2022-03-14 16:48:43 pydata-google-auth==1.4.0
163 | 2022-02-27 20:39:38 missingno==0.5.1
164 | 2022-02-27 12:33:09 XlsxWriter==3.0.3
165 | 2022-02-10 07:35:29 statsmodels==0.13.2
166 | 2022-02-09 12:40:51 nltk==3.7
167 | 2022-02-08 10:54:04 tomli==2.0.1
168 | 2022-02-02 21:30:28 entrypoints==0.4
169 | 2022-01-31 16:31:55 threadpoolctl==3.1.0
170 | 2022-01-29 18:52:24 requests-oauthlib==1.3.1
171 | 2022-01-22 15:41:29 pure-eval==0.2.2
172 | 2022-01-19 10:42:57 setuptools-scm==6.4.2
173 | 2022-01-14 19:56:08 pyrsistent==0.18.1
174 | 2022-01-07 08:20:05 decorator==5.1.1
175 | 2022-01-05 20:29:51 tensorboard-plugin-wit==1.8.1
176 | 2021-12-29 13:25:39 altair==4.2.0
177 | 2021-12-26 07:48:02 yapf==0.32.0
178 | 2021-12-22 16:55:19 Pympler==1.0.1
179 | 2021-12-15 16:56:56 lazy-object-proxy==1.7.1
180 | 2021-12-11 11:47:50 argon2-cffi==21.3.0
181 | 2021-12-05 19:31:33 visions==0.7.5
182 | 2021-12-01 09:09:45 argon2-cffi-bindings==21.2.0
183 | 2021-11-30 21:05:50 parso==0.8.3
184 | 2021-11-22 17:22:38 folium==0.12.1.post1
185 | 2021-11-18 00:39:13 packaging==21.3
186 | 2021-11-17 00:47:51 jedi==0.18.1
187 | 2021-11-09 05:42:46 isort==5.10.1
188 | 2021-11-06 12:50:13 pycparser==2.21
189 | 2021-11-04 17:17:01 py==1.11.0
190 | 2021-10-29 03:40:55 cycler==0.11.0
191 | 2021-10-24 13:40:44 gitdb==4.0.9
192 | 2021-10-24 06:47:38 autopep8==1.6.0
193 | 2021-10-15 13:19:47 smmap==5.0.0
194 | 2021-10-11 12:42:48 flake8==4.0.1
195 | 2021-10-11 00:56:27 pycodestyle==2.8.0
196 | 2021-10-06 20:39:50 pyflakes==2.4.0
197 | 2021-09-27 22:01:35 tangled-up-in-unicode==0.2.0
198 | 2021-09-14 03:37:58 pandocfilters==1.5.0
199 | 2021-09-01 09:54:17 google-auth-oauthlib==0.4.6
200 | 2021-08-25 16:26:02 pluggy==1.0.0
201 | 2021-08-16 00:42:21 seaborn==0.11.2
202 | 2021-08-09 02:53:00 Send2Trash==1.8.0
203 | 2021-07-14 08:19:19 python-dateutil==2.8.2
204 | 2021-06-02 11:43:46 ipdb==0.13.9
205 | 2021-05-07 23:29:27 rfc3986==1.5.0
206 | 2021-05-05 21:49:51 tensorboard-data-server==0.6.1
207 | 2021-05-05 14:18:18 six==1.16.0
208 | 2021-03-13 00:50:03 kaggle==1.5.12
209 | 2021-03-08 18:48:28 PyYAML==5.4.1
210 | 2021-03-08 10:59:26 defusedxml==0.7.1
211 | 2021-01-06 15:20:09 TPOT==0.11.7
212 | 2021-01-01 11:34:46 h11==0.12.0
213 | 2020-12-28 15:15:30 ptyprocess==0.7.0
214 | 2020-12-04 07:12:37 google-trans-new==1.1.9
215 | 2020-11-01 01:40:22 toml==0.10.2
216 | 2020-10-20 20:16:54 semver==2.13.0
217 | 2020-10-16 17:37:23 iniconfig==1.1.1
218 | 2020-08-07 21:45:23 gast==0.4.0
219 | 2020-08-04 07:08:50 update-checker==0.18.0
220 | 2020-07-19 22:40:32 opt-einsum==3.3.0
221 | 2020-06-23 16:10:29 wcwidth==0.2.5
222 | 2020-06-17 16:16:30 pytz-deprecation-shim==0.1.0.post0
223 | 2020-06-09 15:11:32 backcall==0.2.0
224 | 2020-05-14 03:53:48 Keras-Preprocessing==1.1.2
225 | 2020-03-13 18:57:50 google-pasta==0.2.0
226 | 2020-01-21 16:37:05 pexpect==4.8.0
227 | 2020-01-09 17:24:21 pyasn1-modules==0.2.8
228 | 2019-12-22 18:12:13 astunparse==1.6.3
229 | 2019-12-18 07:31:43 promise==2.3
230 | 2019-11-16 17:27:38 pyasn1==0.4.8
231 | 2019-10-04 15:37:39 commonmark==0.9.1
232 | 2019-08-30 21:37:03 text-unidecode==1.3
233 | 2019-01-02 13:39:54 jupyter-contrib-nbextensions==0.5.1
234 | 2018-12-02 22:31:10 jupyter-latex-envs==1.4.6
235 | 2018-10-11 06:59:27 mistune==0.8.4
236 | 2018-09-25 19:17:37 pickleshare==0.7.5
237 | 2018-04-07 13:56:22 jupyter-highlight-selected-word==0.2.0
238 | 2018-02-09 00:32:14 stopit==1.1.2
239 | 2017-12-29 16:41:36 htmlmin==0.1.12
240 | 2017-04-05 20:21:34 webencodings==0.5.1
241 | 2017-03-13 22:12:26 ipython-genutils==0.2.0
242 | 2017-01-26 22:13:15 mccabe==0.6.1
243 | 2017-01-19 11:52:37 imblearn==0.0
244 | 2016-09-29 06:16:34 memoized-property==1.0.3
245 |
--------------------------------------------------------------------------------
/specs/releases/past/2022_Q4/python_version.txt:
--------------------------------------------------------------------------------
1 | 3.10.6
2 |
--------------------------------------------------------------------------------
/specs/releases/pyproject_install_dates.txt:
--------------------------------------------------------------------------------
1 | 2022-10-24 01:21:49 zipp==3.10.0
2 | 2022-10-23 22:46:33 dill==0.3.6
3 | 2022-10-21 18:18:52 fonttools==4.38.0
4 | 2022-10-20 07:13:16 nbclassic==0.4.7
5 | 2022-10-19 22:24:09 jupyter_client==7.4.3
6 | 2022-10-19 17:11:32 jupyterlab_server==2.16.1
7 | 2022-10-19 15:01:07 fsspec==2022.10.0
8 | 2022-10-19 14:11:36 jupyter_core==4.11.2
9 | 2022-10-19 10:08:34 anyio==3.6.2
10 | 2022-10-18 20:15:11 psutil==5.9.3
11 | 2022-10-18 17:52:55 grpcio==1.50.0
12 | 2022-10-18 12:40:20 traitlets==5.5.0
13 | 2022-10-18 07:04:56 tinycss2==1.2.1
14 | 2022-10-17 20:04:27 oauthlib==3.2.2
15 | 2022-10-17 16:12:45 notebook_shim==0.2.0
16 | 2022-10-17 15:14:40 google-auth==2.13.0
17 | 2022-10-16 19:25:26 imageio==2.22.2
18 | 2022-10-13 20:32:52 absl-py==1.3.0
19 | 2022-10-13 15:15:27 pydeck==0.8.0b4
20 | 2022-10-13 14:49:13 prometheus-client==0.15.0
21 | 2022-10-13 00:44:38 tzdata==2022.5
22 | 2022-10-12 14:53:03 numpy==1.23.4
23 | 2022-10-11 16:30:44 tifffile==2022.10.10
24 | 2022-10-11 11:37:13 jupyter-server==1.21.0
25 | 2022-10-10 23:50:08 GitPython==3.1.29
26 | 2022-10-10 16:29:33 google-cloud-bigquery-storage==2.16.2
27 | 2022-10-10 13:12:17 nbformat==5.7.0
28 | 2022-10-10 12:54:10 joblib==1.1.1
29 | 2022-10-09 20:27:39 patsy==0.5.3
30 | 2022-10-08 15:36:32 executing==1.1.1
31 | 2022-10-08 01:10:36 importlib-resources==5.10.0
32 | 2022-10-08 00:45:43 google-api-core==2.10.2
33 | 2022-10-06 22:40:03 typing_extensions==4.4.0
34 | 2022-10-06 16:32:32 nbclient==0.7.0
35 | 2022-10-06 16:03:56 psycopg2-binary==2.9.4
36 | 2022-10-06 08:59:29 jupyter-resource-usage==0.6.3
37 | 2022-10-04 17:37:32 tensorflow-io-gcs-filesystem==0.27.0
38 | 2022-10-04 12:23:41 jupyterlab==3.4.8
39 | 2022-10-02 16:27:00 rich==12.6.0
40 | 2022-10-02 00:42:12 importlib-metadata==5.0.0
41 | 2022-10-01 20:52:29 networkx==2.8.7
42 | 2022-09-30 07:09:16 nest-asyncio==1.5.6
43 | 2022-09-29 22:07:23 protobuf==3.19.6
44 | 2022-09-29 21:58:33 google-resumable-media==2.4.0
45 | 2022-09-29 14:07:54 terminado==0.16.0
46 | 2022-09-28 19:15:07 pandas-gbq==0.17.9
47 | 2022-09-28 08:44:39 ImageHash==4.3.1
48 | 2022-09-28 01:52:43 tomlkit==0.11.5
49 | 2022-09-27 19:09:39 flatbuffers==22.9.24
50 | 2022-09-26 15:15:56 tensorboard==2.10.1
51 | 2022-09-26 14:38:09 nbconvert==6.5.4
52 | 2022-09-25 14:10:46 stack-data==0.5.1
53 | 2022-09-24 14:26:53 certifi==2022.9.24
54 | 2022-09-22 02:50:32 grpcio-status==1.48.2
55 | 2022-09-21 12:50:09 pyzmq==24.0.1
56 | 2022-09-21 12:24:13 tenacity==8.1.0
57 | 2022-09-20 15:01:05 db-dtypes==1.0.4
58 | 2022-09-19 16:49:56 fastjsonschema==2.16.2
59 | 2022-09-16 14:26:50 PyWavelets==1.4.1
60 | 2022-09-15 20:35:04 tensorflow-macos==2.10.0
61 | 2022-09-14 02:10:51 smart-open==6.2.0
62 | 2022-09-14 00:24:27 idna==3.4
63 | 2022-09-13 15:31:54 ipykernel==6.15.3
64 | 2022-09-13 01:31:49 regex==2022.9.13
65 | 2022-09-12 15:59:32 etils==0.8.0
66 | 2022-09-12 05:14:20 termcolor==2.0.1
67 | 2022-09-09 09:46:05 jsonschema==4.16.0
68 | 2022-09-07 16:12:58 cloudpickle==2.2.0
69 | 2022-09-07 14:35:12 pandas-profiling==3.3.0
70 | 2022-09-06 19:26:55 tensorflow==2.10.0
71 | 2022-09-06 09:04:59 ipython==8.5.0
72 | 2022-09-04 20:01:51 websocket-client==1.4.1
73 | 2022-09-03 11:10:30 tqdm==4.64.1
74 | 2022-09-02 22:41:53 tensorflow-estimator==2.10.0
75 | 2022-09-02 21:28:37 keras==2.10.0
76 | 2022-09-02 11:13:15 pytest==7.1.3
77 | 2022-09-02 09:01:31 prompt-toolkit==3.0.31
78 | 2022-09-01 14:33:40 google-crc32c==1.5.0
79 | 2022-09-01 12:31:36 sniffio==1.3.0
80 | 2022-08-31 12:22:41 pandas==1.4.4
81 | 2022-08-30 13:37:58 proto-plus==1.22.1
82 | 2022-08-23 15:34:38 pmdarima==2.0.1
83 | 2022-08-23 00:41:59 tensorflow-metadata==1.10.0
84 | 2022-08-22 15:19:36 xgboost==1.6.2
85 | 2022-08-22 13:27:23 urllib3==1.26.12
86 | 2022-08-22 09:59:48 ipympl==0.9.2
87 | 2022-08-19 22:13:48 charset-normalizer==2.1.1
88 | 2022-08-19 17:00:46 ipywidgets==7.7.2
89 | 2022-08-18 21:23:17 json5==0.9.10
90 | 2022-08-18 03:48:18 matplotlib-inline==0.1.6
91 | 2022-08-16 07:20:28 kiwisolver==1.4.4
92 | 2022-08-15 23:26:32 debugpy==1.6.3
93 | 2022-08-15 16:03:23 Pygments==2.13.0
94 | 2022-08-15 10:49:52 asttokens==2.0.8
95 | 2022-08-11 23:23:41 partd==1.3.0
96 | 2022-08-11 13:27:52 pydantic==1.9.2
97 | 2022-08-11 07:00:56 matplotlib==3.5.3
98 | 2022-08-08 21:44:15 Werkzeug==2.2.2
99 | 2022-08-08 11:16:19 deap==1.3.3
100 | 2022-08-05 14:44:15 scikit-learn==1.1.2
101 | 2022-08-02 01:56:28 libclang==14.0.6
102 | 2022-07-29 07:16:55 Cython==0.29.32
103 | 2022-07-28 13:20:29 attrs==22.1.0
104 | 2022-07-27 21:20:37 streamlit==1.11.1
105 | 2022-07-22 21:10:24 dask==2022.7.1
106 | 2022-07-20 10:28:36 rsa==4.9
107 | 2022-07-18 13:18:46 google-cloud-core==2.3.2
108 | 2022-07-17 19:45:53 pylint==2.14.5
109 | 2022-07-17 17:40:05 blinker==1.5
110 | 2022-07-17 12:14:53 jupyter-nbextensions-configurator==0.5.0
111 | 2022-07-15 19:15:38 Markdown==3.4.1
112 | 2022-07-15 08:25:13 pytest-asyncio==0.19.0
113 | 2022-07-12 17:32:20 googleapis-common-protos==1.56.4
114 | 2022-07-10 04:29:56 toolz==0.12.0
115 | 2022-07-09 14:51:00 astroid==2.11.7
116 | 2022-07-09 08:13:07 jupyter-contrib-core==0.4.0
117 | 2022-07-03 22:39:41 tornado==6.2
118 | 2022-07-02 06:12:04 lxml==4.9.1
119 | 2022-06-30 18:18:32 cffi==1.15.1
120 | 2022-06-29 15:13:42 requests==2.28.1
121 | 2022-06-27 14:40:08 bleach==5.0.1
122 | 2022-06-24 01:08:01 plotly==5.9.0
123 | 2022-06-22 17:39:36 widgetsnbextension==3.6.1
124 | 2022-06-22 17:38:28 jupyterlab-widgets==1.1.1
125 | 2022-06-16 12:34:47 colorama==0.4.5
126 | 2022-06-16 06:31:37 Babel==2.10.3
127 | 2022-06-12 18:12:38 scikit-image==0.19.3
128 | 2022-06-10 10:29:06 watchdog==2.1.9
129 | 2022-06-09 14:43:58 google-cloud-bigquery==2.34.4
130 | 2022-06-08 18:12:02 google-cloud-storage==2.4.0
131 | 2022-06-07 16:42:13 notebook==6.4.12
132 | 2022-06-05 17:12:13 validators==0.20.0
133 | 2022-06-02 09:17:39 tensorflow-datasets==4.6.0
134 | 2022-05-29 20:53:07 cachetools==5.2.0
135 | 2022-05-24 09:59:22 h5py==3.7.0
136 | 2022-05-23 15:32:37 httpx==0.23.0
137 | 2022-05-20 22:00:05 nbresult==0.0.8
138 | 2022-05-18 12:47:44 scipy==1.8.1
139 | 2022-05-17 22:02:08 Pillow==9.1.1
140 | 2022-05-17 12:45:55 httpcore==0.15.0
141 | 2022-05-16 18:50:07 imbalanced-learn==0.9.1
142 | 2022-05-10 23:26:05 pyparsing==3.0.9
143 | 2022-05-06 21:36:10 pyarrow==8.0.0
144 | 2022-05-02 05:28:31 wrapt==1.14.1
145 | 2022-05-01 16:20:13 gensim==4.2.0
146 | 2022-04-28 17:36:09 click==8.1.3
147 | 2022-04-28 17:21:27 Jinja2==3.1.2
148 | 2022-04-27 16:09:01 python-slugify==6.1.2
149 | 2022-04-20 22:04:44 locket==1.0.0
150 | 2022-04-18 16:29:33 branca==0.5.0
151 | 2022-04-18 08:48:49 platformdirs==2.5.2
152 | 2022-04-14 12:58:00 soupsieve==2.3.2.post1
153 | 2022-04-14 09:06:25 jupyterlab-pygments==0.2.2
154 | 2022-04-08 21:22:48 beautifulsoup4==4.11.1
155 | 2022-04-08 01:27:42 multimethod==1.8
156 | 2022-04-04 10:26:28 appnope==0.1.3
157 | 2022-04-02 14:16:00 tzlocal==4.2
158 | 2022-03-24 21:32:37 python-dotenv==0.20.0
159 | 2022-03-21 20:25:47 phik==0.12.2
160 | 2022-03-20 00:37:10 pytz==2022.1
161 | 2022-03-15 13:23:27 MarkupSafe==2.1.1
162 | 2022-03-14 16:48:43 pydata-google-auth==1.4.0
163 | 2022-02-27 20:39:38 missingno==0.5.1
164 | 2022-02-27 12:33:09 XlsxWriter==3.0.3
165 | 2022-02-10 07:35:29 statsmodels==0.13.2
166 | 2022-02-09 12:40:51 nltk==3.7
167 | 2022-02-08 10:54:04 tomli==2.0.1
168 | 2022-02-02 21:30:28 entrypoints==0.4
169 | 2022-01-31 16:31:55 threadpoolctl==3.1.0
170 | 2022-01-29 18:52:24 requests-oauthlib==1.3.1
171 | 2022-01-22 15:41:29 pure-eval==0.2.2
172 | 2022-01-19 10:42:57 setuptools-scm==6.4.2
173 | 2022-01-14 19:56:08 pyrsistent==0.18.1
174 | 2022-01-07 08:20:05 decorator==5.1.1
175 | 2022-01-05 20:29:51 tensorboard-plugin-wit==1.8.1
176 | 2021-12-29 13:25:39 altair==4.2.0
177 | 2021-12-26 07:48:02 yapf==0.32.0
178 | 2021-12-22 16:55:19 Pympler==1.0.1
179 | 2021-12-15 16:56:56 lazy-object-proxy==1.7.1
180 | 2021-12-11 11:47:50 argon2-cffi==21.3.0
181 | 2021-12-05 19:31:33 visions==0.7.5
182 | 2021-12-01 09:09:45 argon2-cffi-bindings==21.2.0
183 | 2021-11-30 21:05:50 parso==0.8.3
184 | 2021-11-22 17:22:38 folium==0.12.1.post1
185 | 2021-11-18 00:39:13 packaging==21.3
186 | 2021-11-17 00:47:51 jedi==0.18.1
187 | 2021-11-09 05:42:46 isort==5.10.1
188 | 2021-11-06 12:50:13 pycparser==2.21
189 | 2021-11-04 17:17:01 py==1.11.0
190 | 2021-10-29 03:40:55 cycler==0.11.0
191 | 2021-10-24 13:40:44 gitdb==4.0.9
192 | 2021-10-24 06:47:38 autopep8==1.6.0
193 | 2021-10-15 13:19:47 smmap==5.0.0
194 | 2021-10-11 12:42:48 flake8==4.0.1
195 | 2021-10-11 00:56:27 pycodestyle==2.8.0
196 | 2021-10-06 20:39:50 pyflakes==2.4.0
197 | 2021-09-27 22:01:35 tangled-up-in-unicode==0.2.0
198 | 2021-09-14 03:37:58 pandocfilters==1.5.0
199 | 2021-09-01 09:54:17 google-auth-oauthlib==0.4.6
200 | 2021-08-25 16:26:02 pluggy==1.0.0
201 | 2021-08-16 00:42:21 seaborn==0.11.2
202 | 2021-08-09 02:53:00 Send2Trash==1.8.0
203 | 2021-07-14 08:19:19 python-dateutil==2.8.2
204 | 2021-06-02 11:43:46 ipdb==0.13.9
205 | 2021-05-07 23:29:27 rfc3986==1.5.0
206 | 2021-05-05 21:49:51 tensorboard-data-server==0.6.1
207 | 2021-05-05 14:18:18 six==1.16.0
208 | 2021-03-13 00:50:03 kaggle==1.5.12
209 | 2021-03-08 18:48:28 PyYAML==5.4.1
210 | 2021-03-08 10:59:26 defusedxml==0.7.1
211 | 2021-01-06 15:20:09 TPOT==0.11.7
212 | 2021-01-01 11:34:46 h11==0.12.0
213 | 2020-12-28 15:15:30 ptyprocess==0.7.0
214 | 2020-12-04 07:12:37 google-trans-new==1.1.9
215 | 2020-11-01 01:40:22 toml==0.10.2
216 | 2020-10-20 20:16:54 semver==2.13.0
217 | 2020-10-16 17:37:23 iniconfig==1.1.1
218 | 2020-08-07 21:45:23 gast==0.4.0
219 | 2020-08-04 07:08:50 update-checker==0.18.0
220 | 2020-07-19 22:40:32 opt-einsum==3.3.0
221 | 2020-06-23 16:10:29 wcwidth==0.2.5
222 | 2020-06-17 16:16:30 pytz-deprecation-shim==0.1.0.post0
223 | 2020-06-09 15:11:32 backcall==0.2.0
224 | 2020-05-14 03:53:48 Keras-Preprocessing==1.1.2
225 | 2020-03-13 18:57:50 google-pasta==0.2.0
226 | 2020-01-21 16:37:05 pexpect==4.8.0
227 | 2020-01-09 17:24:21 pyasn1-modules==0.2.8
228 | 2019-12-22 18:12:13 astunparse==1.6.3
229 | 2019-12-18 07:31:43 promise==2.3
230 | 2019-11-16 17:27:38 pyasn1==0.4.8
231 | 2019-10-04 15:37:39 commonmark==0.9.1
232 | 2019-08-30 21:37:03 text-unidecode==1.3
233 | 2019-01-02 13:39:54 jupyter-contrib-nbextensions==0.5.1
234 | 2018-12-02 22:31:10 jupyter-latex-envs==1.4.6
235 | 2018-10-11 06:59:27 mistune==0.8.4
236 | 2018-09-25 19:17:37 pickleshare==0.7.5
237 | 2018-04-07 13:56:22 jupyter-highlight-selected-word==0.2.0
238 | 2018-02-09 00:32:14 stopit==1.1.2
239 | 2017-12-29 16:41:36 htmlmin==0.1.12
240 | 2017-04-05 20:21:34 webencodings==0.5.1
241 | 2017-03-13 22:12:26 ipython-genutils==0.2.0
242 | 2017-01-26 22:13:15 mccabe==0.6.1
243 | 2017-01-19 11:52:37 imblearn==0.0
244 | 2016-09-29 06:16:34 memoized-property==1.0.3
245 |
--------------------------------------------------------------------------------
/specs/releases/python_version.txt:
--------------------------------------------------------------------------------
1 | 3.12.9
2 |
--------------------------------------------------------------------------------
/unused-images.sh:
--------------------------------------------------------------------------------
1 | #!/bin/zsh
2 |
3 | # list unused images
4 | # - checks for images not referenced in the content
5 | # - does not assess missing references in the content
6 | for file in images/*; do if [[ -z $(grep -rnw . -e $file G $file) ]]; then echo $file; fi; done
7 |
--------------------------------------------------------------------------------