Skip to content

Commit

Permalink
[Reset] Clean up structure, get ready for recipes
Browse files Browse the repository at this point in the history
  • Loading branch information
nitya committed Apr 6, 2024
1 parent 1a00327 commit d7bd115
Show file tree
Hide file tree
Showing 18 changed files with 240 additions and 180 deletions.
46 changes: 25 additions & 21 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
{
// Default codespaces-jupyter configuration
// See: https://github.com/github/codespaces-jupyter
"image": "mcr.microsoft.com/devcontainers/universal:2",
"hostRequirements": {
"cpus": 4
},
"waitFor": "onCreateCommand",
"updateContentCommand": "python3 -m pip install -r requirements.txt",
"postCreateCommand": "",
// Default codespaces-jupyter configuration
// See: https://github.com/github/codespaces-jupyter
"name": "#30DaysOfPython",
"image": "mcr.microsoft.com/devcontainers/universal:2",

"hostRequirements": {
"cpus": 4
},
"waitFor": "onCreateCommand",
"updateContentCommand": "python3 -m pip install -r requirements.txt",
// "postCreateCommand": "cd docs && npm install && npm run dev",
"customizations": {
"codespaces": {
"openFiles": []
},
"vscode": {
"extensions": [
"ms-toolsai.jupyter",
"ms-python.python"
]
}

"customizations": {
"codespaces": {
"openFiles": []
},

"vscode": {
"extensions": [
"ms-toolsai.jupyter",
"ms-python.python",
"GitHub.copilot",
"ms-toolsai.datawrangler"
]
}
}
}
}
Empty file added .env.sample
Empty file.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
53 changes: 24 additions & 29 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,47 @@ export default defineConfig({
trailingSlash: 'always',

integrations: [

starlight({
title: '#30DaysOf Python',
description: 'Hands-on with Python: Core Concepts to AI/ML Apps',
title: 'Python3',
description: 'Python3 Cookbook. One Recipe A Day.',
tableOfContents: {
minHeadingLevel: 2,
maxHeadingLevel: 3
},
social: {
github: 'https://github.com/30DaysOf/python'
},
logo: {
src: './src/assets/pair-python.svg'
light: './src/assets/logo.png',
dark: './src/assets/logo.png',
replacesTitle: true,
},
customCss: [
'./src/styles/custom.css',
],
social: {
github: 'https://github.com/30DaysOf/python',
twitter: 'https://twitter.com/nitya',
youtube: 'https://www.youtube.com/@NityaNarasimhan',
},
sidebar: [
/*
{
label: 'Python Basics',
items: [
// Each item here is one entry in the navigation menu.
{ label: 'Concepts', link: '/fundamentals/example' },
],
},
*/
{
label: 'Python3 In #30Days',
link: '/introduction',
},
{
label: '1. Python Basics',
autogenerate: { directory: '01-basics' },
label: 'Overview',
link: 'introduction',
},
{
label: '2. Python Functions',
autogenerate: { directory: '02-functions' },
label: '1 | Python Basics',
autogenerate: { directory: '100' },
},
{
label: '3. Data Collection',
autogenerate: { directory: '03-data' },
label: '2 | Data Analysis',
autogenerate: { directory: '200' },
},
{
label: '4. Python Classes',
autogenerate: { directory: '04-classes' },
label: '3 | Machine Learning',
autogenerate: { directory: '300' },
},
{
label: '5. Python Project',
autogenerate: { directory: '05-project' },
label: '4 | Generative AI',
autogenerate: { directory: '400' },
},
],
}),
Expand Down
Binary file added docs/src/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 0 additions & 17 deletions docs/src/content/docs/01-basics/01-introduction.md

This file was deleted.

18 changes: 0 additions & 18 deletions docs/src/content/docs/02-functions/01-introduction.md

This file was deleted.

18 changes: 0 additions & 18 deletions docs/src/content/docs/03-data/01-introduction.md

This file was deleted.

17 changes: 0 additions & 17 deletions docs/src/content/docs/04-classes/01-introduction.md

This file was deleted.

17 changes: 0 additions & 17 deletions docs/src/content/docs/05-project/01-introduction.md

This file was deleted.

29 changes: 29 additions & 0 deletions docs/src/content/docs/100/lab-01.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python Basics: Lab 01\n",
"\n",
"Exercises will cover basic Python syntax, data structures, and functions. Open the Outline view in Visual Studio Code to see the syllabus at a glance. Each exercise should take under 5 minutes to complete. Useful resources for reference include:\n",
"\n",
"1. [Kaggle Python Course](https://www.kaggle.com/learn/python) - short, task-driven\n",
"1. [Foundations of Python Programming](https://runestone.academy/ns/books/published/fopp/index.html) - long, detail-driven\n",
"1. [Learn Python The Hard Way](https://learnpythonthehardway.org/python3/) - online, exercises-driven"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
30 changes: 30 additions & 0 deletions docs/src/content/docs/100/toc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: Table Of Contents
description: Start by learning Python3 syntax and basics
---

The table below will be populated with links to the relevant notebook with a brief description of the recipe covered. To open the notebook you must be running in a GitHub Codespace or have a relevant Jupyter Notebook environment setup.

|Lab Notebook | Recipe Notes |
|---|---|
| [Lab 01](./lab-01.ipynb) | Learn Basic Python Syntax, Get Familiar with Notebooks. |
| | |
| | |
| | |


---

## Resources
I wanted to start with a structured set of courses or modules that would have an associated community (for support) and a credential (for achievement). So I decided to focus on the [Python 3 Programming Specialization](https://www.coursera.org/specializations/python-3-programming) offered by the University Of Michigan, on Coursera.

It consists of these 5 courses _with an estimated completion time of 3 months at 10 hrs/week_. I expect to complete at least 2-of-5 courses in #30Days.

1. [Python Basics](https://www.coursera.org/learn/python-basics?specialization=python-3-programming) Course - 34 hours, 4 modules
1. [Python Functions, Files & Dictionaries](https://www.coursera.org/learn/python-functions-files-dictionaries?specialization=python-3-programming) Course - 31 hours, 5 modules
1. [Data Collection & Processing With Python](https://www.coursera.org/learn/data-collection-processing-python?specialization=python-3-programming) - 16 hours, 3 modules
1. [Python Classes & Inheritance](https://www.coursera.org/learn/python-classes-inheritance?specialization=python-3-programming) - 18 hours, 3 modules
1. [Python Project: pillow, tesseract, opencv](https://www.coursera.org/learn/python-project?specialization=python-3-programming) - 21 hours, 3 modules

Once this specialization is complete, I'll continue to add new sections focused on _applied learning_ exploring the usage of Python3 in specific application contexts like **data science**, **generative AI** and **web app development**.

25 changes: 25 additions & 0 deletions docs/src/content/docs/200/toc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Table Of Contents
description: Learn to use Python3 packages and tools for data analysis and visualization
---

The table below will be populated with links to the relevant notebook with a brief description of the recipe covered. To open the notebook you must be running in a GitHub Codespace or have a relevant Jupyter Notebook environment setup.

|Lab Notebook | Recipe Notes |
|---|---|
| | |
| | |
| | |
| | |

---

## Resources

:::tip[PyDataNYC 2023 Talk]

To learn more about why these 4 tools matter, check outmy talk on _Simplifying Data Analysis with GitHub Codespaces, Jupyter Notebooks & Open AI_ at the PyDataNYC conference in Nov 2023.
- Download: [PyDataNYC Presentation](https://speakerdeck.com/nitya/simplifying-data-analysis-with-github-codespaces-jupyter-notebooks-and-open-ai).
- Watch: [The Python Pulse @PyDataNYC](https://www.youtube.com/watch?v=SiiVN7kwOZI).

:::
18 changes: 18 additions & 0 deletions docs/src/content/docs/300/toc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: 1. Introduction
description: Understand how to build machine learning models
---

The table below will be populated with links to the relevant notebook with a brief description of the recipe covered. To open the notebook you must be running in a GitHub Codespace or have a relevant Jupyter Notebook environment setup.

|Lab Notebook | Recipe Notes |
|---|---|
| | |
| | |
| | |
| | |


---

## Resources
18 changes: 18 additions & 0 deletions docs/src/content/docs/400/toc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: 1. Introduction
description: Explore Python SDKs and tools for building generative AI applications
---

The table below will be populated with links to the relevant notebook with a brief description of the recipe covered. To open the notebook you must be running in a GitHub Codespace or have a relevant Jupyter Notebook environment setup.

|Lab Notebook | Recipe Notes |
|---|---|
| | |
| | |
| | |
| | |


---

## Resources
19 changes: 5 additions & 14 deletions docs/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,28 +1,19 @@
---
title: "#30DaysOf Python"
description: Hands-on with Python - Core Concepts to AI/ML Apps.
description: Python Hands-On - Basics to AI
template: splash
hero:
tagline: Python3 - from Core Concepts to AI Applications
tagline: Get Cooking With Python3 - Try One Recipe A Day!
image:
file: ../../assets/pair-python.svg
file: ../../assets/logo.png
actions:
- text: Start Learning
link: introduction/
icon: right-arrow
variant: secondary
---

## Why Python?

There has never been a better time to learn Python (as a beginner) or upskill in Python (as an experienced developer).
- It ranks #1 on the [TIOBE Index](https://www.tiobe.com/tiobe-index/). This rates programming languages based on usage (lines of code written).
- It is general purpose. Use it for data science, automation, web development, testing and more.
- It is a core skill for AI/ML. Most Large Language Models and Generative AI services release Python SDKs first.

## Learning Goals:
- Learn Python from core concepts (language) to advanced applications (AI/ML) - with code!
- Setup and use a consistent and reproducible envirionment (Dev containers, Jupyter Notebooks)
- Cultivate curiosity in learning without losing focus or context (GitHub Copilot)
---

_Image Credit: [undraw.co](https://undraw.co)_
_Logo By [Copilot Designer](https://www.bing.com/images/create)_ | "abstract 3D shape python code logo, computers and bubbles incorporated, lines of code emitted, black background"
Loading

0 comments on commit d7bd115

Please sign in to comment.