{"id":50508869,"url":"https://github.com/denisecase/datafun-01-foundations","last_synced_at":"2026-06-02T18:31:14.900Z","repository":{"id":331880391,"uuid":"1127050322","full_name":"denisecase/datafun-01-foundations","owner":"denisecase","description":"Professional Python project: creating variables and running code.","archived":false,"fork":false,"pushed_at":"2026-05-27T13:20:55.000Z","size":527,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T15:17:58.123Z","etag":null,"topics":["data-analytics","git","github-actions","professional-python","project-template","python","python-packaging","ruff","src-layout","uv","zensical"],"latest_commit_sha":null,"homepage":"https://denisecase.github.io/datafun-01-foundations/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denisecase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-03T04:29:32.000Z","updated_at":"2026-05-27T13:20:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/denisecase/datafun-01-foundations","commit_stats":null,"previous_names":["denisecase/datafun-01-foundations"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/denisecase/datafun-01-foundations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fdatafun-01-foundations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fdatafun-01-foundations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fdatafun-01-foundations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fdatafun-01-foundations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denisecase","download_url":"https://codeload.github.com/denisecase/datafun-01-foundations/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fdatafun-01-foundations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33833277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analytics","git","github-actions","professional-python","project-template","python","python-packaging","ruff","src-layout","uv","zensical"],"created_at":"2026-06-02T18:31:12.349Z","updated_at":"2026-06-02T18:31:14.886Z","avatar_url":"https://github.com/denisecase.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# datafun-01-foundations\n\n[![Workflow Guide](https://img.shields.io/badge/Pro--Guide-pro--analytics--02-green)](https://denisecase.github.io/pro-analytics-02/workflow-b-apply-example-project/)\n[![Python 3.14](https://img.shields.io/badge/python-3.14%2B-blue?logo=python)](./pyproject.toml)\n[![MIT](https://img.shields.io/badge/license-see%20LICENSE-yellow.svg)](./LICENSE)\n\n\u003e Professional Python project: creating variables and running code.\n\nData analytics requires a variety of skills.\nThis course builds capabilities through working projects.\n\nIn the age of generative AI, **durable skills** are grounded in real work:\nsetting up a professional environment,\nreading and running code,\nunderstanding the logic,\nand pushing work to a shared repository.\nEach project follows the structure of professional Python projects.\nWe learn by doing.\n\n## This Project\n\nThis project introduces some coding basics and **variables**\nfor storing data when writing instructions.\n\nThink about different kinds of data - real or fictional.\nThen think about a good name to hold that value in code.\n\n1. A **True or False** value (e.g. `isWorking`, `isParent`, `hasPet`)\n2. An **integer** (e.g. `year_starting_grad_school`)\n3. A **floating point number** (e.g. `experience_factor`)\n4. A **string of characters (text)** (e.g. `city`, `company_name`, `analytic_specialty`)\n5. A **list of strings** (e.g., `skills`, `interests`, `favorite_teams`)\n\nYou will run the example module, read the code,\nand make small modifications to understand how to choose good variable names in Python programs.\n\n## Working Files\n\nYou'll work with just these areas:\n\n- **docs/** - the project narrative and documentation\n- **src/datafun** - where the magic happens\n- **pyproject.toml** - update authorship \u0026 links\n- **zensical.toml** - update authorship \u0026 links\n\n## Instructions\n\nFollow the\n[step-by-step workflow guide](https://denisecase.github.io/pro-analytics-02/workflow-b-apply-example-project/)\nto complete:\n\n1. Phase 1. **Start \u0026 Run**\n2. Phase 2. **Change Authorship**\n3. Phase 3. **Read \u0026 Understand**\n4. Phase 4. **Modify**\n5. Phase 5. **Apply**\n\n## Challenges\n\nChallenges are expected.\nSometimes instructions may not quite match your operating system.\nWhen issues occur, share screenshots, error messages, and details about what you tried.\nWorking through issues is part of implementing professional projects.\n\n## Success\n\nAfter completing Phase 1. **Start \u0026 Run**, you'll have your own GitHub project,\nrunning on your machine, and running the example will print out:\n\n```shell\n========================\nExecuted successfully!\n========================\n```\n\nA new file `project.log` will appear in the root project folder.\n\n## Command Reference\n\nThe commands below are used in the workflow guide above.\nThey are provided here for convenience.\n\nFollow the guide for the **full instructions**.\n\n\u003cdetails\u003e\n\u003csummary\u003eShow command reference\u003c/summary\u003e\n\n### In a machine terminal (open in your `Repos` folder)\n\nAfter you get a copy of this repo in your own GitHub account,\nopen a machine terminal in your `Repos` folder:\n\n```shell\n# Replace username with YOUR GitHub username.\ngit clone https://github.com/username/datafun-01-foundations\n\ncd datafun-01-foundations\ncode .\n```\n\n### In a VS Code terminal\n\n```shell\n# reset uv cache only after suspected cache corruption or strange dependency errors\n# uv cache clean\n\nuv self update\nuv python pin 3.14\nuv sync --extra dev --extra docs --upgrade\n\nuvx pre-commit install\n\ngit add -A\nuvx pre-commit run --all-files\n# repeat if changes were made by pre-commit tasks\ngit add -A\nuvx pre-commit run --all-files\n\n# run the module\nuv run python -m datafun.app_case\n\n# do chores\nuv run ruff format .\nuv run ruff check . --fix\nuv run python -m pyright\nuv run python -m pytest\nuv run python -m zensical build\n\n# save progress\ngit add -A\ngit commit -m \"your message here\"\n\n# repeat if changes were made (try the UP ARROW)\ngit add -A\ngit commit -m \"your message here\"\n\ngit push -u origin main\n```\n\n\u003c/details\u003e\n\n## Notes\n\n- Use the **UP ARROW** and **DOWN ARROW** in the terminal to scroll through past commands.\n- Use `CTRL+f` to find (and replace) text within a file.\n- You do not need to add to or modify `tests/`. They are provided for example only.\n- Many files are silent helpers. Explore as you like, but nothing is required.\n- You do NOT not to understand everything; understanding builds naturally over time.\n\n## Troubleshooting \u003e\u003e\u003e\n\nIf you see something like this in your terminal: `\u003e\u003e\u003e` or `...`\nYou accidentally started Python interactive mode.\nIt happens.\nPress `Ctrl+c` (both keys together) or `Ctrl+Z` then `Enter` on Windows.\n\n## Example Output\n\n```shell\n| INFO | P01 | ========================\n| INFO | P01 | START main()\n| INFO | P01 | ========================\n| INFO | P01 | Generated formatted multi-line SUMMARY string.\n| INFO | P01 | Returning the str to the calling function.\n| INFO | P01 |\n    Course Information:\n        Course name: Data Analytics Fundamentals\n        Course number: 608\n        Course hrs/wk: 20.00\n        Assumes prior experience: False\n        Uses Professional Python: True\n        Helpful traits: ['patience', 'curiosity', 'humor', 'tenacity']\n\n| INFO | P01 | Generated formatted multi-line SUMMARY string.\n| INFO | P01 | Returning the str to the calling function.\n| INFO | P01 |\n    Descriptive Statistics for Snowfall (inches):\n        Total snowfall: 22.50 inches\n        Count of measurements: 5\n        Minimum snowfall: 2.50 inches\n        Maximum snowfall: 6.50 inches\n        Average snowfall: 4.50 inches\n        Standard deviation: 1.58 inches\n\n| INFO | P01 | ========================\n| INFO | P01 | Executed successfully!\n| INFO | P01 | ========================\n```\n\n![VS Code - Running Commands](./docs/images/vscode_running_commands.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenisecase%2Fdatafun-01-foundations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenisecase%2Fdatafun-01-foundations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenisecase%2Fdatafun-01-foundations/lists"}