Interactive NLP course labs for Jupyter, Colab, and Deepnote
Project description
Labs
The course website is located here. Lecture materials, assignments, quizzes, etc. can be accessed at that link.
This site contains jupyter notebooks, data and other code artifacts associated with this course. I recommend you run these notebooks in Google Colab since they are tested in that environment. However, you are free to download and run elsewhere.
Choosing a Notebook Environment
Google Colab - single notebook experience
If you prefer:
- working within a single notebook
- are already comfortable with Google Colab
- don’t mind re-installing dependencies on re-start
- want instant access to GPUs
you may prefer Google Colab. Some libraries will need to be re-installed after each re-start.
Deepnote
If you are comfortable with working from within a forked copy of the repository itself and:
- want easy install, more persistence of dependencies
- low friction to move between notebooks
- realtime collaboration
you may prefer Deepnote. You will need to create a free account and then request an education plan.
Local JupyterLab / Notebook
If you are already comfortable in Jupyter in your local environment and:
- you want full control of your machine and environment
- persistence of dependencies
- and don’t mind dealing with managing your environment
you may prefer local Jupyter.
Installation
For Students (Google Colab)
For Google Colab (Python 3.10 compatible), use the special Colab requirements file:
# Download and install Colab-specific requirements
!wget -q https://raw.githubusercontent.com/su-dataAI/data401-nlp/main/colab-requirements.txt
!pip install -q -r colab-requirements.txt
# The spaCy model will be automatically downloaded when needed
from data401_nlp.helpers.spacy import ensure_spacy_model
nlp = ensure_spacy_model("en_core_web_sm")
Note: The colab-requirements.txt file pins numpy to version 1.x
for Python 3.10 compatibility with Colab’s pre-installed IPython 7.34.0.
For Deepnote
For Deepnote:
!pip install -r deepnote-requirements.txt
For Local Development
If you want to run the notebooks locally:
# Clone the repository
git clone https://github.com/su-dataAI/data401-nlp.git
cd data401-nlp
# Install with all dependencies
pip install -e ".[dev,all]"
pip install requirements.txt
# Download spaCy model
python -m spacy download en_core_web_sm
# Start Jupyter Lab
jupyter lab
Installation Options
The package supports flexible installation based on your needs:
# Minimal installation (core utilities only)
pip install data401-nlp
# With NLP tools (spaCy, NLTK)
pip install data401-nlp[nlp]
# With transformers and PyTorch
pip install data401-nlp[transformers]
# With API support (FastAPI, Pydantic)
pip install data401-nlp[api]
# Everything (recommended for students)
pip install data401-nlp[all]
Platform Support
✅ Google Colab
✅ Deepnote
✅ Jupyter Lab
✅ Local Python 3.11+
Helper Modules
The package includes several helper modules to make your NLP work easier:
data401_nlp.helpers.env- Environment detection and API key loadingdata401_nlp.helpers.spacy- Automatic spaCy model managementdata401_nlp.helpers.submit- Assignment submission utilitiesdata401_nlp.helpers.llm- LLM integration helpers
The helper libraries may be updated as the course proceeds.
Contents
| Lab | Colab | Deepnote | GitHub |
|---|---|---|---|
| Intro (Jan 15) |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file data401_nlp-0.0.5.tar.gz.
File metadata
- Download URL: data401_nlp-0.0.5.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c8a7e0e4630bbd9b744bbc6f156b06b78097a09450cf0f37b1fb7832a2c4e19
|
|
| MD5 |
1edee047846070df9ffb4bf81027292a
|
|
| BLAKE2b-256 |
41cb0b6789dd47301c50ecea7420ac098ce66ad880bb373a315030b136bbffe6
|
Provenance
The following attestation bundles were made for data401_nlp-0.0.5.tar.gz:
Publisher:
release.yaml on su-dataAI/data401-nlp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
data401_nlp-0.0.5.tar.gz -
Subject digest:
9c8a7e0e4630bbd9b744bbc6f156b06b78097a09450cf0f37b1fb7832a2c4e19 - Sigstore transparency entry: 815338266
- Sigstore integration time:
-
Permalink:
su-dataAI/data401-nlp@3bbb50c6a0cdff9a8f6e273cb9161a927d2b289f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/su-dataAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3bbb50c6a0cdff9a8f6e273cb9161a927d2b289f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file data401_nlp-0.0.5-py3-none-any.whl.
File metadata
- Download URL: data401_nlp-0.0.5-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b294b90a1f51055ee7c6fa54eb2489c79b2bd2fce68afb25aef849537071e79
|
|
| MD5 |
8946f11965c0487cfc0d066755ab0fec
|
|
| BLAKE2b-256 |
64f70ab282914080ed96ff0245e60d48b308bdd6df0893c1b9da2d9f2b8b1a4d
|
Provenance
The following attestation bundles were made for data401_nlp-0.0.5-py3-none-any.whl:
Publisher:
release.yaml on su-dataAI/data401-nlp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
data401_nlp-0.0.5-py3-none-any.whl -
Subject digest:
5b294b90a1f51055ee7c6fa54eb2489c79b2bd2fce68afb25aef849537071e79 - Sigstore transparency entry: 815338277
- Sigstore integration time:
-
Permalink:
su-dataAI/data401-nlp@3bbb50c6a0cdff9a8f6e273cb9161a927d2b289f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/su-dataAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3bbb50c6a0cdff9a8f6e273cb9161a927d2b289f -
Trigger Event:
workflow_dispatch
-
Statement type: