blob: 4f077787afea036992773edf980ff48ee8cc054f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# Teradata Financial & Stock Analysis
Python pipeline for extracting, analyzing, and visualizing financial and market metrics
for [Teradata](https://www.teradata.com). Built as supporting material for an academic presentation at the Maastricht
University School of Business and Economics.
Data is fetched directly via [SEC EDGAR](https://www.sec.gov/edgar/search/)
and [Yahoo Finance](https://finance.yahoo.com), with interactive and static charts generated via Plotly.
---
## Requirements
- **Runtime:** [Python >= 3.15](<https://www.python.org/downloads/release/python-3150/>)
- **Project Manager:** [`uv`](https://github.com/astral-sh/uv)
- **SEC Identity:** `SEC_EDGAR_IDENTITY` must be set in your environment or declared in a `.env` file to comply with SEC
fair access policies.
## Running the Project
1. **Configure Environment Variables**
Create a `.env` file in the root directory (or export the variable directly):
```bash
echo 'SEC_EDGAR_IDENTITY="Your Full Name user@example.com"' > .env
```
2. **Sync Dependencies**
To set up the virtual environment with the pinned Python 3.15 runtime:
```bash
uv sync
```
3. **Execute**
Run the main script or entrypoint directly through `uv`:
```bash
uv run start
```
## Dependencies & Licenses
| Package | Purpose / Description | License |
|------------------------------------------------------------------|------------------------------------------|----------------------|
| [attrs](https://github.com/python-attrs/attrs) | Classes without boilerplate | MIT |
| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) | HTML/XML parsing helper | MIT |
| [blake3](https://github.com/oconnor663/blake3-py) | Fast cryptographic hashing | CC0 1.0 & Apache-2.0 |
| [dill](https://github.com/uqfoundation/dill) | Extended serialization | BSD-3-Clause |
| [edgartools](https://github.com/dgunning/edgartools) | SEC EDGAR client interface | MIT |
| [kaleido](https://github.com/plotly/Kaleido) | Static export engine for Plotly | MIT |
| [loguru](https://github.com/delgan/loguru) | Structured logging | MIT |
| [lxml](https://lxml.de) | XML/HTML processing backend | BSD-3-Clause |
| [numpy](https://github.com/numpy/numpy) | Vectorized numerical operations | BSD-3-Clause |
| [pandas](https://github.com/pandas-dev/pandas) | Tabular data structures and manipulation | BSD-3-Clause |
| [plotly](https://github.com/plotly/plotly.py) | Interactive graphing and charting | MIT |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | Environment variable management | BSD-3-Clause |
| [types-lxml](https://github.com/abelcheung/types-lxml) | Type hints for lxml | Apache-2.0 |
| [yfinance](https://github.com/ranaroussi/yfinance) | Market and historical price feeds | Apache-2.0 |
|