Skip to content

Commit f77903e

Browse files
committed
chore: setup requirements templates
1 parent 7328aff commit f77903e

File tree

10 files changed

+684
-51
lines changed

10 files changed

+684
-51
lines changed

.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
# -----------------------------------
2+
# Environment Variables
3+
# -----------------------------------
4+
15
ENVIRONMENT=local

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ repos:
1111
hooks:
1212
- id: codespell
1313
args: ["--ignore-words=codespell.txt"]
14+
exclude: ^requirements/
1415
- repo: local
1516
hooks:
1617
- id: eslint

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ else
1616
$(shell echo -e "ENVIRONMENT=dev" >> .env)
1717
endif
1818

19-
.PHONY: analyze pre-commit init lint clean test build release all python-init docker-build docker-push docker-run docker-prune help
19+
.PHONY: analyze pre-commit init lint clean test build release all python-init help
2020

2121
# Default target executed when no arguments are given to make.
2222
all: help
@@ -49,6 +49,7 @@ init:
4949
make python-init && \
5050
npm install && \
5151
$(ACTIVATE_VENV) && \
52+
$(PIP) install -U 'pip<25.3' && \
5253
$(PIP) install -r requirements/local.txt && \
5354
pre-commit install && \
5455
deactivate

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ Demonstrate basic AI algorithms implemented using Python, including:
1515

