Skip to content

Conversation

@Himanshu7921
Copy link

Title: DOC: Add Windows Python-Only Development Setup and Example Notebook

Summary

This PR introduces a short "Python-only Development Setup (Windows)" section to DEVELOP.md and adds a reference in README.md.
It also includes a minimal, runnable example notebook getting_started_windows_dev.ipynb demonstrating how to:

  • Initialize a Chroma client
  • Create a collection
  • Add documents
  • Execute a basic query in a Windows PowerShell Python-only environment

No code logic or runtime behavior has been modified — this is a documentation and example-only update.


Motivation

The goal of this update is to make it easier for Windows users and new contributors to quickly get started with Chroma in a Python-only environment without the need to build Rust bindings initially.
It also provides a runnable validation notebook to confirm a successful editable install and illustrate the minimal development workflow.


Files Changed

Modified:

  • DEVELOP.md – Added a "Python-only Development Setup (Windows)" section with PowerShell steps for:

    • Creating and activating a virtual environment
    • Installing runtime and development dependencies
    • Performing an editable install (pip install -e .)
    • Optionally building native bindings using maturin develop
    • Running pre-commit and performing a basic smoke test
  • README.md – Added a pointer to the new Windows setup section in DEVELOP.md.

Added:

  • examples/getting_started_windows_dev.ipynb – A minimal, runnable notebook containing:

    • A short markdown introduction
    • A Python example that imports chromadb, creates a client and collection, adds documents, and runs a query
    • Basic error handling with guidance if import fails

How to Test Locally (PowerShell)

  1. Activate the virtual environment (from repo root):

    .\.venv\Scripts\Activate.ps1
  2. Install dependencies and the package in editable mode:

    pip install -r .\requirements.txt
    pip install -r .\requirements_dev.txt
    pip install -e .
    pre-commit install
  3. Run pre-commit only on the modified files:

    pre-commit run --files DEVELOP.md README.md examples/getting_started_windows_dev.ipynb
    git add DEVELOP.md README.md examples/getting_started_windows_dev.ipynb
  4. Run a minimal smoke test:

    python - <<'PY'
    import chromadb
    client = chromadb.Client()
    collection = client.create_collection("example_windows_test")
    collection.add(
        documents=["Hello from Windows", "Second doc"],
        metadatas=[{"source": "notebook"}, {"source": "notebook"}],
        ids=["w1", "w2"],
    )
    print(collection.query(query_texts=["Hello"], n_results=1))
    PY

If the import fails, confirm that the package is installed in the same virtual environment and follow the steps in DEVELOP.md.
Building native Rust bindings with maturin develop is optional for this minimal example.


Notes for Reviewers

  • This PR is documentation-only and does not alter any runtime code paths.
  • The included notebook assumes that Chroma is importable from the active Python environment.
  • For full native performance, users can optionally build Rust bindings via maturin.
  • Only the three relevant files have been staged and committed to maintain a small, focused diff. A separate PR can be opened for repo-wide formatting if needed.

Testing and Validation

  • Ran pre-commit on all three modified files.
  • Verified notebook functionality through a local smoke test.
  • Confirmed no changes to runtime or existing code behavior.

Suggested Reviewers / Labels

  • Documentation maintainers
  • Contributor experience maintainers
  • Label: DOC

If maintainers prefer adjustments (e.g., moving the Windows setup section, expanding the notebook with examples such as persistent collections or embedding usage), I’m happy to update this PR accordingly.

@propel-code-bot
Copy link
Contributor

propel-code-bot bot commented Oct 24, 2025

Add Windows-specific Python-only dev setup docs and example notebook

Adds a "Python-only dev setup (Windows)" section to DEVELOP.md, inserts a pointer in README.md, and supplies a runnable Jupyter notebook (examples/getting_started_windows_dev.ipynb) that demonstrates a minimal Chroma workflow in a PowerShell environment. No runtime source code or dependencies are modified; all changes are documentation or examples intended to improve onboarding for Windows contributors.

Key Changes

• Inserted Windows-specific setup guide with PowerShell commands in DEVELOP.md
• Linked the new guide from README.md for discoverability
• Added examples/getting_started_windows_dev.ipynb demonstrating chromadb usage (create client, collection, add docs, query)

Affected Areas

DEVELOP.md
README.md
examples/getting_started_windows_dev.ipynb

This summary was automatically generated by @propel-code-bot

@github-actions
Copy link

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • If appropriate, are there adequate property based tests?
  • If appropriate, are there adequate unit tests?
  • Should any logging, debugging, tracing information be added or removed?
  • Are error messages user-friendly?
  • Have all documentation changes needed been made?
  • Have all non-obvious changes been commented?

System Compatibility

  • Are there any potential impacts on other parts of the system or backward compatibility?
  • Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • Is this code of a unexpectedly high quality (Readability, Modularity, Intuitiveness)

Co-authored-by: propel-code-bot[bot] <203372662+propel-code-bot[bot]@users.noreply.github.com>
Co-authored-by: propel-code-bot[bot] <203372662+propel-code-bot[bot]@users.noreply.github.com>
@Himanshu7921
Copy link
Author

Hi maintainers 👋

Could you please approve the workflow runs for this pull request?
It looks like the required GitHub Actions workflows are currently awaiting manual approval, which is blocking the status checks and further review.

Once the workflows are approved, all required checks should run and report their results, allowing the PR to move forward in the review and merge process.

If you have any feedback or requested changes after the checks complete, please let me know—I’m happy to address them promptly.

Thank you very much for your time and for helping with the approval and review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant