Skip to content

Commit 39cfbcd

Browse files
committed
update
1 parent 8de5000 commit 39cfbcd

4 files changed

Lines changed: 110 additions & 104 deletions

File tree

.vscode/extensions.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
// ============================================================
1414
// === JUPYTER NOTEBOOKS ===
1515
// ============================================================
16-
"ms-toolsai.jupyter", // Core Jupyter support for .ipynb files
17-
"ms-toolsai.jupyter-keymap", // Jupyter keyboard shortcuts in VS Code
18-
"ms-toolsai.jupyter-renderers", // Rich output rendering (plots, dataframes)
19-
"ms-toolsai.vscode-jupyter-cell-tags", // Cell tagging for notebook organization
16+
// "ms-toolsai.jupyter", // Core Jupyter support for .ipynb files
17+
// "ms-toolsai.jupyter-keymap", // Jupyter keyboard shortcuts in VS Code
18+
// "ms-toolsai.jupyter-renderers", // Rich output rendering (plots, dataframes)
19+
// "ms-toolsai.vscode-jupyter-cell-tags", // Cell tagging for notebook organization
2020
// ============================================================
2121
// === FILE PATH ASSISTANCE ===
2222
// ============================================================

README.md

Lines changed: 48 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,53 @@
1-
# nlp-01-getting-started
1+
# nlp-04-api-text-data
22

33
[![Python 3.14+](https://img.shields.io/badge/python-3.14%2B-blue?logo=python)](#)
44
[![MIT](https://img.shields.io/badge/license-see%20LICENSE-yellow.svg)](./LICENSE)
55

6-
> Professional Python project for Web Mining and Applied NLP.
6+
> > Structured EVTL pipeline for reliable ingestion and transformation of JSON data from web APIs.
77
8-
Web Mining and Applied NLP focus on retrieving, processing, and analyzing text from the web and other digital sources.
9-
This course builds those capabilities through working projects.
8+
Web Mining and Applied NLP require reliable acquisition and processing of structured and semi-structured text data.
9+
This project implements a reproducible pipeline for working with JSON data from web APIs.
1010

11-
In the age of generative AI, durable skills are grounded in real work:
12-
setting up a professional environment,
13-
reading and running code,
14-
understanding the logic,
15-
and pushing work to a shared repository.
16-
Each project follows a similar structure based on professional Python projects.
17-
These projects are **hands-on textbooks** for learning Web Mining and Applied NLP.
11+
The pipeline follows an EVTL architecture:
1812

19-
## This Project
13+
- Extract data from an external API
14+
- Validate structure and content before use
15+
- Transform JSON into a structured representation
16+
- Load results into a persistent, analyzable format
2017

21-
This project focuses on retrieving and processing structured text data
22-
**from web APIs in JSON format**.
18+
The emphasis is on correctness, inspectability, and repeatability:
19+
every stage has explicit inputs, outputs, and logging,
20+
and intermediate artifacts are preserved for verification.
2321

24-
The goal is to acquire JSON data from an external source,
25-
inspect and validate its structure,
26-
transform it into a usable format,
27-
and load it into a reproducible output.
22+
## This Project
2823

29-
You've likely heard of ETL or ELT.
30-
We recommend EVTL.
24+
This project demonstrates how to work with JSON data retrieved from web APIs using a structured EVTL pipeline.
3125

32-
In EVTL, each stage has a source, a process, and a sink.
26+
The workflow:
3327

34-
- **Extract** acquires data
35-
- **Validate** inspects and checks it
36-
- **Transform** reshapes it
37-
- **Load** sends it to the chosen destination
28+
- Acquire JSON data from an external source
29+
- Inspect and validate its structure
30+
- Transform it into a tabular representation
31+
- Persist results for downstream analysis
3832

39-
This project illustrates how to **work with real API data and understand its structure before analysis**.
33+
Each stage is implemented as a modular component with explicit inputs and outputs.
4034

4135
## Key Files
4236

4337
You'll work with these files as you update authorship and experiment:
4438

45-
- **src/nlp/pipeline_api_json.py** - MAIN PIPELINE SCRIPT (no changes needed)
46-
- **src/nlp/config_case.py** - Python configuration (<mark>**copy and edit**</mark> for your custom project)
47-
- **src/nlp/stage01_extract.py** - EXTRACT (no changes needed)
48-
- **src/nlp/stage02_validate_case.py** - VALIDATE (<mark>**copy and edit**</mark>)
49-
- **src/nlp/stage03_transform_case.py** - TRANSFORM (<mark>**copy and edit**</mark>)
50-
- **src/nlp/stage04_load.py** - LOAD (no changes needed)
51-
- **pyproject.toml** - <mark>**update**</mark> authorship, links, and dependencies
52-
- **zensical.toml** - <mark>**update**</mark> authorship and links
39+
## Key Files
40+
41+
These files define the EVTL pipeline and the components you will update for your project.
42+
43+
- **src/nlp/pipeline_api_json.py** - Main pipeline orchestrator (no changes required)
44+
- **src/nlp/config_case.py** - Configuration for API access and paths (<mark>**copy and edit**</mark> for your project)
45+
- **src/nlp/stage01_extract.py** - Extract stage: retrieves data from the API (no changes required)
46+
- **src/nlp/stage02_validate_case.py** - Validate stage: inspects and verifies JSON structure (<mark>**copy and edit**</mark>)
47+
- **src/nlp/stage03_transform_case.py** - Transform stage: converts JSON into structured data (<mark>**copy and edit**</mark>)
48+
- **src/nlp/stage04_load.py** - Load stage: writes output to persistent storage (no changes required)
49+
- **pyproject.toml** - Project metadata and dependencies (<mark>**update**</mark> authorship, links, and dependencies)
50+
- **zensical.toml** - Documentation configuration (<mark>**update**</mark> authorship and links)
5351

5452
## First: Follow These Instructions
5553

@@ -63,14 +61,13 @@ Follow the [step-by-step workflow guide](https://denisecase.github.io/pro-analyt
6361

6462
After running the script successfully, you will see:
6563

66-
6764
```shell
6865
========================
6966
Pipeline executed successfully!
7067
========================
7168
```
7269

73-
And new files will appear:
70+
The following artifacts will be created:
7471

7572
- project.log - confirming successful run
7673
- data/raw/case_raw.json - dump of the fetched JSON
@@ -141,8 +138,6 @@ git push -u origin main
141138

142139
## Example Artifact (Output)
143140

144-
145-
146141
```text
147142
START PIPELINE
148143
ROOT_PATH = .
@@ -184,11 +179,22 @@ Pipeline executed successfully!
184179
========================
185180
```
186181

187-
188182
## Enhancements
189183

190184
In production systems, validation is often automated using tools
191-
such as Great Expectations or Soda.
185+
such as **Great Expectations** or **Soda**.
186+
187+
Within the EVTL architecture, **VALIDATE** is a key stage
188+
with a clear source, process, and sink:
189+
190+
- **Source**: JSON data extracted from the API
191+
- **Process**: checking structure, confirming assumptions, and identifying data quality issues
192+
- **Sink**: validated JSON passed to the TRANSFORM stage
193+
194+
This stage ensures the data is in a **consistent and reliable form**
195+
before transformation begins,
196+
so later steps can run without errors or unexpected results.
192197

193-
In this module, validation is implemented manually to develop a
194-
clear understanding of structure, assumptions, and data quality.
198+
In this project, validation is implemented directly,
199+
so all checks are visible, repeatable, and easy to review as part
200+
of the pipeline.

0 commit comments

Comments
 (0)