databases-for-analytics

Professional Databases for Analytics Project.

Project Planning

Use this repository to present, document, and reflect on database-related analytics work as the course evolves.

See exercises/.


Three Workflows

There are three workflows for analytics projects.

01: Set Up Machine (Once Per Machine)

Follow the detailed instructions at: 01. Set Up Your Machine

🛑 All steps must be completed and verified successfully.

02: Set Up Project (Once Per Project)

Follow the detailed instructions at: 02. Set Up Your Project

Detailed instructions are provided to:

  1. Sign in to GitHub, open this repository in your browser, and click Copy this template to get a copy in YOURACCOUNT.
  2. Enable GitHub Pages.
  3. Open a machine terminal in your Repos folder and clone your new repo.
  4. Change directory into the repo, open the project in VS Code, and install recommended extensions.
  5. Set up a project Python environment (managed by uv) and align VS Code with it.

Use the instructions above to get it ALL set up correctly. Most people open a terminal on their machine (not VS Code), open in their Repos folder and run:

git clone https://github.com/YOURACCOUNT/databases-for-analytics

cd databases-for-analytics
code .

When VS Code opens, accept the Extension Recommendations (click Install All or similar when asked).

Use VS Code menu option Terminal / New Terminal to open a VS Code terminal in the root project folder. Run the following commands, one at a time, hitting ENTER after each:

uv self update
uv python pin 3.14
uv sync --extra dev --extra docs --upgrade

If asked: “We noticed a new environment has been created. Do you want to select it for the workspace folder?” Click “Yes”.

If successful, you’ll see a new .venv folder appear in the root project folder.

Optional (recommended): install and run pre-commit checks (repeat the git add and commit twice if needed):

uvx pre-commit install
git add -A
uvx pre-commit run --all-files
git add -A
uvx pre-commit run --all-files

🛑 Do not continue until all REQUIRED steps are complete and verified.

03: Daily Workflow (Working With Python Project Code)

Follow the detailed instructions at: 03. Daily Workflow

Commands are provided below to:

  1. Git pull
  2. Run and check the Python files
  3. Build and serve docs
  4. Save progress with Git add-commit-push
  5. Update project files

VS Code should have only this project (databases-for-analytics) open. Use VS Code menu option Terminal / New Terminal and run the following commands:

git pull

In the same VS Code terminal, run any Python source files:

uv run python src/databases_for_analytics/FILENAME.py

If a command fails, verify:

Hint: if you run ls in the terminal, you should see files including pyproject.toml, README.md, and uv.lock.

Run Python checks and tests (as available):

uv run ruff format .
uv run ruff check . --fix
uv run pytest --cov=src --cov-report=term-missing

Build and serve docs (hit CTRL+c in the VS Code terminal to quit serving):

uv run mkdocs build --strict
uv run mkdocs serve

While editing project code and docs, repeat the commands above to run files, check them, and rebuild docs as needed.

Save progress frequently (some tools may make changes; you may need to re-run git add and commit to ensure everything gets committed before pushing):

git add -A
git commit -m "update"
git push -u origin main

Additional details and troubleshooting are available in the Pro-Analytics-02 Documentation.


Project Objectives

Open mkdocs.yaml. This file configures the associated project documentation website (powered by MkDocs) Use CTRL+f to find each occurrence of the source GitHub account (e.g. denisecase). Change each occurrence to point to your GitHub account instead (spacing and capitalization MUST match the URL of your GitHub account exactly.)

Project Task 2. Present Exercises

As we work through the class, rather than saving information in quizzes or Word documents, use the associated Markdown documents to record and present your work.


Notes

Troubleshooting »> or …

If you see something like this in your terminal: >>> or ... You accidentally started Python interactive mode. It happens. Press Ctrl c (both keys together) or Ctrl Z then Enter on Windows.

Resources

Citation

CITATION.cff - TODO: update author and repository fields to reflect your creative work

License

MIT