You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This pull request updates the `ROADMAP.md` file to reflect the current
status and future plans for the Python Driver for SQL Server. Key
changes include clarifications about the public preview status, updates
to feature availability across platforms, and the addition of new
planned features like Bulk Copy (BCP) support.
### Updates to roadmap content:
* Updated introduction to specify that the Python Driver for SQL Server
is now in Public Preview.
* Clarified that connection pooling is already available for Windows and
will soon be extended to MacOS and Linux distributions.
* Revised cross-platform support details to focus on Linux
distributions, with MacOS support no longer explicitly mentioned.
### New feature announcements:
* Added Bulk Copy (BCP) API support to the roadmap, highlighting its use
for high-speed data ingestion and large-scale ETL workflows.
### Minor cleanup:
* Removed unnecessary blank lines at the end of the file for better
formatting.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
We are thrilled to introduce our upcoming Python driver for SQL Server – a modern, high performant, and developer-friendly SDK designed to enhance your SQL Server database connectivity experience. This roadmap outlines the key structural improvements, new features and upcoming enhancements that will set our driver apart from existing solutions.
3
+
We are thrilled to introduce Python driver for SQL Server (Public Preview) – a modern, high performant, and developer-friendly SDK designed to enhance your SQL Server database connectivity experience. This roadmap outlines the key structural improvements, new features and upcoming enhancements that will set our driver apart from existing solutions.
4
4
5
5
Why a New Driver?
6
6
7
7
Unlike existing Python SQL Server drivers, we are making substantial improvements to performance, maintainability, and usability by re-architecting the core internals. Our focus is on seamless integration between Python and C++, efficient memory management, better state handling, and advanced DBAPI enhancements.
8
8
9
9
Here’s what’s coming:
10
10
11
-
12
11
**1. Structural changes for abstraction of C++ and Python codebase**
13
12
14
13
We are undertaking significant structural changes to provide a clear abstraction between C++ code and Python. This will ensure better maintainability, improved performance, and a cleaner codebase. By leveraging existing pybind11 module, we aim to create a seamless integration between the two languages, allowing for efficient execution and easier debugging.
@@ -26,30 +25,33 @@ In future releases, we plan to add several DBAPI enhancements, including:
26
25
-`Output` and `InputOutput` Parameters: Handling of output and input-output parameters in stored procedures.
27
26
- Optional DBAPIs: Additional optional DBAPI features to provide more flexibility and functionality for developers.
28
27
29
-
**3. Connection Pooling**
28
+
**3. Connection Pooling for MacOS and Linux Distributions**
30
29
31
-
Connection pooling will be made available soon, allowing for efficient reuse of database connections. This feature will significantly improve performance by reducing the overhead associated with establishing new connections for each database operation .
30
+
Connection pooling will be made available soon for MacOS and Linux distributions, allowing for efficient reuse of database connections. The feature is already available for Windows OS. This feature will significantly improve performance by reducing the overhead associated with establishing new connections for each database operation .
32
31
- Reduce Connection creation overhead
33
32
- Improve scalability via efficient reuse of connections
34
33
- Enhance multi-threaded operation performance
35
34
36
-
**4. Cross-Platform Support: MacOS and Linux Distributions**
35
+
**4. Cross-Platform Support: Linux Distributions**
37
36
38
-
We are committed to providing cross-platform support for our Python driver. In the next few months, we will release versions compatible with MacOS and various Linux distributions. This will enable developers to use the driver on their preferred operating systems without any compatibility issues.
37
+
We are committed to providing cross-platform support for our Python driver. In the next few weeks, we will release versions compatible with various Linux distributions. This will enable developers to use the driver on their preferred operating systems without any compatibility issues.
39
38
Soon, you will be able to:
40
39
- Use the driver across multiple environments and OS
41
40
- Deploy application on cloud-native platforms
42
41
- Avoid compatibility issues with system-dependent code
43
42
- Flexibility in choosing development environments
44
43
45
-
**5. Asynchronous Query Execution**
44
+
**5. Bulk Copy (BCP)**
45
+
46
+
Bulk Copy API (BCP) support is coming soon to the Python Driver for SQL Server. It enables high-speed data ingestion and offers fine-grained control over batch operations, making it ideal for large-scale ETL workflows.
46
47
47
-
We are also working on adding support for asynchronous query execution. This feature will allow developers to execute queries without blocking the main thread, enabling more responsive and efficient applications. Asynchronous query execution will be particularly beneficial for applications that require high concurrency and low latency .
48
+
**6. Asynchronous Query Execution**
49
+
50
+
We are also working on adding support for asynchronous query execution. This feature will allow developers to execute queries without blocking the main thread, enabling more responsive and efficient applications. Asynchronous query execution will be particularly beneficial for applications that require high concurrency and low latency.
48
51
- No blocking of the main thread
49
52
- Faster parallel processing – ideal for high-concurrency applications
50
53
- Better integration with async frameworks like asyncio
51
54
52
-
53
55
We are dedicated to continuously improving the Python driver for SQL Server and welcome feedback from the community. Stay tuned for updates and new features as we work towards delivering a high-quality driver that meets your needs.
54
56
Join the Conversation!
55
57
@@ -59,6 +61,3 @@ We are building this for developers, with developers. Your feedback will shape t
59
61
- Try our alpha release – Help us refine and optimize the experience
60
62
61
63
Stay tuned for more updates, and lets build something amazing together. Watch this space for announcements and release timelines.
0 commit comments