-
Notifications
You must be signed in to change notification settings - Fork 21
DOC: Add comprehensive BUILDGUIDE.md with cross-platform build instructions and VS Code setup #156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…ment instructions Co-authored-by: bewithgaurav <8655500+bewithgaurav@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive build and development documentation for the mssql-python project. The new BUILDGUIDE.md provides structured instructions for contributors to set up their development environment, build native bindings, and create Python wheel packages across Windows, macOS, and Linux platforms.
- Adds detailed cross-platform setup instructions with platform-specific requirements
- Provides clear steps for building native pybind11 bindings using existing build scripts
- Includes instructions for creating Python wheels and running tests with proper environment configuration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to fix the broken links before this goes out. The other things seem like nice to haves.
BUILDGUIDE.md
Outdated
Open a **Developer Command Prompt for VS** and run: | ||
|
||
```bash | ||
cd pybind |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is cd .\mssql-python\pybind on my machine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected the directory path in commit d9a7ef7. The path is now correctly shown as cd mssql_python/pybind
instead of cd pybind
. All references to the pybind directory throughout the guide have been updated to use the correct path.
BUILDGUIDE.md
Outdated
|
||
--- | ||
|
||
For more details on the native bindings, see [`pybind/README.md`](pybind/README.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like we might have used pybind's doc for inspiration and missed updating a few links.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed the broken link in commit d9a7ef7. The reference to pybind/README.md
has been corrected to mssql_python/pybind/README.md
to match the actual directory structure. I also updated all other pybind directory references throughout the guide to use the correct paths.
Co-authored-by: dlevy-msft-sql <194277063+dlevy-msft-sql@users.noreply.github.com>
Fixed the broken links in commit d9a7ef7. The main issue was the incorrect path to |
…n setup Co-authored-by: dlevy-msft-sql <194277063+dlevy-msft-sql@users.noreply.github.com>
Co-authored-by: dlevy-msft-sql <194277063+dlevy-msft-sql@users.noreply.github.com>
Adding tip on environment variables
--- | ||
|
||
## Running Tests | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a note that in IDEs, like VS Code, you may have to close all open instances of the IDE to get it to pick up the new environment variable. If they are still getting errors about invalid connection strings, they may have to reboot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added the reboot note in commit ed0ecc8. The tip now includes information about closing IDE instances and rebooting if connection string errors persist.
## Running Tests | ||
|
||
Tests require a database connection string and must be run from the project root directory. | ||
Set the `DB_CONNECTION_STRING` environment variable before running tests: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a note that in IDEs, like VS Code, you may have to close all open instances of the IDE to get it to pick up the new environment variable. If they are still getting errors about invalid connection strings, they may have to reboot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added the reboot note in commit ed0ecc8. The tip now includes information about closing IDE instances and rebooting if connection string errors persist.
…E.md Co-authored-by: dlevy-msft-sql <194277063+dlevy-msft-sql@users.noreply.github.com>
Work Item / Issue Reference
Summary
This pull request adds a comprehensive build guide for contributors to the
mssql-python
project. The guide provides detailed instructions for setting up the development environment, building native bindings, packaging the project as a Python wheel, and running tests.Documentation Enhancements:
BUILDGUIDE.md
file that includes:pybind11
, andCMake
Key Fixes Applied:
pybind/
tomssql_python/pybind/
to match actual repository structureThe guide now provides a complete contributor onboarding experience with accurate paths, comprehensive setup options, support for both command-line and VS Code workflows, and detailed database setup instructions for all platforms.
This pull request was created and enhanced based on feedback to ensure all links work correctly, paths match the actual repository structure, includes modern development workflows using Visual Studio Code, and provides complete database setup instructions for Windows, macOS, and Linux.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.