Overview
PythonWD is an SDK and package distribution platform for teams running Python on Windows.
It combines a private, PyPI-compatible package mirror with application telemetry collection,
Windows-aware dependency resolution, and enterprise authentication — so pip,
your CI pipelines, and your monitoring stack all point at one system.
Current release:
v3.14.3. See the
About page for license
and contributor details.
Installation
Install the PythonWD SDK with pip, then point your environment at the mirror.
# Windows PowerShell
pip install pythonwd-sdk
pip config set global.index-url https://pkg.pythonwd.com/simple/
pythonwd login --sso
pythonwd doctor
Requirements
| Component | Minimum | Notes |
| Windows | Windows 10 / Server 2019 | Windows 11 / Server 2022 recommended |
| Python | 3.9 | 3.11–3.13 fully supported |
| pip | 21.0 | 23.x recommended for resolver performance |
| Disk | 2 GB | More if caching a local mirror subset |
| Network | Outbound HTTPS (443) | Not required in air-gapped mode |
Configuration
Configure the SDK with a pythonwd.toml file at your project root or user profile directory.
[mirror]
index_url = "https://pkg.pythonwd.com/simple/"
platform = "win_amd64"
[telemetry]
enabled = true
app = "billing-service"
[auth]
mode = "sso"
provider = "oidc"
Environment Variables
| Variable | Default | Description |
PYTHONWD_INDEX_URL | https://pkg.pythonwd.com/simple/ | Overrides the configured mirror URL |
PYTHONWD_PROFILE | default | Named configuration profile to use |
PYTHONWD_TELEMETRY | on | Set to off to disable telemetry collection |
PYTHONWD_AIRGAPPED | false | Enables offline/air-gapped mirror mode |
PYTHONWD_CACHE_DIR | %LOCALAPPDATA%\PythonWD\cache | Local package cache location |
Enterprise SSO (SAML/OIDC)
Enterprise plans can authenticate users and CI service accounts against an existing identity
provider using SAML 2.0 or OpenID Connect. See Pricing or contact
enterprise@pythonwd.com to enable SSO for your org.
SSO enforcement requires an Enterprise plan. Community and Pro accounts authenticate with API tokens.
API Reference
PythonWD exposes a small set of HTTP endpoints for package resolution and telemetry ingestion.
Full request/response schemas live on the API Reference page.
| Method | Path | Purpose |
| GET | /simple/ | PEP 503 simple package index |
| GET | /packages/ | Package artifact downloads |
| POST | /api/v2/telemetry/collect | Application telemetry ingestion |
| POST | /api/v2/metrics/ingest | Metrics/time-series ingestion |
| GET | /api/v2/health | Service health check |
CLI Commands
| Command | Description |
pythonwd login --sso | Authenticate via your configured identity provider |
pythonwd resolve | Resolve a Windows-optimized dependency lockfile |
pythonwd mirror sync | Sync a local/offline mirror subset |
pythonwd telemetry start | Start streaming application telemetry |
pythonwd doctor | Diagnose environment and connectivity issues |
Package Reference
PythonWD mirrors the Python Package Index plus the standard library reference below. This is a
curated list of 285 of the most commonly requested packages and modules across our mirror traffic —
use the jump links to browse by category, or pip install any of them as usual once your
index URL points at PythonWD.
Web Frameworks
| # | Name | Description |
| 1 | django | Batteries-included web framework with ORM and admin |
| 2 | flask | Lightweight WSGI micro web framework |
| 3 | fastapi | High-performance async API framework with type hints |
| 4 | tornado | Async networking library and web framework |
| 5 | pyramid | Flexible framework for small and large apps |
| 6 | bottle | Single-file WSGI micro framework |
| 7 | sanic | Async Python web server and framework |
| 8 | aiohttp | Asynchronous HTTP client/server framework |
| 9 | starlette | Lightweight ASGI framework/toolkit |
| 10 | falcon | Reliable, high-performance API framework |
| 11 | cherrypy | Minimalist object-oriented web framework |
| 12 | quart | Async re-implementation of the Flask API |
| 13 | web2py | Full-stack framework with built-in IDE |
| 14 | masonite | Developer-friendly modern web framework |
| 15 | hug | API framework for rapid microservice creation |
HTTP & Networking
| # | Name | Description |
| 16 | requests | Elegant HTTP library for humans |
| 17 | httpx | Fully featured HTTP client with async support |
| 18 | urllib3 | Thread-safe HTTP connection pooling |
| 19 | websockets | Library for building WebSocket servers/clients |
| 20 | paramiko | SSHv2 protocol implementation |
| 21 | pysocks | SOCKS proxy client module |
| 22 | dnspython | DNS toolkit for Python |
| 23 | netifaces | Portable network interface information |
| 24 | requests-oauthlib | OAuth support for requests |
| 25 | grpcio | gRPC remote procedure call framework |
| 26 | zeroconf | Multicast DNS service discovery |
| 27 | twisted | Event-driven networking engine |
Data Science & Numeric Computing
| # | Name | Description |
| 28 | numpy | Fundamental package for array computing |
| 29 | pandas | Data structures and analysis tools |
| 30 | scipy | Scientific and technical computing |
| 31 | matplotlib | 2D plotting and visualization library |
| 32 | seaborn | Statistical data visualization |
| 33 | plotly | Interactive graphing library |
| 34 | bokeh | Interactive visualization for browsers |
| 35 | statsmodels | Statistical modeling and testing |
| 36 | sympy | Symbolic mathematics library |
| 37 | numba | JIT compiler for numeric Python |
| 38 | xarray | Labeled multi-dimensional arrays |
| 39 | dask | Parallel computing with task scheduling |
| 40 | polars | Fast DataFrame library in Rust/Python |
| 41 | pyarrow | Apache Arrow columnar in-memory format |
| 42 | patsy | Statistical model description language |
Machine Learning & AI
| # | Name | Description |
| 43 | tensorflow | End-to-end machine learning platform |
| 44 | torch | PyTorch deep learning framework |
| 45 | keras | High-level neural networks API |
| 46 | scikit-learn | Machine learning in Python |
| 47 | xgboost | Gradient boosting framework |
| 48 | lightgbm | Fast gradient boosting framework |
| 49 | catboost | Gradient boosting with categorical support |
| 50 | transformers | State-of-the-art NLP models |
| 51 | spacy | Industrial-strength NLP |
| 52 | nltk | Natural language toolkit |
| 53 | gensim | Topic modeling and document similarity |
| 54 | opencv-python | Computer vision library bindings |
| 55 | onnx | Open neural network exchange format |
| 56 | mlflow | ML lifecycle and experiment tracking |
| 57 | optuna | Hyperparameter optimization framework |
Databases & ORM
| # | Name | Description |
| 58 | sqlalchemy | SQL toolkit and ORM |
| 59 | psycopg2 | PostgreSQL database adapter |
| 60 | pymysql | Pure-Python MySQL client |
| 61 | pymongo | MongoDB driver |
| 62 | redis | Redis client library |
| 63 | peewee | Small, expressive ORM |
| 64 | tortoise-orm | Async ORM inspired by Django |
| 65 | alembic | Database migrations for SQLAlchemy |
| 66 | cassandra-driver | DataStax Cassandra driver |
| 67 | elasticsearch | Elasticsearch client |
| 68 | pyodbc | ODBC database bridge |
| 69 | mysqlclient | MySQL/MariaDB client library |
| 70 | asyncpg | Fast async PostgreSQL driver |
| 71 | databases | Async database query builder |
Testing & QA
| # | Name | Description |
| 72 | pytest | Full-featured testing framework |
| 73 | nose2 | Successor to the nose test runner |
| 74 | tox | Test automation and environment management |
| 75 | coverage | Code coverage measurement |
| 76 | mock | Mock object library |
| 77 | hypothesis | Property-based testing |
| 78 | faker | Fake data generator |
| 79 | selenium | Browser automation for testing |
| 80 | behave | Behavior-driven development framework |
| 81 | robotframework | Generic test automation framework |
| 82 | pytest-cov | Coverage plugin for pytest |
| 83 | pytest-django | Django plugin for pytest |
| 84 | pytest-asyncio | Async test support for pytest |
| 85 | locust | Load testing tool |
CLI, Terminal & Utilities
| # | Name | Description |
| 86 | click | Composable command line interfaces |
| 87 | typer | CLI framework based on type hints |
| 88 | docopt | Command-line interface description language |
| 89 | fire | Automatic CLI generation from objects |
| 90 | rich | Rich text and formatting in terminals |
| 91 | colorama | Cross-platform colored terminal text |
| 92 | tqdm | Fast, extensible progress bars |
| 93 | tabulate | Pretty-print tabular data |
| 94 | prettytable | ASCII table rendering |
| 95 | invoke | Task execution library |
| 96 | fabric | Remote execution and deployment |
| 97 | sh | Subprocess replacement with native syntax |
| 98 | plumbum | Shell combinators library |
| 99 | questionary | Interactive command line prompts |
Async & Concurrency
| # | Name | Description |
| 100 | asyncio | Standard library asynchronous I/O (stdlib) |
| 101 | aiofiles | Async file operations |
| 102 | trio | Friendly async concurrency library |
| 103 | anyio | Async compatibility layer |
| 104 | curio | Coroutine-based concurrency library |
| 105 | gevent | Coroutine-based networking with greenlets |
| 106 | eventlet | Concurrent networking library |
| 107 | uvloop | Fast drop-in asyncio event loop |
| 108 | janus | Thread-safe async queue |
| 109 | concurrent-log-handler | Concurrency-safe log rotation |
Serialization & Data Formats
| # | Name | Description |
| 110 | pyyaml | YAML parser and emitter |
| 111 | toml | TOML file parser |
| 112 | ujson | Ultra fast JSON encoder/decoder |
| 113 | msgpack | Efficient binary serialization |
| 114 | protobuf | Protocol buffers serialization |
| 115 | marshmallow | Object serialization/deserialization |
| 116 | pydantic | Data validation using type hints |
| 117 | cattrs | Composable structuring/unstructuring |
| 118 | jsonschema | JSON Schema validation |
| 119 | orjson | Fast, correct JSON library |
Packaging, Cloud & DevOps
| # | Name | Description |
| 120 | boto3 | AWS SDK for Python |
| 121 | botocore | Low-level AWS SDK core |
| 122 | awscli | Official AWS command line tool |
| 123 | azure-storage-blob | Azure Blob Storage client |
| 124 | google-cloud-storage | Google Cloud Storage client |
| 125 | docker | Docker Engine API client |
| 126 | kubernetes | Kubernetes API client |
| 127 | ansible | IT automation and configuration management |
| 128 | pulumi | Infrastructure as code SDK |
| 129 | setuptools | Package build and distribution (stdlib-adjacent) |
| 130 | wheel | Built-package format for Python |
| 131 | pip | Package installer for Python |
| 132 | twine | Publish packages to PyPI |
| 133 | poetry | Dependency management and packaging |
| 134 | pipenv | Python dev workflow for humans |
| 135 | virtualenv | Virtual environment creation tool |
Security & Cryptography
| # | Name | Description |
| 136 | cryptography | Cryptographic recipes and primitives |
| 137 | pyjwt | JSON Web Token implementation |
| 138 | passlib | Password hashing library |
| 139 | bcrypt | Modern password hashing |
| 140 | pynacl | Networking and Cryptography library bindings |
| 141 | oauthlib | OAuth request-signing logic |
| 142 | authlib | OAuth and OpenID Connect library |
| 143 | certifi | Mozilla CA bundle for TLS |
| 144 | pyopenssl | OpenSSL bindings |
| 145 | itsdangerous | Safely sign data for untrusted environments |
| # | Name | Description |
| 146 | pillow | Python Imaging Library fork |
| 147 | imageio | Reading/writing image data |
| 148 | moviepy | Video editing library |
| 149 | pydub | Audio manipulation with a simple API |
| 150 | wand | ImageMagick bindings |
| 151 | scikit-image | Image processing algorithms |
| 152 | face-recognition | Facial recognition library |
| 153 | pytesseract | OCR wrapper for Tesseract |
| 154 | mutagen | Audio metadata handling |
| 155 | av | Pythonic bindings for FFmpeg |
Date, Time & Localization
| # | Name | Description |
| 156 | python-dateutil | Powerful date/time extensions |
| 157 | pytz | World timezone definitions |
| 158 | arrow | Better dates and times |
| 159 | pendulum | Drop-in replacement for datetime |
| 160 | babel | Internationalization utilities |
| 161 | tzlocal | Detect the local timezone |
| 162 | freezegun | Freeze time in tests |
| 163 | maya | Human-friendly datetime handling |
Templating & Documentation
| # | Name | Description |
| 164 | jinja2 | Fast, expressive templating engine |
| 165 | mako | Template library with Python syntax |
| 166 | chameleon | Fast XML/HTML template engine |
| 167 | sphinx | Documentation generator |
| 168 | mkdocs | Project documentation with Markdown |
| 169 | docutils | Plaintext markup processing |
| 170 | pygments | Syntax highlighting library |
| 171 | markdown | Python Markdown implementation |
Task Queues & Scheduling
| # | Name | Description |
| 172 | celery | Distributed task queue |
| 173 | rq | Simple job queue backed by Redis |
| 174 | dramatiq | Reliable background task processing |
| 175 | huey | Little multi-threaded task queue |
| 176 | apscheduler | Advanced Python job scheduler |
| 177 | kombu | Messaging library for Celery |
| 178 | billiard | Multiprocessing fork used by Celery |
| 179 | schedule | Simple in-process job scheduling |
Logging, Monitoring & Observability
| # | Name | Description |
| 180 | loguru | Simplified logging for Python |
| 181 | structlog | Structured logging library |
| 182 | sentry-sdk | Error tracking and monitoring |
| 183 | prometheus-client | Prometheus instrumentation client |
| 184 | opentelemetry-api | Observability instrumentation API |
| 185 | datadog | Datadog monitoring integration |
| 186 | newrelic | New Relic APM agent |
| 187 | statsd | Statsd metrics client |
| 188 | graypy | Graylog GELF logging handler |
| 189 | python-json-logger | JSON-formatted log output |
GUI & Desktop
| # | Name | Description |
| 190 | pyqt5 | Qt5 bindings for desktop GUIs |
| 191 | pyside2 | Official Qt for Python bindings |
| 192 | kivy | Cross-platform GUI and touch apps |
| 193 | wxpython | Cross-platform native GUI toolkit |
| 194 | dearpygui | GPU-accelerated GUI toolkit |
| 195 | tkcalendar | Calendar widgets for Tkinter |
| 196 | pysimplegui | Simplified GUI wrapper |
| 197 | toga | Native OS-themed GUI toolkit |
Scientific & Domain-Specific
| # | Name | Description |
| 198 | biopython | Computational biology and bioinformatics |
| 199 | astropy | Astronomy and astrophysics library |
| 200 | networkx | Graph and network analysis |
| 201 | igraph | High-performance graph library |
| 202 | pymc | Bayesian statistical modeling |
| 203 | qutip | Quantum toolbox in Python |
| 204 | pyscf | Quantum chemistry calculations |
| 205 | cvxpy | Convex optimization modeling |
| 206 | deap | Evolutionary computation framework |
| 207 | simpy | Discrete-event simulation |
Web Scraping & Parsing
| # | Name | Description |
| 208 | beautifulsoup4 | HTML/XML parsing and scraping |
| 209 | scrapy | Web crawling and scraping framework |
| 210 | lxml | Fast XML/HTML processing |
| 211 | mechanize | Stateful web browsing library |
| 212 | pyquery | jQuery-like HTML parsing |
| 213 | feedparser | Universal feed parser |
| 214 | html5lib | Standards-compliant HTML parser |
| 215 | parsel | Extract data using XPath/CSS |
| 216 | cssselect | CSS selector to XPath translation |
| 217 | soupsieve | CSS selector library for BeautifulSoup |
| 218 | tldextract | Accurately separate URL domain parts |
Standard Library — Core Modules
| # | Name | Description |
| 219 | os | Operating system interfaces |
| 220 | sys | System-specific parameters and functions |
| 221 | re | Regular expression operations |
| 222 | json | JSON encoder and decoder |
| 223 | math | Mathematical functions |
| 224 | random | Pseudo-random number generation |
| 225 | itertools | Iterator building blocks |
| 226 | functools | Higher-order functions and operations |
| 227 | collections | Specialized container datatypes |
| 228 | datetime | Date and time handling |
| 229 | pathlib | Object-oriented filesystem paths |
| 230 | subprocess | Subprocess management |
| 231 | threading | Thread-based parallelism |
| 232 | multiprocessing | Process-based parallelism |
| 233 | socket | Low-level networking interface |
| 234 | struct | Binary data structure packing |
| 235 | pickle | Python object serialization |
| 236 | csv | CSV file reading and writing |
| 237 | sqlite3 | Embedded SQL database interface |
| 238 | logging | Event logging system |
| 239 | unittest | Unit testing framework |
| 240 | argparse | Command-line argument parsing |
| 241 | shutil | High-level file operations |
| 242 | glob | Unix-style pathname pattern expansion |
| 243 | tempfile | Temporary file and directory creation |
| 244 | hashlib | Secure hash and message digests |
| 245 | base64 | Base64 data encoding |
| 246 | uuid | UUID generation |
| 247 | enum | Support for enumerations |
| 248 | dataclasses | Data class code generation |
| 249 | typing | Type hint support |
| 250 | contextlib | Context manager utilities |
| 251 | copy | Shallow and deep copy operations |
| 252 | io | Core I/O stream tools |
| 253 | string | Common string operations |
| 254 | textwrap | Text wrapping and filling |
| 255 | difflib | Helpers for computing deltas |
| 256 | array | Space-efficient numeric arrays |
| 257 | heapq | Heap queue algorithm |
| 258 | bisect | Array bisection algorithm |
| 259 | queue | Synchronized queue class |
| 260 | weakref | Weak reference support |
| 261 | inspect | Live object inspection |
| 262 | importlib | Import system implementation |
| 263 | platform | Access to platform data |
| 264 | getpass | Portable password prompting |
| 265 | ctypes | Foreign function library |
| 266 | venv | Virtual environment creation |
| 267 | zipfile | ZIP archive access |
| 268 | tarfile | Tar archive access |
| 269 | gzip | Gzip file support |
| 270 | configparser | Config file parser |
| 271 | xml.etree.ElementTree | XML parsing and tree building |
| 272 | email | Email message handling |
| 273 | smtplib | SMTP protocol client |
| 274 | ssl | TLS/SSL wrapper for sockets |
| 275 | select | I/O completion waiting |
| 276 | signal | Set handlers for async events |
| 277 | concurrent.futures | Launching parallel tasks |
| 278 | decimal | Fixed and floating point arithmetic |
| 279 | statistics | Mathematical statistics functions |
| 280 | secrets | Cryptographically strong randomness |
| 281 | traceback | Print or retrieve stack tracebacks |
| 282 | timeit | Measure code execution time |
| 283 | ast | Abstract syntax tree processing |
| 284 | zoneinfo | IANA time zone support |
| 285 | ipaddress | IPv4/IPv6 manipulation |
Troubleshooting
pip cannot reach the mirror. Confirm PYTHONWD_INDEX_URL is set and that
outbound HTTPS is allowed, or enable PYTHONWD_AIRGAPPED if you're syncing offline.
SSO login loops back to the CLI. Re-run pythonwd doctor to verify your
IdP metadata URL and clock skew tolerance.
FAQ
Does PythonWD replace PyPI?
No — PythonWD mirrors PyPI and lets you host private packages alongside public ones behind one index URL.
Can I use PythonWD without telemetry?
Yes. Set PYTHONWD_TELEMETRY=off or telemetry.enabled = false in your config file.
Is Linux supported?
The mirror and API run cross-platform; the dependency resolver's Windows optimizations are optional.