1616
1. Verify project requirements: [Python 3.13](https://www.python.org/)
1717

18-
2. Run `make init`
18+
2. Run `make init`
1919

2020
3. Run `source venv/bin/activate`
2121

22-
2322
## Support
2423

2524
Please report bugs to the [GitHub Issues Page](https://github.com/FullStackWithLawrence/ai-algorithms/issues) for this project.

requirements/base.txt

Lines changed: 200 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,202 @@
1-
# -----------------------------------------------------------------------------
2-
# written by: Lawrence McDaniel
3-
# https://lawrencemcdaniel.com
41
#
5-
# usage: Python local development requirements
6-
# -----------------------------------------------------------------------------
7-
8-
python-dotenv==1.1.1 # for loading environment variables from .env files
9-
pandas==1.5.3 # for data manipulation
10-
kaggle==1.7.4.5 # for Kaggle api access
11-
seaborn==0.13.2 # for data visualization
12-
scikit-learn==1.5.1 # for machine learning algorithms
13-
scipy==1.10.1 # for scientific computing
14-
shap==0.43.0 # for model interpretability
15-
openpyxl==3.1.5 # for Excel file support from kaggle datasets
16-
17-
# Azure ML SDK - essential components only
18-
azureml-core==1.60.0.post1
19-
azureml-train-core==1.60.0
20-
azureml-pipeline-core==1.60.0
21-
azureml-train-automl==1.60.0
22-
azureml-widgets==1.60.0
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --cert=None --client-cert=None --index-url=None --output-file=requirements/base.txt --pip-args=None requirements/in/base.in
6+
#
7+
bleach==6.3.0
8+
# via kaggle
9+
certifi==2025.10.5
10+
# via
11+
# -r requirements/in/constraints.in
12+
# kaggle
13+
# requests
14+
chardet==5.2.0
15+
# via -r requirements/in/constraints.in
16+
charset-normalizer==3.4.4
17+
# via
18+
# -r requirements/in/constraints.in
19+
# kaggle
20+
# requests
21+
cloudpickle==3.1.2
22+
# via shap
23+
colorama==0.4.6
24+
# via -r requirements/in/constraints.in
25+
contourpy==1.3.3
26+
# via matplotlib
27+
cycler==0.12.1
28+
# via matplotlib
29+
et-xmlfile==2.0.0
30+
# via openpyxl
31+
filelock==3.20.0
32+
# via -r requirements/in/constraints.in
33+
fonttools==4.60.1
34+
# via matplotlib
35+
idna==3.11
36+
# via
37+
# -r requirements/in/constraints.in
38+
# kaggle
39+
# requests
40+
iniconfig==2.3.0
41+
# via -r requirements/in/constraints.in
42+
jmespath==1.0.1
43+
# via -r requirements/in/constraints.in
44+
joblib==1.5.2
45+
# via
46+
# -r requirements/in/constraints.in
47+
# scikit-learn
48+
kaggle==1.7.4.5
49+
# via -r requirements/in/base.in
50+
kiwisolver==1.4.9
51+
# via matplotlib
52+
llvmlite==0.45.1
53+
# via numba
54+
matplotlib==3.10.7
55+
# via seaborn
56+
mccabe==0.7.0
57+
# via -r requirements/in/constraints.in
58+
mdurl==0.1.2
59+
# via -r requirements/in/constraints.in
60+
more-itertools==10.8.0
61+
# via -r requirements/in/constraints.in
62+
multidict==6.7.0
63+
# via -r requirements/in/constraints.in
64+
numba==0.62.1
65+
# via shap
66+
numpy==2.3.4
67+
# via
68+
# contourpy
69+
# matplotlib
70+
# numba
71+
# pandas
72+
# scikit-learn
73+
# scipy
74+
# seaborn
75+
# shap
76+
openpyxl==3.1.5
77+
# via -r requirements/in/base.in
78+
packaging==25.0
79+
# via
80+
# matplotlib
81+
# shap
82+
pandas==2.3.3
83+
# via
84+
# -r requirements/in/base.in
85+
# seaborn
86+
# shap
87+
pathspec==0.12.1
88+
# via -r requirements/in/constraints.in
89+
pillow==12.0.0
90+
# via matplotlib
91+
platformdirs==4.5.0
92+
# via -r requirements/in/constraints.in
93+
pluggy==1.6.0
94+
# via -r requirements/in/constraints.in
95+
protobuf==6.33.0
96+
# via kaggle
97+
pyasn1==0.6.1
98+
# via
99+
# -r requirements/in/constraints.in
100+
# pyasn1-modules
101+
# rsa
102+
pyasn1-modules==0.4.2
103+
# via -r requirements/in/constraints.in
104+
pycodestyle==2.14.0
105+
# via -r requirements/in/constraints.in
106+
pycparser==2.23
107+
# via -r requirements/in/constraints.in
108+
pyflakes==3.4.0
109+
# via -r requirements/in/constraints.in
110+
pyparsing==3.2.5
111+
# via
112+
# -r requirements/in/constraints.in
113+
# matplotlib
114+
python-dateutil==2.9.0.post0
115+
# via
116+
# kaggle
117+
# matplotlib
118+
# pandas
119+
python-dotenv==1.2.1
120+
# via -r requirements/in/base.in
121+
python-slugify==8.0.4
122+
# via kaggle
123+
pytz==2025.2
124+
# via pandas
125+
rapidfuzz==3.14.3
126+
# via -r requirements/in/constraints.in
127+
regex==2025.11.3
128+
# via -r requirements/in/constraints.in
129+
requests==2.32.5
130+
# via kaggle
131+
rsa==4.9.1
132+
# via -r requirements/in/constraints.in
133+
scikit-learn==1.7.2
134+
# via
135+
# -r requirements/in/base.in
136+
# shap
137+
scipy==1.16.3
138+
# via
139+
# -r requirements/in/base.in
140+
# scikit-learn
141+
# shap
142+
seaborn==0.13.2
143+
# via -r requirements/in/base.in
144+
shap==0.49.1
145+
# via -r requirements/in/base.in
146+
six==1.17.0
147+
# via
148+
# -r requirements/in/constraints.in
149+
# kaggle
150+
# python-dateutil
151+
slicer==0.0.8
152+
# via shap
153+
sniffio==1.3.1
154+
# via -r requirements/in/constraints.in
155+
soupsieve==2.8
156+
# via -r requirements/in/constraints.in
157+
sqlparse==0.5.3
158+
# via -r requirements/in/constraints.in
159+
stevedore==5.5.0
160+
# via -r requirements/in/constraints.in
161+
tenacity==9.1.2
162+
# via -r requirements/in/constraints.in
163+
text-unidecode==1.3
164+
# via
165+
# kaggle
166+
# python-slugify
167+
threadpoolctl==3.6.0
168+
# via scikit-learn
169+
tomlkit==0.13.3
170+
# via -r requirements/in/constraints.in
171+
tqdm==4.67.1
172+
# via
173+
# kaggle
174+
# shap
175+
typing-extensions==4.15.0
176+
# via
177+
# -r requirements/in/constraints.in
178+
# shap
179+
tzdata==2025.2
180+
# via
181+
# -r requirements/in/constraints.in
182+
# pandas
183+
urllib3==2.5.0
184+
# via
185+
# -r requirements/in/constraints.in
186+
# kaggle
187+
# requests
188+
validators==0.35.0
189+
# via -r requirements/in/constraints.in
190+
vine==5.1.0
191+
# via -r requirements/in/constraints.in
192+
wcwidth==0.2.14
193+
# via -r requirements/in/constraints.in
194+
webencodings==0.5.1
195+
# via
196+
# bleach
197+
# kaggle
198+
wheel==0.45.1
199+
# via -r requirements/in/constraints.in
23200

24-
# Azure AI SDK - essential components only
25-
azure-ai-ml==1.27.1
26-
azure-storage-blob==12.19.0
201+
# The following packages are considered to be unsafe in a requirements file:
202+
# setuptools

requirements/in/base.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# -----------------------------------------------------------------------------
2+
# written by: Lawrence McDaniel
3+
# https://lawrencemcdaniel.com
4+
#
5+
# usage: The common platform requirements.
6+
#
7+
# pip-compile requirements/in/base.in -o requirements/base.txt
8+
# -----------------------------------------------------------------------------
9+
10+
-r constraints.in
11+
12+
python-dotenv==1.2.1 # for loading environment variables from .env files
13+
pandas==2.3.3 # for data manipulation
14+
kaggle==1.7.4.5 # for Kaggle api access
15+
seaborn==0.13.2 # for data visualization
16+
scikit-learn==1.7.2 # for machine learning algorithms
17+
scipy==1.16.3 # for scientific computing
18+
shap==0.49.1 # for model interpretability
19+
openpyxl==3.1.5 # for Excel file support from kaggle datasets

0 commit comments

Comments
 (0)