{"id":50508917,"url":"https://github.com/denisecase/pro-analytics-02-starter","last_synced_at":"2026-06-02T18:31:20.598Z","repository":{"id":319403741,"uuid":"1077101816","full_name":"denisecase/pro-analytics-02-starter","owner":"denisecase","description":"Start a professional Python project.","archived":false,"fork":false,"pushed_at":"2025-11-13T18:20:58.000Z","size":57,"stargazers_count":3,"open_issues_count":0,"forks_count":13,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-13T20:21:18.171Z","etag":null,"topics":["automation","data-analytics","professional","python","template","uv"],"latest_commit_sha":null,"homepage":"https://denisecase.github.io/pro-analytics-02-starter/","language":"Jupyter Notebook","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":null,"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":null,"dco":null,"cla":null}},"created_at":"2025-10-15T19:25:04.000Z","updated_at":"2025-11-13T18:21:01.000Z","dependencies_parsed_at":"2025-10-19T02:26:13.886Z","dependency_job_id":"f9a03f5f-0b49-412a-b3a5-ea8e31d5482a","html_url":"https://github.com/denisecase/pro-analytics-02-starter","commit_stats":null,"previous_names":["denisecase/pro-analytics-02-starter"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/denisecase/pro-analytics-02-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fpro-analytics-02-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fpro-analytics-02-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fpro-analytics-02-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fpro-analytics-02-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denisecase","download_url":"https://codeload.github.com/denisecase/pro-analytics-02-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denisecase%2Fpro-analytics-02-starter/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":["automation","data-analytics","professional","python","template","uv"],"created_at":"2026-06-02T18:31:19.682Z","updated_at":"2026-06-02T18:31:20.592Z","avatar_url":"https://github.com/denisecase.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pro Analytics 02 Python Starter Repository\n\n\u003e Use this repo to start a professional Python project.\n\n- Additional information: \u003chttps://github.com/denisecase/pro-analytics-02\u003e\n- Project organization: [STRUCTURE](./STRUCTURE.md)\n- Build professional skills:\n  - **Environment Management**: Every project in isolation\n  - **Code Quality**: Automated checks for fewer bugs\n  - **Documentation**: Use modern project documentation tools\n  - **Testing**: Prove your code works\n  - **Version Control**: Collaborate professionally\n\n---\n\n## WORKFLOW 1. Set Up Your Machine\n\nProper setup is critical.\nComplete each step in the following guide and verify carefully.\n\n- [SET UP MACHINE](./SET_UP_MACHINE.md)\n\n---\n\n## WORKFLOW 2. Set Up Your Project\n\nAfter verifying your machine is set up, set up a new Python project by copying this template.\nComplete each step in the following guide.\n\n- [SET UP PROJECT](./SET_UP_PROJECT.md)\n\nIt includes the critical commands to set up your local environment (and activate it):\n\n```shell\nuv python pin 3.12\nuv venv\nuv sync --extra dev --extra docs --upgrade\nuv run pre-commit install\nuv run python --version\n```\n\n**Windows (PowerShell):**\n\n```shell\n.\\.venv\\Scripts\\activate\n```\n\n**macOS / Linux / WSL:**\n\n```shell\nsource .venv/bin/activate\n```\n\n---\n\n## WORKFLOW 3. Daily Workflow\n\nPlease ensure that the prior steps have been verified before continuing.\nWhen working on a project, we open just that project in VS Code.\n\n### 3.1 Git Pull from GitHub\n\nAlways start with `git pull` to check for any changes made to the GitHub repo.\n\n```shell\ngit pull\n```\n\n### 3.2 Run Checks as You Work\n\nThis mirrors real work where we typically:\n\n1. Update dependencies (for security and compatibility).\n2. Clean unused cached packages to free space.\n3. Use `git add .` to stage all changes.\n4. Run ruff and fix minor issues.\n5. Update pre-commit periodically.\n6. Run pre-commit quality checks on all code files (**twice if needed**, the first pass may fix things).\n7. Run tests.\n\nIn VS Code, open your repository, then open a terminal (Terminal / New Terminal) and run the following commands one at a time to check the code.\n\n```shell\nuv sync --extra dev --extra docs --upgrade\nuv cache clean\ngit add .\nuvx ruff check --fix\nuvx pre-commit autoupdate\nuv run pre-commit run --all-files\ngit add .\nuv run pytest\n```\n\nNOTE: The second `git add .` ensures any automatic fixes made by Ruff or pre-commit are included before testing or committing.\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to see a note on best practices\u003c/summary\u003e\n\n`uvx` runs the latest version of a tool in an isolated cache, outside the virtual environment.\nThis keeps the project light and simple, but behavior can change when the tool updates.\nFor fully reproducible results, or when you need to use the local `.venv`, use `uv run` instead.\n\n\u003c/details\u003e\n\n### 3.3 Build Project Documentation\n\nMake sure you have current doc dependencies, then build your docs, fix any errors, and serve them locally to test.\n\n```shell\nuv run mkdocs build --strict\nuv run mkdocs serve\n```\n\n- After running the serve command, the local URL of the docs will be provided. To open the site, press **CTRL and click** the provided link (at the same time) to view the documentation. On a Mac, use **CMD and click**.\n- Press **CTRL c** (at the same time) to stop the hosting process.\n\n### 3.4 Execute\n\nThis project includes demo code.\nRun the demo Python modules to confirm everything is working.\n\nIn VS Code terminal, run:\n\n```shell\nuv run python -m analytics_project.demo_module_basics\nuv run python -m analytics_project.demo_module_languages\nuv run python -m analytics_project.demo_module_stats\nuv run python -m analytics_project.demo_module_viz\n```\n\nYou should see:\n\n- Log messages in the terminal\n- Greetings in several languages\n- Simple statistics\n- A chart window open (close the chart window to continue).\n\nIf this works, your project is ready! If not, check:\n\n- Are you in the right folder? (All terminal commands are to be run from the root project folder.)\n- Did you run the full `uv sync --extra dev --extra docs --upgrade` command?\n- Are there any error messages? (ask for help with the exact error)\n\n---\n\n### 3.5 Git add-commit-push to GitHub\n\nAnytime we make working changes to code is a good time to git add-commit-push to GitHub.\n\n1. Stage your changes with git add.\n2. Commit your changes with a useful message in quotes.\n3. Push your work to GitHub.\n\n```shell\ngit add .\ngit commit -m \"describe your change in quotes\"\ngit push -u origin main\n```\n\nThis will trigger the GitHub Actions workflow and publish your documentation via GitHub Pages.\n\n### 3.6 Modify and Debug\n\nWith a working version safe in GitHub, start making changes to the code.\n\nBefore starting a new session, remember to do a `git pull` and keep your tools updated.\n\nEach time forward progress is made, remember to git add-commit-push.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenisecase%2Fpro-analytics-02-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenisecase%2Fpro-analytics-02-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenisecase%2Fpro-analytics-02-starter/lists"}