diff --git a/changelogs/WinPythondot-64bit-3.12.10.0.md b/changelogs/WinPythondot-64bit-3.12.10.0.md new file mode 100644 index 00000000..31153ea2 --- /dev/null +++ b/changelogs/WinPythondot-64bit-3.12.10.0.md @@ -0,0 +1,29 @@ +## WinPython 3.12.10.0dot + +The following packages are included in WinPython-64bit v3.12.10.0dot . + +
+ +### Tools + +Name | Version | Description +-----|---------|------------ + + +### Python packages + +Name | Version | Description +-----|---------|------------ +[Python](http://www.python.org/) | 3.12.10 | Python programming language with standard library +[build](https://pypi.org/project/build) | 1.2.2.post1 | A simple, correct Python build frontend +[colorama](https://pypi.org/project/colorama) | 0.4.6 | Cross-platform colored terminal text. +[packaging](https://pypi.org/project/packaging) | 24.2 | Core utilities for Python packages +[pip](https://pypi.org/project/pip) | 25.0.1 | The PyPA recommended tool for installing Python packages. +[pyproject-hooks](https://pypi.org/project/pyproject-hooks) | 1.1.0 | Wrappers to call pyproject.toml-based build backend hooks. +[setuptools](https://pypi.org/project/setuptools) | 75.8.2 | Easily download, build, install, upgrade, and uninstall Python packages +[sqlite-bro](https://pypi.org/project/sqlite-bro) | 0.13.1 | a graphic SQLite Client in 1 Python file +[sv-ttk](https://pypi.org/project/sv-ttk) | 2.6.0 | A gorgeous theme for Tkinter, based on Windows 11's UI +[wheel](https://pypi.org/project/wheel) | 0.45.1 | A built-package format for Python +[winpython](https://pypi.org/project/winpython) | 15.3.20250425 | WinPython distribution tools, including WPPM + +
diff --git a/changelogs/WinPythondot-64bit-3.12.10.0_History.md b/changelogs/WinPythondot-64bit-3.12.10.0_History.md new file mode 100644 index 00000000..aef40183 --- /dev/null +++ b/changelogs/WinPythondot-64bit-3.12.10.0_History.md @@ -0,0 +1,22 @@ +## History of changes for WinPython-64bit 3.12.10.0dot + +The following changes were made to WinPython-64bit distribution since version 3.12.9.0dot. + +
+ +### Python packages + +New packages: + + * [sv-ttk](https://pypi.org/project/sv-ttk) 2.6.0 (A gorgeous theme for Tkinter, based on Windows 11's UI) + +Upgraded packages: + + * [pip](https://pypi.org/project/pip) 24.3.1 → 25.0.1 (The PyPA recommended tool for installing Python packages.) + * [Python](http://www.python.org/) 3.12.9 → 3.12.10 (Python programming language with standard library) + * [setuptools](https://pypi.org/project/setuptools) 75.6.0 → 75.8.2 (Easily download, build, install, upgrade, and uninstall Python packages) + * [winpython](https://pypi.org/project/winpython) 13.1.20250215 → 15.3.20250425 (WinPython distribution tools, including WPPM) + + +
+* * * diff --git a/changelogs/WinPythondot-64bit-3.13.3.0.md b/changelogs/WinPythondot-64bit-3.13.3.0.md new file mode 100644 index 00000000..210bbc6d --- /dev/null +++ b/changelogs/WinPythondot-64bit-3.13.3.0.md @@ -0,0 +1,29 @@ +## WinPython 3.13.3.0dot + +The following packages are included in WinPython-64bit v3.13.3.0dot . + +
+ +### Tools + +Name | Version | Description +-----|---------|------------ + + +### Python packages + +Name | Version | Description +-----|---------|------------ +[Python](http://www.python.org/) | 3.13.3 | Python programming language with standard library +[build](https://pypi.org/project/build) | 1.2.2.post1 | A simple, correct Python build frontend +[colorama](https://pypi.org/project/colorama) | 0.4.6 | Cross-platform colored terminal text. +[packaging](https://pypi.org/project/packaging) | 24.2 | Core utilities for Python packages +[pip](https://pypi.org/project/pip) | 25.0.1 | The PyPA recommended tool for installing Python packages. +[pyproject-hooks](https://pypi.org/project/pyproject-hooks) | 1.1.0 | Wrappers to call pyproject.toml-based build backend hooks. +[setuptools](https://pypi.org/project/setuptools) | 75.8.2 | Easily download, build, install, upgrade, and uninstall Python packages +[sqlite-bro](https://pypi.org/project/sqlite-bro) | 0.13.1 | a graphic SQLite Client in 1 Python file +[sv-ttk](https://pypi.org/project/sv-ttk) | 2.6.0 | A gorgeous theme for Tkinter, based on Windows 11's UI +[wheel](https://pypi.org/project/wheel) | 0.45.1 | A built-package format for Python +[winpython](https://pypi.org/project/winpython) | 15.3.20250425 | WinPython distribution tools, including WPPM + +
diff --git a/changelogs/WinPythondot-64bit-3.13.3.0_History.md b/changelogs/WinPythondot-64bit-3.13.3.0_History.md new file mode 100644 index 00000000..105c04ff --- /dev/null +++ b/changelogs/WinPythondot-64bit-3.13.3.0_History.md @@ -0,0 +1,22 @@ +## History of changes for WinPython-64bit 3.13.3.0dot + +The following changes were made to WinPython-64bit distribution since version 3.13.2.0dot. + +
+ +### Python packages + +New packages: + + * [sv-ttk](https://pypi.org/project/sv-ttk) 2.6.0 (A gorgeous theme for Tkinter, based on Windows 11's UI) + +Upgraded packages: + + * [pip](https://pypi.org/project/pip) 24.3.1 → 25.0.1 (The PyPA recommended tool for installing Python packages.) + * [Python](http://www.python.org/) 3.13.2 → 3.13.3 (Python programming language with standard library) + * [setuptools](https://pypi.org/project/setuptools) 75.6.0 → 75.8.2 (Easily download, build, install, upgrade, and uninstall Python packages) + * [winpython](https://pypi.org/project/winpython) 13.1.20250222 → 15.3.20250425 (WinPython distribution tools, including WPPM) + + +
+* * * diff --git a/changelogs/WinPythonslim-64bit-3.12.10.0.md b/changelogs/WinPythonslim-64bit-3.12.10.0.md new file mode 100644 index 00000000..a8084d3f --- /dev/null +++ b/changelogs/WinPythonslim-64bit-3.12.10.0.md @@ -0,0 +1,515 @@ +## WinPython 3.12.10.0slim + +The following packages are included in WinPython-64bit v3.12.10.0slim . + +
+ +### Tools + +Name | Version | Description +-----|---------|------------ +[Pandoc](https://pandoc.org) | 3.1.9 | an universal document converter + +### Python packages + +Name | Version | Description +-----|---------|------------ +[Python](http://www.python.org/) | 3.12.10 | Python programming language with standard library +[absl-py](https://pypi.org/project/absl-py) | 2.0.0 | Abseil Python Common Libraries, see https://github.com/abseil/abseil-py. +[adbc-driver-manager](https://pypi.org/project/adbc-driver-manager) | 1.3.0 | A generic entrypoint for ADBC drivers. +[aiofiles](https://pypi.org/project/aiofiles) | 23.2.1 | File support for asyncio. +[aiohappyeyeballs](https://pypi.org/project/aiohappyeyeballs) | 2.4.4 | Happy Eyeballs for asyncio +[aiohttp](https://pypi.org/project/aiohttp) | 3.11.11 | Async http client/server framework (asyncio) +[aiosignal](https://pypi.org/project/aiosignal) | 1.3.1 | aiosignal: a list of registered asynchronous callbacks +[aiosqlite](https://pypi.org/project/aiosqlite) | 0.20.0 | asyncio bridge to the standard sqlite3 module +[alabaster](https://pypi.org/project/alabaster) | 0.7.16 | A light, configurable Sphinx theme +[alembic](https://pypi.org/project/alembic) | 1.15.1 | A database migration tool for SQLAlchemy. +[altair](https://pypi.org/project/altair) | 5.5.0 | Vega-Altair: A declarative statistical visualization library for Python. +[aniso8601](https://pypi.org/project/aniso8601) | 9.0.1 | A library for parsing ISO 8601 strings. +[annotated-types](https://pypi.org/project/annotated-types) | 0.6.0 | Reusable constraint types to use with typing.Annotated +[ansicolors](https://pypi.org/project/ansicolors) | 1.1.8 | ANSI colors for Python +[anthropic](https://pypi.org/project/anthropic) | 0.49.0 | The official Python library for the anthropic API +[anyio](https://pypi.org/project/anyio) | 4.8.0 | High level compatibility layer for multiple asynchronous event loop implementations +[anywidget](https://pypi.org/project/anywidget) | 0.9.12 | custom jupyter widgets made easy +[appdirs](https://pypi.org/project/appdirs) | 1.4.4 | A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir". +[argon2-cffi](https://pypi.org/project/argon2-cffi) | 23.1.0 | Argon2 for Python +[argon2-cffi-bindings](https://pypi.org/project/argon2-cffi-bindings) | 21.2.0 | Low-level CFFI bindings for Argon2 +[array-api-compat](https://pypi.org/project/array-api-compat) | 1.11.1 | A wrapper around NumPy and other array libraries to make them compatible with the Array API standard +[arrow](https://pypi.org/project/arrow) | 1.3.0 | Better dates & times for Python +[asgi-csrf](https://pypi.org/project/asgi-csrf) | 0.9 | ASGI middleware for protecting against CSRF attacks +[asgiref](https://pypi.org/project/asgiref) | 3.8.1 | ASGI specs, helper code, and adapters +[asn1crypto](https://pypi.org/project/asn1crypto) | 1.5.1 | Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, +[asteval](https://pypi.org/project/asteval) | 0.9.31 | Safe, minimalistic evaluator of python expression using ast module +[astroid](https://pypi.org/project/astroid) | 3.1.0 | An abstract syntax tree for Python with inference support. +[astropy](https://pypi.org/project/astropy) | 6.1.6 | Astronomy and astrophysics core library +[astropy-iers-data](https://pypi.org/project/astropy-iers-data) | 0.2024.12.23.0.33.24 | IERS Earth Rotation and Leap Second tables for the astropy core package +[asttokens](https://pypi.org/project/asttokens) | 2.4.1 | Annotate AST trees with source code positions +[async-lru](https://pypi.org/project/async-lru) | 2.0.4 | Simple LRU cache for asyncio +[asyncssh](https://pypi.org/project/asyncssh) | 2.20.0 | AsyncSSH: Asynchronous SSHv2 client and server library +[atomicwrites](https://pypi.org/project/atomicwrites) | 1.4.0 | Atomic file writes. +[attrs](https://pypi.org/project/attrs) | 23.2.0 | Classes Without Boilerplate +[autopep8](https://pypi.org/project/autopep8) | 2.0.4 | A tool that automatically formats Python code to conform to the PEP 8 style guide +[azure-core](https://pypi.org/project/azure-core) | 1.32.0 | Microsoft Azure Core Library for Python +[azure-cosmos](https://pypi.org/project/azure-cosmos) | 4.9.0 | Microsoft Azure Cosmos Client Library for Python +[azure-identity](https://pypi.org/project/azure-identity) | 1.21.0 | Microsoft Azure Identity Library for Python +[babel](https://pypi.org/project/babel) | 2.16.0 | Internationalization utilities +[baresql](https://pypi.org/project/baresql) | 1.0.0 | playing SQL directly on Python datas +[beautifulsoup4](https://pypi.org/project/beautifulsoup4) | 4.12.2 | Screen-scraping library +[binaryornot](https://pypi.org/project/binaryornot) | 0.4.4 | Ultra-lightweight pure Python package to check if a file is binary or text. +[black](https://pypi.org/project/black) | 25.1.0 | The uncompromising code formatter. +[bleach](https://pypi.org/project/bleach) | 6.1.0 | An easy safelist-based HTML-sanitizing tool. +[blinker](https://pypi.org/project/blinker) | 1.9.0 | Fast, simple object-to-object and broadcast signaling +[bokeh](https://pypi.org/project/bokeh) | 3.7.2 | Interactive plots and applications in the browser from Python +[branca](https://pypi.org/project/branca) | 0.8.0 | Generate complex HTML+JS pages with Python +[brotli](https://pypi.org/project/brotli) | 1.1.0 | Python bindings for the Brotli compression library +[build](https://pypi.org/project/build) | 1.2.2.post1 | A simple, correct Python build frontend +[cachetools](https://pypi.org/project/cachetools) | 5.5.2 | Extensible memoizing collections and decorators +[certifi](https://pypi.org/project/certifi) | 2025.1.31 | Python package for providing Mozilla's CA Bundle. +[cffi](https://pypi.org/project/cffi) | 1.17.1 | Foreign Function Interface for Python calling C code. +[chardet](https://pypi.org/project/chardet) | 5.2.0 | Universal encoding detector for Python 3 +[charset-normalizer](https://pypi.org/project/charset-normalizer) | 3.4.0 | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. +[clarabel](https://pypi.org/project/clarabel) | 0.10.0 | Clarabel Conic Interior Point Solver for Rust / Python +[click](https://pypi.org/project/click) | 8.1.8 | Composable command line interface toolkit +[click-default-group](https://pypi.org/project/click-default-group) | 1.2.4 | click_default_group +[cloudpickle](https://pypi.org/project/cloudpickle) | 3.1.1 | Pickler class to extend the standard pickle.Pickler functionality +[cohere](https://pypi.org/project/cohere) | 5.13.12 | +[colorama](https://pypi.org/project/colorama) | 0.4.6 | Cross-platform colored terminal text. +[colorcet](https://pypi.org/project/colorcet) | 3.1.0 | Collection of perceptually uniform colormaps +[colorlog](https://pypi.org/project/colorlog) | 6.8.2 | Add colours to the output of Python's logging module. +[comm](https://pypi.org/project/comm) | 0.2.2 | Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc. +[contourpy](https://pypi.org/project/contourpy) | 1.3.1 | Python library for calculating contours of 2D quadrilateral grids +[cookiecutter](https://pypi.org/project/cookiecutter) | 2.6.0 | A command-line utility that creates projects from project templates, e.g. +[cryptography](https://pypi.org/project/cryptography) | 44.0.0 | cryptography is a package which provides cryptographic recipes and primitives to Python developers. +[cvxopt](https://pypi.org/project/cvxopt) | 1.3.2 | Convex optimization package +[cvxpy](https://pypi.org/project/cvxpy) | 1.6.4 | A domain-specific language for modeling convex optimization problems in Python. +[cycler](https://pypi.org/project/cycler) | 0.12.1 | Composable style cycles +[cython](https://pypi.org/project/cython) | 3.0.12 | The Cython compiler for writing C extensions in the Python language. +[cytoolz](https://pypi.org/project/cytoolz) | 1.0.1 | Cython implementation of Toolz: High performance functional utilities +[dask](https://pypi.org/project/dask) | 2025.3.0 | Parallel PyData with Task Scheduling +[datasette](https://pypi.org/project/datasette) | 0.65.1 | An open source multi-tool for exploring and publishing data +[datasette-graphql](https://pypi.org/project/datasette-graphql) | 2.2 | Datasette plugin providing an automatic GraphQL API for your SQLite databases +[datashader](https://pypi.org/project/datashader) | 0.17.0 | Data visualization toolchain based on aggregating into a grid +[deap](https://pypi.org/project/deap) | 1.4.2 | Distributed Evolutionary Algorithms in Python +[debugpy](https://pypi.org/project/debugpy) | 1.8.0 | An implementation of the Debug Adapter Protocol for Python +[decorator](https://pypi.org/project/decorator) | 5.1.1 | Decorators for Humans +[defusedxml](https://pypi.org/project/defusedxml) | 0.7.1 | XML bomb protection for Python stdlib modules +[deprecated](https://pypi.org/project/deprecated) | 1.2.14 | Python @deprecated decorator to deprecate old python classes, functions or methods. +[diff-match-patch](https://pypi.org/project/diff-match-patch) | 20241021 | Repackaging of Google's Diff Match and Patch libraries. +[dill](https://pypi.org/project/dill) | 0.3.9 | serialize all of Python +[distributed](https://pypi.org/project/distributed) | 2025.3.0 | Distributed scheduler for Dask +[distro](https://pypi.org/project/distro) | 1.8.0 | Distro - an OS platform information API +[django](https://pypi.org/project/django) | 5.0.7 | A high-level Python web framework that encourages rapid development and clean, pragmatic design. +[dnspython](https://pypi.org/project/dnspython) | 2.6.1 | DNS toolkit +[docstring-to-markdown](https://pypi.org/project/docstring-to-markdown) | 0.15 | On the fly conversion of Python docstrings to markdown +[docutils](https://pypi.org/project/docutils) | 0.21.2 | Docutils -- Python Documentation Utilities +[duckdb](https://pypi.org/project/duckdb) | 1.2.2 | DuckDB in-process database +[entrypoints](https://pypi.org/project/entrypoints) | 0.4 | Discover and load entry points from installed packages. +[et-xmlfile](https://pypi.org/project/et-xmlfile) | 1.1.0 | An implementation of lxml.xmlfile for the standard library +[eval-type-backport](https://pypi.org/project/eval-type-backport) | 0.2.2 | Like `typing._eval_type`, but lets older Python versions use newer typing features. +[executing](https://pypi.org/project/executing) | 2.0.1 | Get the currently executing AST node of a frame, and other information +[faker](https://pypi.org/project/faker) | 36.1.1 | Faker is a Python package that generates fake data for you. +[fast-histogram](https://pypi.org/project/fast-histogram) | 0.14 | Fast simple 1D and 2D histograms +[fastapi](https://pypi.org/project/fastapi) | 0.115.8 | FastAPI framework, high performance, easy to learn, fast to code, ready for production +[fastavro](https://pypi.org/project/fastavro) | 1.10.0 | Fast read/write of AVRO files +[fastjsonschema](https://pypi.org/project/fastjsonschema) | 2.18.0 | Fastest Python implementation of JSON schema +[filelock](https://pypi.org/project/filelock) | 3.17.0 | A platform independent file lock. +[flake8](https://pypi.org/project/flake8) | 7.1.1 | the modular source code checker: pep8 pyflakes and co +[flask](https://pypi.org/project/flask) | 3.1.0 | A simple framework for building complex web applications. +[flexcache](https://pypi.org/project/flexcache) | 0.3 | Saves and loads to the cache a transformed versions of a source object. +[flexparser](https://pypi.org/project/flexparser) | 0.4 | Parsing made fun ... using typing. +[flit](https://pypi.org/project/flit) | 3.10.1 | A simple packaging tool for simple packages. +[flit-core](https://pypi.org/project/flit-core) | 3.10.1 | Distribution-building parts of Flit. See flit package for more information +[folium](https://pypi.org/project/folium) | 0.19.5 | Make beautiful maps with Leaflet.js & Python +[fonttools](https://pypi.org/project/fonttools) | 4.55.3 | Tools to manipulate font files +[fqdn](https://pypi.org/project/fqdn) | 1.5.1 | Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers +[frozenlist](https://pypi.org/project/frozenlist) | 1.5.0 | A list-like structure which implements collections.abc.MutableSequence +[fsspec](https://pypi.org/project/fsspec) | 2024.6.1 | File-system specification +[fuzzywuzzy](https://pypi.org/project/fuzzywuzzy) | 0.18.0 | Fuzzy string matching in python +[geographiclib](https://pypi.org/project/geographiclib) | 2.0 | The geodesic routines from GeographicLib +[geopandas](https://pypi.org/project/geopandas) | 1.0.1 | Geographic pandas extensions +[geopy](https://pypi.org/project/geopy) | 2.4.1 | Python Geocoding Toolbox +[gitdb](https://pypi.org/project/gitdb) | 4.0.10 | Git Object Database +[gitpython](https://pypi.org/project/gitpython) | 3.1.32 | GitPython is a Python library used to interact with Git repositories +[google-auth](https://pypi.org/project/google-auth) | 2.37.0 | Google Authentication Library +[graphene](https://pypi.org/project/graphene) | 3.3 | GraphQL Framework for Python +[graphql-core](https://pypi.org/project/graphql-core) | 3.2.3 | GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL. +[graphql-relay](https://pypi.org/project/graphql-relay) | 3.2.0 | Relay library for graphql-core +[greenlet](https://pypi.org/project/greenlet) | 3.1.1 | Lightweight in-process concurrent programming +[griffe](https://pypi.org/project/griffe) | 1.5.5 | Signatures for entire Python programs. +[groq](https://pypi.org/project/groq) | 0.13.1 | The official Python library for the groq API +[guidata](https://pypi.org/project/guidata) | 3.7.1 | Automatic GUI generation for easy dataset editing and display +[h11](https://pypi.org/project/h11) | 0.14.0 | A pure-Python, bring-your-own-I/O implementation of HTTP/1.1 +[h2](https://pypi.org/project/h2) | 4.1.0 | HTTP/2 State-Machine based protocol implementation +[h5py](https://pypi.org/project/h5py) | 3.12.1 | Read and write HDF5 files from Python +[hatchling](https://pypi.org/project/hatchling) | 1.27.0 | Modern, extensible Python build backend +[holoviews](https://pypi.org/project/holoviews) | 1.20.2 | A high-level plotting API for the PyData ecosystem built on HoloViews. +[hpack](https://pypi.org/project/hpack) | 4.1.0 | Pure-Python HPACK header encoding +[html5lib](https://pypi.org/project/html5lib) | 1.1 | HTML parser based on the WHATWG HTML specification +[httpcore](https://pypi.org/project/httpcore) | 1.0.5 | A minimal low-level HTTP client. +[httpie](https://pypi.org/project/httpie) | 3.2.4 | HTTPie: modern, user-friendly command-line HTTP client for the API era. +[httpx](https://pypi.org/project/httpx) | 0.27.2 | The next generation HTTP client. +[httpx-sse](https://pypi.org/project/httpx-sse) | 0.4.0 | Consume Server-Sent Event (SSE) messages with HTTPX. +[huggingface-hub](https://pypi.org/project/huggingface-hub) | 0.29.3 | Client library to download and publish models, datasets and other repos on the huggingface.co hub +[hupper](https://pypi.org/project/hupper) | 1.12 | Integrated process monitor for developing and reloading daemons. +[hvplot](https://pypi.org/project/hvplot) | 0.11.2 | A high-level plotting API for the PyData ecosystem built on HoloViews. +[hypercorn](https://pypi.org/project/hypercorn) | 0.17.3 | A ASGI Server based on Hyper libraries and inspired by Gunicorn +[hyperframe](https://pypi.org/project/hyperframe) | 6.1.0 | Pure-Python HTTP/2 framing +[hypothesis](https://pypi.org/project/hypothesis) | 6.130.4 | A library for property-based testing +[id](https://pypi.org/project/id) | 1.5.0 | A tool for generating OIDC identities +[idna](https://pypi.org/project/idna) | 3.10 | Internationalized Domain Names in Applications (IDNA) +[imageio](https://pypi.org/project/imageio) | 2.37.0 | Library for reading and writing a wide range of image, video, scientific, and volumetric data formats. +[imagesize](https://pypi.org/project/imagesize) | 1.4.1 | Getting image size from png/jpeg/jpeg2000/gif file +[imbalanced-learn](https://pypi.org/project/imbalanced-learn) | 0.13.0 | Toolbox for imbalanced dataset in machine learning +[importlib-metadata](https://pypi.org/project/importlib-metadata) | 8.6.1 | Read metadata from Python packages +[inflection](https://pypi.org/project/inflection) | 0.5.1 | A port of Ruby on Rails inflector to Python +[iniconfig](https://pypi.org/project/iniconfig) | 2.0.0 | brain-dead simple config-ini parsing +[intervaltree](https://pypi.org/project/intervaltree) | 3.0.2 | Editable interval tree data structure for Python 2 and 3 +[ipycanvas](https://pypi.org/project/ipycanvas) | 0.13.3 | Interactive widgets library exposing the browser's Canvas API +[ipykernel](https://pypi.org/project/ipykernel) | 6.29.5 | IPython Kernel for Jupyter +[ipyleaflet](https://pypi.org/project/ipyleaflet) | 0.19.2 | A Jupyter widget for dynamic Leaflet maps +[ipympl](https://pypi.org/project/ipympl) | 0.9.7 | Matplotlib Jupyter Extension +[ipython](https://pypi.org/project/ipython) | 8.34.0 | IPython: Productive Interactive Computing +[ipython-genutils](https://pypi.org/project/ipython-genutils) | 0.2.0 | Vestigial utilities from IPython +[ipython-sql](https://pypi.org/project/ipython-sql) | 0.5.0 | RDBMS access via IPython +[ipywidgets](https://pypi.org/project/ipywidgets) | 8.1.6 | Jupyter interactive widgets +[isoduration](https://pypi.org/project/isoduration) | 20.11.0 | Operations with ISO 8601 durations +[isort](https://pypi.org/project/isort) | 5.13.2 | A Python utility / library to sort Python imports. +[itsdangerous](https://pypi.org/project/itsdangerous) | 2.2.0 | Safely pass data to untrusted environments and back. +[janus](https://pypi.org/project/janus) | 2.0.0 | Mixed sync-async queue to interoperate between asyncio tasks and classic threads +[jaraco-classes](https://pypi.org/project/jaraco-classes) | 3.4.0 | Utility functions for Python class constructs +[jaraco-context](https://pypi.org/project/jaraco-context) | 6.0.1 | Useful decorators and context managers +[jaraco-functools](https://pypi.org/project/jaraco-functools) | 4.1.0 | Functools like those found in stdlib +[jedi](https://pypi.org/project/jedi) | 0.19.2 | An autocompletion tool for Python that can be used for text editors. +[jellyfish](https://pypi.org/project/jellyfish) | 1.1.3 | Approximate and phonetic matching of strings. +[jinja2](https://pypi.org/project/jinja2) | 3.1.2 | A very fast and expressive template engine. +[jiter](https://pypi.org/project/jiter) | 0.8.2 | Fast iterable JSON parser. +[joblib](https://pypi.org/project/joblib) | 1.4.2 | Lightweight pipelining with Python functions +[json5](https://pypi.org/project/json5) | 0.9.14 | A Python implementation of the JSON5 data format. +[jsonpatch](https://pypi.org/project/jsonpatch) | 1.33 | Apply JSON-Patches (RFC 6902) +[jsonpath-python](https://pypi.org/project/jsonpath-python) | 1.0.6 | A more powerful JSONPath implementation in modern python +[jsonpointer](https://pypi.org/project/jsonpointer) | 2.4 | Identify specific nodes in a JSON document (RFC 6901) +[jsonschema](https://pypi.org/project/jsonschema) | 4.19.2 | An implementation of JSON Schema validation for Python +[jsonschema-specifications](https://pypi.org/project/jsonschema-specifications) | 2023.12.1 | The JSON Schema meta-schemas and vocabularies, exposed as a Registry +[julia](https://pypi.org/project/julia) | 0.6.2 | Julia/Python bridge with IPython support. +[jupyter](https://pypi.org/project/jupyter) | 1.1.1 | Jupyter metapackage. Install all the Jupyter components in one go. +[jupyter-bokeh](https://pypi.org/project/jupyter-bokeh) | 4.0.5 | A Jupyter extension for rendering Bokeh content. +[jupyter-client](https://pypi.org/project/jupyter-client) | 8.6.3 | Jupyter protocol implementation and client libraries +[jupyter-console](https://pypi.org/project/jupyter-console) | 6.6.3 | Jupyter terminal console +[jupyter-core](https://pypi.org/project/jupyter-core) | 5.7.2 | Jupyter core package. A base package on which Jupyter projects rely. +[jupyter-events](https://pypi.org/project/jupyter-events) | 0.12.0 | Jupyter Event System library +[jupyter-leaflet](https://pypi.org/project/jupyter-leaflet) | 0.19.2 | ipyleaflet extensions for JupyterLab and Jupyter Notebook +[jupyter-lsp](https://pypi.org/project/jupyter-lsp) | 2.2.5 | Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server +[jupyter-server](https://pypi.org/project/jupyter-server) | 2.14.2 | The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications. +[jupyter-server-terminals](https://pypi.org/project/jupyter-server-terminals) | 0.5.3 | A Jupyter Server Extension Providing Terminals. +[jupyterlab](https://pypi.org/project/jupyterlab) | 4.4.1 | JupyterLab computational environment +[jupyterlab-pygments](https://pypi.org/project/jupyterlab-pygments) | 0.3.0 | Pygments theme using JupyterLab CSS variables +[jupyterlab-server](https://pypi.org/project/jupyterlab-server) | 2.27.3 | A set of server components for JupyterLab and JupyterLab like applications. +[jupyterlab-widgets](https://pypi.org/project/jupyterlab-widgets) | 3.0.14 | Jupyter interactive widgets for JupyterLab +[keras](https://pypi.org/project/keras) | 3.9.2 | Multi-backend Keras +[keyring](https://pypi.org/project/keyring) | 25.6.0 | Store and access your passwords safely. +[kiwisolver](https://pypi.org/project/kiwisolver) | 1.4.8 | A fast implementation of the Cassowary constraint solver +[langchain](https://pypi.org/project/langchain) | 0.3.23 | Building applications with LLMs through composability +[langchain-core](https://pypi.org/project/langchain-core) | 0.3.51 | Building applications with LLMs through composability +[langchain-text-splitters](https://pypi.org/project/langchain-text-splitters) | 0.3.8 | LangChain text splitting utilities +[langsmith](https://pypi.org/project/langsmith) | 0.3.24 | Client library to connect to the LangSmith LLM Tracing and Evaluation Platform. +[lazy-loader](https://pypi.org/project/lazy-loader) | 0.4 | Makes it easy to load subpackages and functions on demand. +[linkify-it-py](https://pypi.org/project/linkify-it-py) | 2.0.2 | Links recognition library with FULL unicode support. +[llvmlite](https://pypi.org/project/llvmlite) | 0.44.0 | lightweight wrapper around basic LLVM functionality +[lmfit](https://pypi.org/project/lmfit) | 1.3.1 | Least-Squares Minimization with Bounds and Constraints +[locket](https://pypi.org/project/locket) | 1.0.0 | File-based locks for Python on Linux and Windows +[logfire-api](https://pypi.org/project/logfire-api) | 3.5.3 | Shim for the Logfire SDK which does nothing unless Logfire is installed +[lxml](https://pypi.org/project/lxml) | 5.3.0 | Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. +[mako](https://pypi.org/project/mako) | 1.3.5 | A super-fast templating language that borrows the best ideas from the existing templating languages. +[markdown](https://pypi.org/project/markdown) | 3.7 | Python implementation of John Gruber's Markdown. +[markdown-it-py](https://pypi.org/project/markdown-it-py) | 2.2.0 | Python port of markdown-it. Markdown parsing, done right! +[markupsafe](https://pypi.org/project/markupsafe) | 3.0.2 | Safely add untrusted strings to HTML/XML markup. +[matplotlib](https://pypi.org/project/matplotlib) | 3.10.1 | Python plotting package +[matplotlib-inline](https://pypi.org/project/matplotlib-inline) | 0.1.7 | Inline Matplotlib backend for Jupyter +[maturin](https://pypi.org/project/maturin) | 1.8.1 | Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages +[mccabe](https://pypi.org/project/mccabe) | 0.7.0 | McCabe checker, plugin for flake8 +[mdit-py-plugins](https://pypi.org/project/mdit-py-plugins) | 0.3.5 | Collection of plugins for markdown-it-py +[mdurl](https://pypi.org/project/mdurl) | 0.1.2 | Markdown URL utilities +[mercantile](https://pypi.org/project/mercantile) | 1.2.1 | Web mercator XYZ tile utilities +[mergedeep](https://pypi.org/project/mergedeep) | 1.3.4 | A deep merge function for 🐍. +[missingno](https://pypi.org/project/missingno) | 0.5.1 | Missing data visualization module for Python. +[mistralai](https://pypi.org/project/mistralai) | 1.2.5 | Python Client SDK for the Mistral AI API. +[mistune](https://pypi.org/project/mistune) | 2.0.5 | A sane Markdown parser with useful plugins and renderers +[mizani](https://pypi.org/project/mizani) | 0.11.4 | Scales for Python +[ml-dtypes](https://pypi.org/project/ml-dtypes) | 0.5.0 | +[mlxtend](https://pypi.org/project/mlxtend) | 0.23.3 | Machine Learning Library Extensions +[more-itertools](https://pypi.org/project/more-itertools) | 10.2.0 | More routines for operating on iterables, beyond itertools +[mpl-scatter-density](https://pypi.org/project/mpl-scatter-density) | 0.7 | Matplotlib helpers to make density scatter plots +[mpld3](https://pypi.org/project/mpld3) | 0.5.8 | D3 Viewer for Matplotlib +[mpmath](https://pypi.org/project/mpmath) | 1.3.0 | Python library for arbitrary-precision floating-point arithmetic +[msal](https://pypi.org/project/msal) | 1.30.0 | The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of us +[msal-extensions](https://pypi.org/project/msal-extensions) | 1.2.0 | Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS an +[msgpack](https://pypi.org/project/msgpack) | 1.1.0 | MessagePack serializer +[multidict](https://pypi.org/project/multidict) | 6.1.0 | multidict implementation +[multipledispatch](https://pypi.org/project/multipledispatch) | 1.0.0 | Multiple dispatch +[mypy](https://pypi.org/project/mypy) | 1.15.0 | Optional static typing for Python +[mypy-extensions](https://pypi.org/project/mypy-extensions) | 1.0.0 | Type system extensions for programs checked with the mypy type checker. +[mysql-connector-python](https://pypi.org/project/mysql-connector-python) | 9.2.0 | A self-contained Python driver for communicating with MySQL servers, using an API that is compliant with the Python Database API Specification v +[namex](https://pypi.org/project/namex) | 0.0.8 | A simple utility to separate the implementation of your Python package and its public API surface. +[narwhals](https://pypi.org/project/narwhals) | 1.30.0 | Extremely lightweight compatibility layer between dataframe libraries +[nbclient](https://pypi.org/project/nbclient) | 0.10.0 | A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor. +[nbconvert](https://pypi.org/project/nbconvert) | 7.16.1 | Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. +[nbformat](https://pypi.org/project/nbformat) | 5.10.4 | The Jupyter Notebook format +[nest-asyncio](https://pypi.org/project/nest-asyncio) | 1.6.0 | Patch asyncio to allow nested event loops +[networkx](https://pypi.org/project/networkx) | 3.4.2 | Python package for creating and manipulating graphs and networks +[nh3](https://pypi.org/project/nh3) | 0.2.18 | Python bindings to the ammonia HTML sanitization library. +[nltk](https://pypi.org/project/nltk) | 3.9.1 | Natural Language Toolkit +[notebook](https://pypi.org/project/notebook) | 7.4.0 | Jupyter Notebook - A web-based notebook environment for interactive computing +[notebook-shim](https://pypi.org/project/notebook-shim) | 0.2.4 | A shim layer for notebook traits and config +[numba](https://pypi.org/project/numba) | 0.61.2 | compiling Python code using LLVM +[numpy](https://pypi.org/project/numpy) | 2.2.4 | Fundamental package for array computing in Python +[numpydoc](https://pypi.org/project/numpydoc) | 1.6.0 | Sphinx extension to support docstrings in Numpy format +[openai](https://pypi.org/project/openai) | 1.72.0 | The official Python library for the openai API +[opencv-python](https://pypi.org/project/opencv-python) | 4.11.0.86 | Wrapper package for OpenCV python bindings. +[openpyxl](https://pypi.org/project/openpyxl) | 3.1.2 | A Python library to read/write Excel 2010 xlsx/xlsm files +[optree](https://pypi.org/project/optree) | 0.14.0 | Optimized PyTree Utilities. +[optuna](https://pypi.org/project/optuna) | 3.6.1 | A hyperparameter optimization framework +[orjson](https://pypi.org/project/orjson) | 3.10.12 | Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy +[osqp](https://pypi.org/project/osqp) | 0.6.7.post3 | OSQP: The Operator Splitting QP Solver +[outcome](https://pypi.org/project/outcome) | 1.3.0.post0 | Capture the outcome of Python function calls. +[overrides](https://pypi.org/project/overrides) | 7.7.0 | A decorator to automatically detect mismatch when overriding a method. +[packaging](https://pypi.org/project/packaging) | 24.2 | Core utilities for Python packages +[pandas](https://pypi.org/project/pandas) | 2.2.3 | Powerful data structures for data analysis, time series, and statistics +[pandocfilters](https://pypi.org/project/pandocfilters) | 1.5.0 | Utilities for writing pandoc filters in python +[panel](https://pypi.org/project/panel) | 1.6.2 | The powerful data exploration & web app framework for Python. +[papermill](https://pypi.org/project/papermill) | 2.6.0 | Parameterize and run Jupyter and nteract Notebooks +[param](https://pypi.org/project/param) | 2.2.0 | Make your Python code clearer and more reliable by declaring Parameters. +[parso](https://pypi.org/project/parso) | 0.8.4 | A Python Parser +[partd](https://pypi.org/project/partd) | 1.4.0 | Appendable key-value storage +[pathspec](https://pypi.org/project/pathspec) | 0.11.0 | Utility library for gitignore style pattern matching of file paths. +[patsy](https://pypi.org/project/patsy) | 0.5.6 | A Python package for describing statistical models and for building design matrices. +[pep8](https://pypi.org/project/pep8) | 1.7.1 | Python style guide checker +[pexpect](https://pypi.org/project/pexpect) | 4.8.0 | Pexpect allows easy control of interactive console applications. +[pg8000](https://pypi.org/project/pg8000) | 1.23.0 | PostgreSQL interface library +[pickleshare](https://pypi.org/project/pickleshare) | 0.7.5 | Tiny 'shelve'-like database with concurrency support +[pillow](https://pypi.org/project/pillow) | 11.1.0 | Python Imaging Library (Fork) +[pip](https://pypi.org/project/pip) | 25.0.1 | The PyPA recommended tool for installing Python packages. +[platformdirs](https://pypi.org/project/platformdirs) | 4.3.6 | A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`. +[plotly](https://pypi.org/project/plotly) | 6.0.1 | An open-source interactive data visualization library for Python +[plotnine](https://pypi.org/project/plotnine) | 0.13.6 | A Grammar of Graphics for Python +[plotpy](https://pypi.org/project/plotpy) | 2.7.2 | Curve and image plotting tools for Python/Qt applications +[pluggy](https://pypi.org/project/pluggy) | 1.5.0 | plugin and hook calling mechanisms for python +[ply](https://pypi.org/project/ply) | 3.11 | Python Lex & Yacc +[polars](https://pypi.org/project/polars) | 1.27.1 | Blazingly fast DataFrame library +[portalocker](https://pypi.org/project/portalocker) | 2.7.0 | Wraps the portalocker recipe for easy usage +[prettytable](https://pypi.org/project/prettytable) | 3.3.0 | A simple Python library for easily displaying tabular data in a visually appealing ASCII table format +[prince](https://pypi.org/project/prince) | 0.15.0 | Factor analysis in Python: PCA, CA, MCA, MFA, FAMD, GPA +[priority](https://pypi.org/project/priority) | 2.0.0 | A pure-Python implementation of the HTTP/2 priority tree +[prometheus-client](https://pypi.org/project/prometheus-client) | 0.21.1 | Python client for the Prometheus monitoring system. +[prompt-toolkit](https://pypi.org/project/prompt-toolkit) | 3.0.50 | Library for building powerful interactive command lines in Python +[propcache](https://pypi.org/project/propcache) | 0.2.1 | Accelerated property cache +[protobuf](https://pypi.org/project/protobuf) | 5.27.3 | +[psutil](https://pypi.org/project/psutil) | 5.9.8 | Cross-platform lib for process and system monitoring in Python. +[psygnal](https://pypi.org/project/psygnal) | 0.11.1 | Fast python callback/event system modeled after Qt Signals +[ptpython](https://pypi.org/project/ptpython) | 3.0.29 | Python REPL build on top of prompt_toolkit +[ptyprocess](https://pypi.org/project/ptyprocess) | 0.7.0 | Run a subprocess in a pseudo terminal +[pure-eval](https://pypi.org/project/pure-eval) | 0.2.2 | Safely evaluate AST nodes without side effects +[pyarrow](https://pypi.org/project/pyarrow) | 19.0.1 | Python library for Apache Arrow +[pyasn1](https://pypi.org/project/pyasn1) | 0.6.1 | Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208) +[pyasn1-modules](https://pypi.org/project/pyasn1-modules) | 0.4.1 | A collection of ASN.1-based protocols modules +[pybind11](https://pypi.org/project/pybind11) | 2.13.6 | Seamless operability between C++11 and Python +[pycodestyle](https://pypi.org/project/pycodestyle) | 2.12.0 | Python style guide checker +[pycparser](https://pypi.org/project/pycparser) | 2.22 | C parser in Python +[pyct](https://pypi.org/project/pyct) | 0.5.0 | Python package common tasks for users (e.g. copy examples, fetch data, ...) +[pydantic](https://pypi.org/project/pydantic) | 2.10.6 | Data validation using Python type hints +[pydantic-ai](https://pypi.org/project/pydantic-ai) | 0.0.24 | Agent Framework / shim to use Pydantic with LLMs +[pydantic-ai-slim](https://pypi.org/project/pydantic-ai-slim) | 0.0.24 | Agent Framework / shim to use Pydantic with LLMs, slim package +[pydantic-core](https://pypi.org/project/pydantic-core) | 2.27.2 | Core functionality for Pydantic validation and serialization +[pydantic-graph](https://pypi.org/project/pydantic-graph) | 0.0.24 | Graph and state machine library +[pydeck](https://pypi.org/project/pydeck) | 0.9.1 | Widget for deck.gl maps +[pydocstyle](https://pypi.org/project/pydocstyle) | 6.3.0 | Python docstring style checker +[pydub](https://pypi.org/project/pydub) | 0.25.1 | Manipulate audio with an simple and easy high level interface +[pyerfa](https://pypi.org/project/pyerfa) | 2.0.1.4 | Python bindings for ERFA +[pyflakes](https://pypi.org/project/pyflakes) | 3.2.0 | passive checker of Python programs +[pygithub](https://pypi.org/project/pygithub) | 2.6.1 | Use the full Github API v3 +[pygments](https://pypi.org/project/pygments) | 2.19.1 | Pygments is a syntax highlighting package written in Python. +[pyjwt](https://pypi.org/project/pyjwt) | 2.10.1 | JSON Web Token implementation in Python +[pylint](https://pypi.org/project/pylint) | 3.1.0 | python code static checker +[pylint-venv](https://pypi.org/project/pylint-venv) | 3.0.3 | pylint-venv provides a Pylint init-hook to use the same Pylint installation with different virtual environments. +[pyls-spyder](https://pypi.org/project/pyls-spyder) | 0.4.0 | Spyder extensions for the python-lsp-server +[pymongo](https://pypi.org/project/pymongo) | 4.10.1 | Python driver for MongoDB +[pympler](https://pypi.org/project/pympler) | 1.1 | A development tool to measure, monitor and analyze the memory behavior of Python objects. +[pynacl](https://pypi.org/project/pynacl) | 1.5.0 | Python binding to the Networking and Cryptography (NaCl) library +[pynndescent](https://pypi.org/project/pynndescent) | 0.5.12 | Nearest Neighbor Descent +[pyodbc](https://pypi.org/project/pyodbc) | 5.2.0 | DB API module for ODBC +[pyogrio](https://pypi.org/project/pyogrio) | 0.10.0 | Vectorized spatial vector file format I/O using GDAL/OGR +[pyomo](https://pypi.org/project/pyomo) | 6.9.1 | Pyomo: Python Optimization Modeling Objects +[pypandoc](https://pypi.org/project/pypandoc) | 1.15 | Thin wrapper for pandoc. +[pyparsing](https://pypi.org/project/pyparsing) | 3.2.1 | pyparsing module - Classes and methods to define and execute parsing grammars +[pypdf](https://pypi.org/project/pypdf) | 5.1.0 | A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files +[pyproj](https://pypi.org/project/pyproj) | 3.7.0 | Python interface to PROJ (cartographic projections and coordinate transformations library) +[pyproject-hooks](https://pypi.org/project/pyproject-hooks) | 1.1.0 | Wrappers to call pyproject.toml-based build backend hooks. +[pyqt5](https://pypi.org/project/pyqt5) | 5.15.10 | Python bindings for the Qt cross platform application toolkit +[pyqt5-qt5](https://pypi.org/project/pyqt5-qt5) | 5.15.2 | The subset of a Qt installation needed by PyQt5. +[pyqt5-sip](https://pypi.org/project/pyqt5-sip) | 12.16.1 | The sip module support for PyQt5 +[pyqtgraph](https://pypi.org/project/pyqtgraph) | 0.13.7 | Scientific Graphics and GUI Library for Python +[pyqtwebengine](https://pypi.org/project/pyqtwebengine) | 5.15.6 | Python bindings for the Qt WebEngine framework +[pyqtwebengine-qt5](https://pypi.org/project/pyqtwebengine-qt5) | 5.15.2 | The subset of a Qt installation needed by PyQtWebEngine. +[pyserial](https://pypi.org/project/pyserial) | 3.5 | Python Serial Port Extension +[pysocks](https://pypi.org/project/pysocks) | 1.7.1 | A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information. +[pyspnego](https://pypi.org/project/pyspnego) | 0.11.2 | Windows Negotiate Authentication Client and Server +[pytest](https://pypi.org/project/pytest) | 8.3.4 | pytest: simple powerful testing with Python +[python-barcode](https://pypi.org/project/python-barcode) | 0.15.1 | Create standard barcodes with Python. No external modules needed. (optional Pillow support included). +[python-dateutil](https://pypi.org/project/python-dateutil) | 2.8.2 | Extensions to the standard Python datetime module +[python-dotenv](https://pypi.org/project/python-dotenv) | 1.0.1 | Read key-value pairs from a .env file and set them as environment variables +[python-json-logger](https://pypi.org/project/python-json-logger) | 2.0.7 | A python library adding a json log formatter +[python-lsp-black](https://pypi.org/project/python-lsp-black) | 2.0.0 | Black plugin for the Python LSP Server +[python-lsp-jsonrpc](https://pypi.org/project/python-lsp-jsonrpc) | 1.1.2 | JSON RPC 2.0 server library +[python-lsp-server](https://pypi.org/project/python-lsp-server) | 1.12.0 | Python Language Server for the Language Server Protocol +[python-multipart](https://pypi.org/project/python-multipart) | 0.0.9 | A streaming multipart parser for Python +[python-slugify](https://pypi.org/project/python-slugify) | 8.0.4 | A Python slugify application that also handles Unicode +[pythonqwt](https://pypi.org/project/pythonqwt) | 0.14.4 | Qt plotting widgets for Python +[pytoolconfig](https://pypi.org/project/pytoolconfig) | 1.3.1 | Python tool configuration +[pytz](https://pypi.org/project/pytz) | 2024.2 | World timezone definitions, modern and historical +[pyuca](https://pypi.org/project/pyuca) | 1.2 | a Python implementation of the Unicode Collation Algorithm +[pyusb](https://pypi.org/project/pyusb) | 1.3.1 | Easy USB access for Python +[pyviz-comms](https://pypi.org/project/pyviz-comms) | 3.0.3 | A JupyterLab extension for rendering HoloViz content. +[pywavelets](https://pypi.org/project/pywavelets) | 1.8.0 | PyWavelets, wavelet transform module +[pywin32](https://pypi.org/project/pywin32) | 308 | Python for Window Extensions +[pywin32-ctypes](https://pypi.org/project/pywin32-ctypes) | 0.2.2 | A (partial) reimplementation of pywin32 using ctypes/cffi +[pywinpty](https://pypi.org/project/pywinpty) | 2.0.14 | Pseudo terminal support for Windows from Python. +[pyyaml](https://pypi.org/project/pyyaml) | 6.0.2 | YAML parser and emitter for Python +[pyzmq](https://pypi.org/project/pyzmq) | 26.2.1 | Python bindings for 0MQ +[qdarkstyle](https://pypi.org/project/qdarkstyle) | 3.2.3 | The most complete dark/light style sheet for C++/Python and Qt applications +[qdldl](https://pypi.org/project/qdldl) | 0.1.7.post5 | QDLDL, a free LDL factorization routine. +[qrcode](https://pypi.org/project/qrcode) | 8.0 | QR Code image generator +[qstylizer](https://pypi.org/project/qstylizer) | 0.2.2 | Stylesheet Generator for PyQt{4-5}/PySide{1-2} +[qtawesome](https://pypi.org/project/qtawesome) | 1.4.0 | FontAwesome icons in PyQt and PySide applications +[qtconsole](https://pypi.org/project/qtconsole) | 5.6.1 | Jupyter Qt console +[qtpy](https://pypi.org/project/qtpy) | 2.4.1 | Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6). +[quantecon](https://pypi.org/project/quantecon) | 0.7.2 | Import the main names to top level. +[quart](https://pypi.org/project/quart) | 0.20.0 | A Python ASGI web framework with the same API as Flask +[rapidfuzz](https://pypi.org/project/rapidfuzz) | 3.9.6 | rapid fuzzy string matching +[readme-renderer](https://pypi.org/project/readme-renderer) | 44.0 | readme_renderer is a library for rendering readme descriptions for Warehouse +[redis](https://pypi.org/project/redis) | 5.0.8 | Python client for Redis database and key-value store +[referencing](https://pypi.org/project/referencing) | 0.35.1 | JSON Referencing + Python +[regex](https://pypi.org/project/regex) | 2024.11.6 | Alternative regular expression module, to replace re. +[reportlab](https://pypi.org/project/reportlab) | 4.2.5 | The Reportlab Toolkit +[requests](https://pypi.org/project/requests) | 2.32.3 | Python HTTP for Humans. +[requests-ntlm](https://pypi.org/project/requests-ntlm) | 1.3.0 | This package allows for HTTP NTLM authentication using the requests library. +[requests-toolbelt](https://pypi.org/project/requests-toolbelt) | 1.0.0 | A utility belt for advanced users of python-requests +[rfc3339-validator](https://pypi.org/project/rfc3339-validator) | 0.1.4 | A pure python RFC3339 validator +[rfc3986](https://pypi.org/project/rfc3986) | 2.0.0 | Validating URI References per RFC 3986 +[rfc3986-validator](https://pypi.org/project/rfc3986-validator) | 0.1.1 | Pure python rfc3986 validator +[rich](https://pypi.org/project/rich) | 13.9.4 | Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal +[rope](https://pypi.org/project/rope) | 1.12.0 | a python refactoring library... +[rpds-py](https://pypi.org/project/rpds-py) | 0.22.3 | Python bindings to Rust's persistent data structures (rpds) +[rsa](https://pypi.org/project/rsa) | 4.7.2 | Pure-Python RSA implementation +[rtree](https://pypi.org/project/rtree) | 1.3.0 | R-Tree spatial index for Python GIS +[rx](https://pypi.org/project/rx) | 3.2.0 | Reactive Extensions (Rx) for Python +[scikit-image](https://pypi.org/project/scikit-image) | 0.25.2 | Image processing in Python +[scikit-learn](https://pypi.org/project/scikit-learn) | 1.6.1 | A set of python modules for machine learning and data mining +[scipy](https://pypi.org/project/scipy) | 1.15.2 | Fundamental algorithms for scientific computing in Python +[scramp](https://pypi.org/project/scramp) | 1.4.5 | An implementation of the SCRAM protocol. +[scs](https://pypi.org/project/scs) | 3.2.7.post2 | Splitting conic solver +[seaborn](https://pypi.org/project/seaborn) | 0.13.2 | Statistical data visualization +[send2trash](https://pypi.org/project/send2trash) | 1.8.3 | Send file to trash natively under Mac OS X, Windows and Linux +[setuptools](https://pypi.org/project/setuptools) | 75.8.2 | Easily download, build, install, upgrade, and uninstall Python packages +[shapely](https://pypi.org/project/shapely) | 2.0.6 | Manipulation and analysis of geometric objects +[shellingham](https://pypi.org/project/shellingham) | 1.5.4 | Tool to Detect Surrounding Shell +[simplejson](https://pypi.org/project/simplejson) | 3.19.3 | Simple, fast, extensible JSON encoder/decoder for Python +[simpy](https://pypi.org/project/simpy) | 4.1.1 | Event discrete, process based simulation for Python. +[six](https://pypi.org/project/six) | 1.16.0 | Python 2 and 3 compatibility utilities +[sklearn-compat](https://pypi.org/project/sklearn-compat) | 0.1.3 | Ease support for compatible scikit-learn estimators across versions +[skrub](https://pypi.org/project/skrub) | 0.5.1 | Prepping tables for machine learning +[smmap](https://pypi.org/project/smmap) | 5.0.0 | A pure Python implementation of a sliding window memory map manager +[sniffio](https://pypi.org/project/sniffio) | 1.3.0 | Sniff out which async library your code is running under +[snowballstemmer](https://pypi.org/project/snowballstemmer) | 2.2.0 | This package provides 29 stemmers for 28 languages generated from Snowball algorithms. +[sortedcontainers](https://pypi.org/project/sortedcontainers) | 2.4.0 | Sorted Containers -- Sorted List, Sorted Dict, Sorted Set +[sounddevice](https://pypi.org/project/sounddevice) | 0.5.1 | Play and Record Sound with Python +[soupsieve](https://pypi.org/project/soupsieve) | 2.6 | A modern CSS selector implementation for Beautiful Soup. +[sphinx](https://pypi.org/project/sphinx) | 7.3.7 | Python documentation generator +[sphinx-rtd-theme](https://pypi.org/project/sphinx-rtd-theme) | 3.0.2 | Read the Docs theme for Sphinx +[sphinxcontrib-applehelp](https://pypi.org/project/sphinxcontrib-applehelp) | 2.0.0 | sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books +[sphinxcontrib-devhelp](https://pypi.org/project/sphinxcontrib-devhelp) | 2.0.0 | sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents +[sphinxcontrib-htmlhelp](https://pypi.org/project/sphinxcontrib-htmlhelp) | 2.1.0 | sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files +[sphinxcontrib-jquery](https://pypi.org/project/sphinxcontrib-jquery) | 4.1 | Extension to include jQuery on newer Sphinx releases +[sphinxcontrib-jsmath](https://pypi.org/project/sphinxcontrib-jsmath) | 1.0.1 | A sphinx extension which renders display math in HTML via JavaScript +[sphinxcontrib-qthelp](https://pypi.org/project/sphinxcontrib-qthelp) | 2.0.0 | sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents +[sphinxcontrib-serializinghtml](https://pypi.org/project/sphinxcontrib-serializinghtml) | 2.0.0 | sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle) +[spyder](https://pypi.org/project/spyder) | 6.0.5 | The Scientific Python Development Environment +[spyder-kernels](https://pypi.org/project/spyder-kernels) | 3.0.3 | Jupyter kernels for Spyder's console +[sqlalchemy](https://pypi.org/project/sqlalchemy) | 2.0.38 | Database Abstraction Library +[sqlite-bro](https://pypi.org/project/sqlite-bro) | 0.13.1 | a graphic SQLite Client in 1 Python file +[sqlite-fts4](https://pypi.org/project/sqlite-fts4) | 1.0.3 | Python functions for working with SQLite FTS4 search +[sqlite-utils](https://pypi.org/project/sqlite-utils) | 3.38 | CLI tool and Python library for manipulating SQLite databases +[sqlparse](https://pypi.org/project/sqlparse) | 0.5.3 | A non-validating SQL parser. +[squarify](https://pypi.org/project/squarify) | 0.4.4 | Pure Python implementation of the squarify treemap layout algorithm +[sspilib](https://pypi.org/project/sspilib) | 0.2.0 | SSPI API bindings for Python +[stack-data](https://pypi.org/project/stack-data) | 0.6.3 | Extract data from python stack frames and tracebacks for informative displays +[starlette](https://pypi.org/project/starlette) | 0.45.3 | The little ASGI library that shines. +[statsmodels](https://pypi.org/project/statsmodels) | 0.14.4 | Statistical computations and models for Python +[streamlit](https://pypi.org/project/streamlit) | 1.44.0 | A faster way to build and share data apps +[superqt](https://pypi.org/project/superqt) | 0.7.1 | Missing widgets and components for PyQt/PySide +[sv-ttk](https://pypi.org/project/sv-ttk) | 2.6.0 | A gorgeous theme for Tkinter, based on Windows 11's UI +[sympy](https://pypi.org/project/sympy) | 1.13.3 | Computer algebra system (CAS) in Python +[tabulate](https://pypi.org/project/tabulate) | 0.9.0 | Pretty-print tabular data +[tblib](https://pypi.org/project/tblib) | 3.0.0 | Traceback serialization library. +[tenacity](https://pypi.org/project/tenacity) | 9.0.0 | Retry code until it succeeds +[termcolor](https://pypi.org/project/termcolor) | 2.5.0 | ANSI color formatting for output in terminal +[terminado](https://pypi.org/project/terminado) | 0.18.1 | Tornado websocket backend for the Xterm.js Javascript terminal emulator library. +[text-unidecode](https://pypi.org/project/text-unidecode) | 1.3 | The most basic Text::Unidecode port +[textdistance](https://pypi.org/project/textdistance) | 4.6.3 | Compute distance between the two texts. +[thefuzz](https://pypi.org/project/thefuzz) | 0.22.1 | Fuzzy string matching in python +[threadpoolctl](https://pypi.org/project/threadpoolctl) | 3.5.0 | threadpoolctl +[three-merge](https://pypi.org/project/three-merge) | 0.1.1 | Simple library for merging two strings with respect to a base one +[tifffile](https://pypi.org/project/tifffile) | 2025.1.10 | Read and write TIFF files +[tiktoken](https://pypi.org/project/tiktoken) | 0.8.0 | tiktoken is a fast BPE tokeniser for use with OpenAI's models +[tinycss2](https://pypi.org/project/tinycss2) | 1.4.0 | A tiny CSS parser +[tokenizers](https://pypi.org/project/tokenizers) | 0.21.0 | +[toml](https://pypi.org/project/toml) | 0.10.2 | Python Library for Tom's Obvious, Minimal Language +[tomli](https://pypi.org/project/tomli) | 2.2.1 | A lil' TOML parser +[tomli-w](https://pypi.org/project/tomli-w) | 1.2.0 | A lil' TOML writer +[tomlkit](https://pypi.org/project/tomlkit) | 0.13.2 | Style preserving TOML library +[toolz](https://pypi.org/project/toolz) | 1.0.0 | List processing tools and functional utilities +[tornado](https://pypi.org/project/tornado) | 6.4.2 | Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. +[tqdm](https://pypi.org/project/tqdm) | 4.66.4 | Fast, Extensible Progress Meter +[traitlets](https://pypi.org/project/traitlets) | 5.14.1 | Traitlets Python configuration system +[traittypes](https://pypi.org/project/traittypes) | 0.2.1 | Scipy trait types +[trio](https://pypi.org/project/trio) | 0.29.0 | A friendly Python library for async concurrency and I/O +[trove-classifiers](https://pypi.org/project/trove-classifiers) | 2024.10.21.16 | Canonical source for classifiers on PyPI (pypi.org). +[twine](https://pypi.org/project/twine) | 6.1.0 | Collection of utilities for publishing packages on PyPI +[typer](https://pypi.org/project/typer) | 0.15.2 | Typer, build great CLIs. Easy to code. Based on Python type hints. +[types-python-dateutil](https://pypi.org/project/types-python-dateutil) | 2.9.0.20240316 | Typing stubs for python-dateutil +[types-requests](https://pypi.org/project/types-requests) | 2.32.0.20241016 | Typing stubs for requests +[typing-extensions](https://pypi.org/project/typing-extensions) | 4.12.2 | Backported and Experimental Type Hints for Python 3.8+ +[typing-inspect](https://pypi.org/project/typing-inspect) | 0.9.0 | Runtime inspection utilities for typing module. +[tzdata](https://pypi.org/project/tzdata) | 2024.1 | Provider of IANA time zone data +[tzlocal](https://pypi.org/project/tzlocal) | 5.2 | tzinfo object for the local timezone +[uc-micro-py](https://pypi.org/project/uc-micro-py) | 1.0.1 | Micro subset of unicode data files for linkify-it-py projects. +[ujson](https://pypi.org/project/ujson) | 5.10.0 | Ultra fast JSON encoder and decoder for Python +[umap-learn](https://pypi.org/project/umap-learn) | 0.5.6 | Uniform Manifold Approximation and Projection +[uncertainties](https://pypi.org/project/uncertainties) | 3.2.2 | calculations with values with uncertainties, error propagation +[uri-template](https://pypi.org/project/uri-template) | 1.3.0 | RFC 6570 URI Template Processor +[urllib3](https://pypi.org/project/urllib3) | 2.2.3 | HTTP library with thread-safe connection pooling, file post, and more. +[uvicorn](https://pypi.org/project/uvicorn) | 0.34.0 | The lightning-fast ASGI server. +[vega-datasets](https://pypi.org/project/vega-datasets) | 0.9.0 | A Python package for offline access to Vega datasets +[waitress](https://pypi.org/project/waitress) | 3.0.0 | Waitress WSGI server +[watchdog](https://pypi.org/project/watchdog) | 6.0.0 | Filesystem events monitoring +[wcwidth](https://pypi.org/project/wcwidth) | 0.2.13 | Measures the displayed width of unicode strings in a terminal +[webcolors](https://pypi.org/project/webcolors) | 24.11.1 | A library for working with the color formats defined by HTML and CSS. +[webencodings](https://pypi.org/project/webencodings) | 0.5.1 | Character encoding aliases for legacy web content +[websocket-client](https://pypi.org/project/websocket-client) | 1.8.0 | WebSocket client for Python with low level API options +[werkzeug](https://pypi.org/project/werkzeug) | 3.1.3 | The comprehensive WSGI web application library. +[whatthepatch](https://pypi.org/project/whatthepatch) | 1.0.7 | A patch parsing and application library. +[wheel](https://pypi.org/project/wheel) | 0.45.1 | A built-package format for Python +[widgetsnbextension](https://pypi.org/project/widgetsnbextension) | 4.0.14 | Jupyter interactive widgets for Jupyter Notebook +[winpython](https://pypi.org/project/winpython) | 15.3.20250425 | WinPython distribution tools, including WPPM +[wordcloud](https://pypi.org/project/wordcloud) | 1.9.4 | A little word cloud generator +[wrapt](https://pypi.org/project/wrapt) | 1.16.0 | Module for decorators, wrappers and monkey patching. +[wsproto](https://pypi.org/project/wsproto) | 1.2.0 | WebSockets state-machine based protocol implementation +[xarray](https://pypi.org/project/xarray) | 2025.3.0 | N-D labeled arrays and datasets in Python +[xlsxwriter](https://pypi.org/project/xlsxwriter) | 3.1.9 | A Python module for creating Excel XLSX files. +[xyzservices](https://pypi.org/project/xyzservices) | 2023.10.1 | Source of XYZ tiles providers +[yapf](https://pypi.org/project/yapf) | 0.40.1 | A formatter for Python code. +[yarl](https://pypi.org/project/yarl) | 1.18.3 | Yet another URL library +[yt-dlp](https://pypi.org/project/yt-dlp) | 2025.2.19 | A feature-rich command-line audio/video downloader +[zict](https://pypi.org/project/zict) | 3.0.0 | Mutable mapping tools +[zipp](https://pypi.org/project/zipp) | 3.21.0 | Backport of pathlib-compatible object wrapper for zip files +[zstandard](https://pypi.org/project/zstandard) | 0.23.0 | Zstandard bindings for Python + +
diff --git a/changelogs/WinPythonslim-64bit-3.12.10.0_History.md b/changelogs/WinPythonslim-64bit-3.12.10.0_History.md new file mode 100644 index 00000000..07147b6d --- /dev/null +++ b/changelogs/WinPythonslim-64bit-3.12.10.0_History.md @@ -0,0 +1,147 @@ +## History of changes for WinPython-64bit 3.12.10.0slim + +The following changes were made to WinPython-64bit distribution since version 3.12.9.0slim. + +
+ +### Tools + +New packages: + + * [Pandoc](https://pandoc.org) 3.1.9 (an universal document converter) + +### Python packages + +New packages: + + * [asyncssh](https://pypi.org/project/asyncssh) 2.20.0 (AsyncSSH: Asynchronous SSHv2 client and server library) + * [deprecated](https://pypi.org/project/deprecated) 1.2.14 (Python @deprecated decorator to deprecate old python classes, functions or methods.) + * [flexcache](https://pypi.org/project/flexcache) 0.3 (Saves and loads to the cache a transformed versions of a source object.) + * [flexparser](https://pypi.org/project/flexparser) 0.4 (Parsing made fun ... using typing.) + * [id](https://pypi.org/project/id) 1.5.0 (A tool for generating OIDC identities) + * [pygithub](https://pypi.org/project/pygithub) 2.6.1 (Use the full Github API v3) + * [pyuca](https://pypi.org/project/pyuca) 1.2 (a Python implementation of the Unicode Collation Algorithm) + * [shellingham](https://pypi.org/project/shellingham) 1.5.4 (Tool to Detect Surrounding Shell) + * [skrub](https://pypi.org/project/skrub) 0.5.1 (Prepping tables for machine learning) + * [superqt](https://pypi.org/project/superqt) 0.7.1 (Missing widgets and components for PyQt/PySide) + * [sv-ttk](https://pypi.org/project/sv-ttk) 2.6.0 (A gorgeous theme for Tkinter, based on Windows 11's UI) + * [typer](https://pypi.org/project/typer) 0.15.2 (Typer, build great CLIs. Easy to code. Based on Python type hints.) + * [wrapt](https://pypi.org/project/wrapt) 1.16.0 (Module for decorators, wrappers and monkey patching.) + +Upgraded packages: + + * [alembic](https://pypi.org/project/alembic) 1.13.1 → 1.15.1 (A database migration tool for SQLAlchemy.) + * [anthropic](https://pypi.org/project/anthropic) 0.42.0 → 0.49.0 (The official Python library for the anthropic API) + * [anyio](https://pypi.org/project/anyio) 4.7.0 → 4.8.0 (High level compatibility layer for multiple asynchronous event loop implementations) + * [array-api-compat](https://pypi.org/project/array-api-compat) 1.10.0 → 1.11.1 (A wrapper around NumPy and other array libraries to make them compatible with the Array API standard) + * [azure-core](https://pypi.org/project/azure-core) 1.30.2 → 1.32.0 (Microsoft Azure Core Library for Python) + * [azure-cosmos](https://pypi.org/project/azure-cosmos) 4.7.0 → 4.9.0 (Microsoft Azure Cosmos Client Library for Python) + * [azure-identity](https://pypi.org/project/azure-identity) 1.16.1 → 1.21.0 (Microsoft Azure Identity Library for Python) + * [black](https://pypi.org/project/black) 24.10.0 → 25.1.0 (The uncompromising code formatter.) + * [bokeh](https://pypi.org/project/bokeh) 3.6.3 → 3.7.2 (Interactive plots and applications in the browser from Python) + * [cachetools](https://pypi.org/project/cachetools) 5.4.0 → 5.5.2 (Extensible memoizing collections and decorators) + * [certifi](https://pypi.org/project/certifi) 2024.6.2 → 2025.1.31 (Python package for providing Mozilla's CA Bundle.) + * [click](https://pypi.org/project/click) 8.1.7 → 8.1.8 (Composable command line interface toolkit) + * [cloudpickle](https://pypi.org/project/cloudpickle) 3.0.0 → 3.1.1 (Pickler class to extend the standard pickle.Pickler functionality) + * [cvxpy](https://pypi.org/project/cvxpy) 1.6.0 → 1.6.4 (A domain-specific language for modeling convex optimization problems in Python.) + * [cython](https://pypi.org/project/cython) 3.0.11 → 3.0.12 (The Cython compiler for writing C extensions in the Python language.) + * [dask](https://pypi.org/project/dask) 2024.12.1 → 2025.3.0 (Parallel PyData with Task Scheduling) + * [datasette](https://pypi.org/project/datasette) 0.64.8 → 0.65.1 (An open source multi-tool for exploring and publishing data) + * [datashader](https://pypi.org/project/datashader) 0.16.3 → 0.17.0 (Data visualization toolchain based on aggregating into a grid) + * [diff-match-patch](https://pypi.org/project/diff-match-patch) 20230430 → 20241021 (Repackaging of Google's Diff Match and Patch libraries.) + * [distributed](https://pypi.org/project/distributed) 2024.12.1 → 2025.3.0 (Distributed scheduler for Dask) + * [docstring-to-markdown](https://pypi.org/project/docstring-to-markdown) 0.13 → 0.15 (On the fly conversion of Python docstrings to markdown) + * [duckdb](https://pypi.org/project/duckdb) 1.2.0 → 1.2.2 (DuckDB in-process database) + * [faker](https://pypi.org/project/faker) 33.3.1 → 36.1.1 (Faker is a Python package that generates fake data for you.) + * [fastapi](https://pypi.org/project/fastapi) 0.115.6 → 0.115.8 (FastAPI framework, high performance, easy to learn, fast to code, ready for production) + * [filelock](https://pypi.org/project/filelock) 3.14.0 → 3.17.0 (A platform independent file lock.) + * [folium](https://pypi.org/project/folium) 0.18.0 → 0.19.5 (Make beautiful maps with Leaflet.js & Python) + * [holoviews](https://pypi.org/project/holoviews) 1.20.0 → 1.20.2 (A high-level plotting API for the PyData ecosystem built on HoloViews.) + * [hpack](https://pypi.org/project/hpack) 4.0.0 → 4.1.0 (Pure-Python HPACK header encoding) + * [huggingface-hub](https://pypi.org/project/huggingface-hub) 0.28.1 → 0.29.3 (Client library to download and publish models, datasets and other repos on the huggingface.co hub) + * [hypercorn](https://pypi.org/project/hypercorn) 0.16.0 → 0.17.3 (A ASGI Server based on Hyper libraries and inspired by Gunicorn) + * [hyperframe](https://pypi.org/project/hyperframe) 6.0.1 → 6.1.0 (Pure-Python HTTP/2 framing) + * [hypothesis](https://pypi.org/project/hypothesis) 6.122.3 → 6.130.4 (A library for property-based testing) + * [idna](https://pypi.org/project/idna) 3.7 → 3.10 (Internationalized Domain Names in Applications (IDNA)) + * [imageio](https://pypi.org/project/imageio) 2.33.1 → 2.37.0 (Library for reading and writing a wide range of image, video, scientific, and volumetric data formats.) + * [importlib-metadata](https://pypi.org/project/importlib-metadata) 7.1.0 → 8.6.1 (Read metadata from Python packages) + * [ipympl](https://pypi.org/project/ipympl) 0.9.6 → 0.9.7 (Matplotlib Jupyter Extension) + * [ipython](https://pypi.org/project/ipython) 8.32.0 → 8.34.0 (IPython: Productive Interactive Computing) + * [ipywidgets](https://pypi.org/project/ipywidgets) 8.1.5 → 8.1.6 (Jupyter interactive widgets) + * [jupyter-client](https://pypi.org/project/jupyter-client) 8.6.2 → 8.6.3 (Jupyter protocol implementation and client libraries) + * [jupyter-events](https://pypi.org/project/jupyter-events) 0.10.0 → 0.12.0 (Jupyter Event System library) + * [jupyterlab](https://pypi.org/project/jupyterlab) 4.3.5 → 4.4.1 (JupyterLab computational environment) + * [jupyterlab-widgets](https://pypi.org/project/jupyterlab-widgets) 3.0.13 → 3.0.14 (Jupyter interactive widgets for JupyterLab) + * [keras](https://pypi.org/project/keras) 3.8.0 → 3.9.2 (Multi-backend Keras) + * [langchain](https://pypi.org/project/langchain) 0.3.18 → 0.3.23 (Building applications with LLMs through composability) + * [langchain-core](https://pypi.org/project/langchain-core) 0.3.34 → 0.3.51 (Building applications with LLMs through composability) + * [langchain-text-splitters](https://pypi.org/project/langchain-text-splitters) 0.3.6 → 0.3.8 (LangChain text splitting utilities) + * [langsmith](https://pypi.org/project/langsmith) 0.2.11 → 0.3.24 (Client library to connect to the LangSmith LLM Tracing and Evaluation Platform.) + * [markdown](https://pypi.org/project/markdown) 3.5.1 → 3.7 (Python implementation of John Gruber's Markdown.) + * [matplotlib](https://pypi.org/project/matplotlib) 3.10.0 → 3.10.1 (Python plotting package) + * [mypy](https://pypi.org/project/mypy) 1.14.0 → 1.15.0 (Optional static typing for Python) + * [mysql-connector-python](https://pypi.org/project/mysql-connector-python) 8.0.21 → 9.2.0 (A self-contained Python driver for communicating with MySQL servers, using an API that is compliant with the Python Database API Specification v) + * [narwhals](https://pypi.org/project/narwhals) 1.21.1 → 1.30.0 (Extremely lightweight compatibility layer between dataframe libraries) + * [notebook](https://pypi.org/project/notebook) 7.3.1 → 7.4.0 (Jupyter Notebook - A web-based notebook environment for interactive computing) + * [numba](https://pypi.org/project/numba) 0.61.0 → 0.61.2 (compiling Python code using LLVM) + * [numpy](https://pypi.org/project/numpy) 2.1.3 → 2.2.4 (Fundamental package for array computing in Python) + * [openai](https://pypi.org/project/openai) 1.61.1 → 1.72.0 (The official Python library for the openai API) + * [opencv-python](https://pypi.org/project/opencv-python) 4.10.0.84 → 4.11.0.86 (Wrapper package for OpenCV python bindings.) + * [optree](https://pypi.org/project/optree) 0.13.1 → 0.14.0 (Optimized PyTree Utilities.) + * [panel](https://pypi.org/project/panel) 1.6.0 → 1.6.2 (The powerful data exploration & web app framework for Python.) + * [param](https://pypi.org/project/param) 2.1.1 → 2.2.0 (Make your Python code clearer and more reliable by declaring Parameters.) + * [pip](https://pypi.org/project/pip) 24.3.1 → 25.0.1 (The PyPA recommended tool for installing Python packages.) + * [platformdirs](https://pypi.org/project/platformdirs) 4.2.2 → 4.3.6 (A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`.) + * [plotly](https://pypi.org/project/plotly) 5.24.1 → 6.0.1 (An open-source interactive data visualization library for Python) + * [polars](https://pypi.org/project/polars) 1.22.0 → 1.27.1 (Blazingly fast DataFrame library) + * [prometheus-client](https://pypi.org/project/prometheus-client) 0.18.0 → 0.21.1 (Python client for the Prometheus monitoring system.) + * [prompt-toolkit](https://pypi.org/project/prompt-toolkit) 3.0.48 → 3.0.50 (Library for building powerful interactive command lines in Python) + * [pyarrow](https://pypi.org/project/pyarrow) 19.0.0 → 19.0.1 (Python library for Apache Arrow) + * [pyasn1](https://pypi.org/project/pyasn1) 0.4.8 → 0.6.1 (Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)) + * [pyasn1-modules](https://pypi.org/project/pyasn1-modules) 0.2.8 → 0.4.1 (A collection of ASN.1-based protocols modules) + * [pyjwt](https://pypi.org/project/pyjwt) 2.8.0 → 2.10.1 (JSON Web Token implementation in Python) + * [pympler](https://pypi.org/project/pympler) 1.0.1 → 1.1 (A development tool to measure, monitor and analyze the memory behavior of Python objects.) + * [pyomo](https://pypi.org/project/pyomo) 6.8.2 → 6.9.1 (Pyomo: Python Optimization Modeling Objects) + * [pypandoc](https://pypi.org/project/pypandoc) 1.5 → 1.15 (Thin wrapper for pandoc.) + * [pytest](https://pypi.org/project/pytest) 8.2.2 → 8.3.4 (pytest: simple powerful testing with Python) + * [Python](http://www.python.org/) 3.12.9 → 3.12.10 (Python programming language with standard library) + * [pytz](https://pypi.org/project/pytz) 2024.1 → 2024.2 (World timezone definitions, modern and historical) + * [pyzmq](https://pypi.org/project/pyzmq) 26.2.0 → 26.2.1 (Python bindings for 0MQ) + * [qtawesome](https://pypi.org/project/qtawesome) 1.3.1 → 1.4.0 (FontAwesome icons in PyQt and PySide applications) + * [qtconsole](https://pypi.org/project/qtconsole) 5.5.2 → 5.6.1 (Jupyter Qt console) + * [quart](https://pypi.org/project/quart) 0.19.4 → 0.20.0 (A Python ASGI web framework with the same API as Flask) + * [rtree](https://pypi.org/project/rtree) 1.1.0 → 1.3.0 (R-Tree spatial index for Python GIS) + * [rx](https://pypi.org/project/rx) 3.1.1 → 3.2.0 (Reactive Extensions (Rx) for Python) + * [scikit-image](https://pypi.org/project/scikit-image) 0.25.0 → 0.25.2 (Image processing in Python) + * [scipy](https://pypi.org/project/scipy) 1.15.1 → 1.15.2 (Fundamental algorithms for scientific computing in Python) + * [send2trash](https://pypi.org/project/send2trash) 1.8.2 → 1.8.3 (Send file to trash natively under Mac OS X, Windows and Linux) + * [setuptools](https://pypi.org/project/setuptools) 75.6.0 → 75.8.2 (Easily download, build, install, upgrade, and uninstall Python packages) + * [simpy](https://pypi.org/project/simpy) 4.0.1 → 4.1.1 (Event discrete, process based simulation for Python.) + * [spyder](https://pypi.org/project/spyder) 5.5.6 → 6.0.5 (The Scientific Python Development Environment) + * [spyder-kernels](https://pypi.org/project/spyder-kernels) 2.5.2 → 3.0.3 (Jupyter kernels for Spyder's console) + * [sqlalchemy](https://pypi.org/project/sqlalchemy) 2.0.35 → 2.0.38 (Database Abstraction Library) + * [starlette](https://pypi.org/project/starlette) 0.41.3 → 0.45.3 (The little ASGI library that shines.) + * [streamlit](https://pypi.org/project/streamlit) 1.41.1 → 1.44.0 (A faster way to build and share data apps) + * [tomli-w](https://pypi.org/project/tomli-w) 1.1.0 → 1.2.0 (A lil' TOML writer) + * [trio](https://pypi.org/project/trio) 0.28.0 → 0.29.0 (A friendly Python library for async concurrency and I/O) + * [twine](https://pypi.org/project/twine) 6.0.1 → 6.1.0 (Collection of utilities for publishing packages on PyPI) + * [widgetsnbextension](https://pypi.org/project/widgetsnbextension) 4.0.13 → 4.0.14 (Jupyter interactive widgets for Jupyter Notebook) + * [winpython](https://pypi.org/project/winpython) 13.1.20250222 → 15.3.20250425 (WinPython distribution tools, including WPPM) + * [xarray](https://pypi.org/project/xarray) 2025.1.1 → 2025.3.0 (N-D labeled arrays and datasets in Python) + * [yt-dlp](https://pypi.org/project/yt-dlp) 2023.7.6 → 2025.2.19 (A feature-rich command-line audio/video downloader) + +Removed packages: + + * [bcrypt](https://pypi.org/project/bcrypt) 4.0.1 (Modern password hashing for your software and your servers) + * [dask_expr](https://pypi.org/project/dask_expr) 1.1.21 (High Level Expressions for Dask ) + * [mutagen](https://pypi.org/project/mutagen) 1.47.0 (read and write audio tags for many formats) + * [paramiko](https://pypi.org/project/paramiko) 2.8.0 (SSH2 protocol library) + * [pint](https://pypi.org/project/pint) 0.23 (Physical quantities module) + * [pkginfo](https://pypi.org/project/pkginfo) 1.11.2 (Query metadata from sdists / bdists / installed packages.) + * [pycryptodomex](https://pypi.org/project/pycryptodomex) 3.20.0 (Cryptographic library for Python) + * [streamz](https://pypi.org/project/streamz) 0.6.3 (Streams) + * [websockets](https://pypi.org/project/websockets) 14.2 (An implementation of the WebSocket Protocol (RFC 6455 & 7692)) + + +
+* * * diff --git a/changelogs/WinPythonslim-64bit-3.13.3.0.md b/changelogs/WinPythonslim-64bit-3.13.3.0.md new file mode 100644 index 00000000..3cc4c6b7 --- /dev/null +++ b/changelogs/WinPythonslim-64bit-3.13.3.0.md @@ -0,0 +1,515 @@ +## WinPython 3.13.3.0slim + +The following packages are included in WinPython-64bit v3.13.3.0slim . + +
+ +### Tools + +Name | Version | Description +-----|---------|------------ +[Pandoc](https://pandoc.org) | 3.1.9 | an universal document converter + +### Python packages + +Name | Version | Description +-----|---------|------------ +[Python](http://www.python.org/) | 3.13.3 | Python programming language with standard library +[absl-py](https://pypi.org/project/absl-py) | 2.0.0 | Abseil Python Common Libraries, see https://github.com/abseil/abseil-py. +[adbc-driver-manager](https://pypi.org/project/adbc-driver-manager) | 1.3.0 | A generic entrypoint for ADBC drivers. +[aiofiles](https://pypi.org/project/aiofiles) | 23.2.1 | File support for asyncio. +[aiohappyeyeballs](https://pypi.org/project/aiohappyeyeballs) | 2.4.4 | Happy Eyeballs for asyncio +[aiohttp](https://pypi.org/project/aiohttp) | 3.11.11 | Async http client/server framework (asyncio) +[aiosignal](https://pypi.org/project/aiosignal) | 1.3.1 | aiosignal: a list of registered asynchronous callbacks +[aiosqlite](https://pypi.org/project/aiosqlite) | 0.20.0 | asyncio bridge to the standard sqlite3 module +[alabaster](https://pypi.org/project/alabaster) | 0.7.16 | A light, configurable Sphinx theme +[alembic](https://pypi.org/project/alembic) | 1.15.1 | A database migration tool for SQLAlchemy. +[altair](https://pypi.org/project/altair) | 5.5.0 | Vega-Altair: A declarative statistical visualization library for Python. +[aniso8601](https://pypi.org/project/aniso8601) | 9.0.1 | A library for parsing ISO 8601 strings. +[annotated-types](https://pypi.org/project/annotated-types) | 0.6.0 | Reusable constraint types to use with typing.Annotated +[ansicolors](https://pypi.org/project/ansicolors) | 1.1.8 | ANSI colors for Python +[anthropic](https://pypi.org/project/anthropic) | 0.49.0 | The official Python library for the anthropic API +[anyio](https://pypi.org/project/anyio) | 4.8.0 | High level compatibility layer for multiple asynchronous event loop implementations +[anywidget](https://pypi.org/project/anywidget) | 0.9.12 | custom jupyter widgets made easy +[appdirs](https://pypi.org/project/appdirs) | 1.4.4 | A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir". +[argon2-cffi](https://pypi.org/project/argon2-cffi) | 23.1.0 | Argon2 for Python +[argon2-cffi-bindings](https://pypi.org/project/argon2-cffi-bindings) | 21.2.0 | Low-level CFFI bindings for Argon2 +[array-api-compat](https://pypi.org/project/array-api-compat) | 1.11.1 | A wrapper around NumPy and other array libraries to make them compatible with the Array API standard +[arrow](https://pypi.org/project/arrow) | 1.3.0 | Better dates & times for Python +[asgi-csrf](https://pypi.org/project/asgi-csrf) | 0.9 | ASGI middleware for protecting against CSRF attacks +[asgiref](https://pypi.org/project/asgiref) | 3.8.1 | ASGI specs, helper code, and adapters +[asn1crypto](https://pypi.org/project/asn1crypto) | 1.5.1 | Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, +[asteval](https://pypi.org/project/asteval) | 0.9.31 | Safe, minimalistic evaluator of python expression using ast module +[astroid](https://pypi.org/project/astroid) | 3.1.0 | An abstract syntax tree for Python with inference support. +[astropy](https://pypi.org/project/astropy) | 6.1.6 | Astronomy and astrophysics core library +[astropy-iers-data](https://pypi.org/project/astropy-iers-data) | 0.2024.12.23.0.33.24 | IERS Earth Rotation and Leap Second tables for the astropy core package +[asttokens](https://pypi.org/project/asttokens) | 2.4.1 | Annotate AST trees with source code positions +[async-lru](https://pypi.org/project/async-lru) | 2.0.4 | Simple LRU cache for asyncio +[asyncssh](https://pypi.org/project/asyncssh) | 2.20.0 | AsyncSSH: Asynchronous SSHv2 client and server library +[atomicwrites](https://pypi.org/project/atomicwrites) | 1.4.0 | Atomic file writes. +[attrs](https://pypi.org/project/attrs) | 23.2.0 | Classes Without Boilerplate +[autopep8](https://pypi.org/project/autopep8) | 2.0.4 | A tool that automatically formats Python code to conform to the PEP 8 style guide +[azure-core](https://pypi.org/project/azure-core) | 1.32.0 | Microsoft Azure Core Library for Python +[azure-cosmos](https://pypi.org/project/azure-cosmos) | 4.9.0 | Microsoft Azure Cosmos Client Library for Python +[azure-identity](https://pypi.org/project/azure-identity) | 1.21.0 | Microsoft Azure Identity Library for Python +[babel](https://pypi.org/project/babel) | 2.16.0 | Internationalization utilities +[baresql](https://pypi.org/project/baresql) | 1.0.0 | playing SQL directly on Python datas +[beautifulsoup4](https://pypi.org/project/beautifulsoup4) | 4.12.2 | Screen-scraping library +[binaryornot](https://pypi.org/project/binaryornot) | 0.4.4 | Ultra-lightweight pure Python package to check if a file is binary or text. +[black](https://pypi.org/project/black) | 25.1.0 | The uncompromising code formatter. +[bleach](https://pypi.org/project/bleach) | 6.1.0 | An easy safelist-based HTML-sanitizing tool. +[blinker](https://pypi.org/project/blinker) | 1.9.0 | Fast, simple object-to-object and broadcast signaling +[bokeh](https://pypi.org/project/bokeh) | 3.7.2 | Interactive plots and applications in the browser from Python +[branca](https://pypi.org/project/branca) | 0.8.0 | Generate complex HTML+JS pages with Python +[brotli](https://pypi.org/project/brotli) | 1.1.0 | Python bindings for the Brotli compression library +[build](https://pypi.org/project/build) | 1.2.2.post1 | A simple, correct Python build frontend +[cachetools](https://pypi.org/project/cachetools) | 5.5.2 | Extensible memoizing collections and decorators +[certifi](https://pypi.org/project/certifi) | 2025.1.31 | Python package for providing Mozilla's CA Bundle. +[cffi](https://pypi.org/project/cffi) | 1.17.1 | Foreign Function Interface for Python calling C code. +[chardet](https://pypi.org/project/chardet) | 5.2.0 | Universal encoding detector for Python 3 +[charset-normalizer](https://pypi.org/project/charset-normalizer) | 3.4.0 | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. +[clarabel](https://pypi.org/project/clarabel) | 0.10.0 | Clarabel Conic Interior Point Solver for Rust / Python +[click](https://pypi.org/project/click) | 8.1.8 | Composable command line interface toolkit +[click-default-group](https://pypi.org/project/click-default-group) | 1.2.4 | click_default_group +[cloudpickle](https://pypi.org/project/cloudpickle) | 3.1.1 | Pickler class to extend the standard pickle.Pickler functionality +[cohere](https://pypi.org/project/cohere) | 5.13.12 | +[colorama](https://pypi.org/project/colorama) | 0.4.6 | Cross-platform colored terminal text. +[colorcet](https://pypi.org/project/colorcet) | 3.1.0 | Collection of perceptually uniform colormaps +[colorlog](https://pypi.org/project/colorlog) | 6.8.2 | Add colours to the output of Python's logging module. +[comm](https://pypi.org/project/comm) | 0.2.2 | Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc. +[contourpy](https://pypi.org/project/contourpy) | 1.3.1 | Python library for calculating contours of 2D quadrilateral grids +[cookiecutter](https://pypi.org/project/cookiecutter) | 2.6.0 | A command-line utility that creates projects from project templates, e.g. +[cryptography](https://pypi.org/project/cryptography) | 44.0.0 | cryptography is a package which provides cryptographic recipes and primitives to Python developers. +[cvxopt](https://pypi.org/project/cvxopt) | 1.3.2 | Convex optimization package +[cvxpy](https://pypi.org/project/cvxpy) | 1.6.4 | A domain-specific language for modeling convex optimization problems in Python. +[cycler](https://pypi.org/project/cycler) | 0.12.1 | Composable style cycles +[cython](https://pypi.org/project/cython) | 3.0.12 | The Cython compiler for writing C extensions in the Python language. +[cytoolz](https://pypi.org/project/cytoolz) | 1.0.1 | Cython implementation of Toolz: High performance functional utilities +[dask](https://pypi.org/project/dask) | 2025.3.0 | Parallel PyData with Task Scheduling +[datasette](https://pypi.org/project/datasette) | 0.65.1 | An open source multi-tool for exploring and publishing data +[datasette-graphql](https://pypi.org/project/datasette-graphql) | 2.2 | Datasette plugin providing an automatic GraphQL API for your SQLite databases +[datashader](https://pypi.org/project/datashader) | 0.17.0 | Data visualization toolchain based on aggregating into a grid +[deap](https://pypi.org/project/deap) | 1.4.2 | Distributed Evolutionary Algorithms in Python +[debugpy](https://pypi.org/project/debugpy) | 1.8.0 | An implementation of the Debug Adapter Protocol for Python +[decorator](https://pypi.org/project/decorator) | 5.1.1 | Decorators for Humans +[defusedxml](https://pypi.org/project/defusedxml) | 0.7.1 | XML bomb protection for Python stdlib modules +[deprecated](https://pypi.org/project/deprecated) | 1.2.14 | Python @deprecated decorator to deprecate old python classes, functions or methods. +[diff-match-patch](https://pypi.org/project/diff-match-patch) | 20241021 | Repackaging of Google's Diff Match and Patch libraries. +[dill](https://pypi.org/project/dill) | 0.3.9 | serialize all of Python +[distributed](https://pypi.org/project/distributed) | 2025.3.0 | Distributed scheduler for Dask +[distro](https://pypi.org/project/distro) | 1.8.0 | Distro - an OS platform information API +[django](https://pypi.org/project/django) | 5.0.7 | A high-level Python web framework that encourages rapid development and clean, pragmatic design. +[dnspython](https://pypi.org/project/dnspython) | 2.6.1 | DNS toolkit +[docstring-to-markdown](https://pypi.org/project/docstring-to-markdown) | 0.15 | On the fly conversion of Python docstrings to markdown +[docutils](https://pypi.org/project/docutils) | 0.21.2 | Docutils -- Python Documentation Utilities +[duckdb](https://pypi.org/project/duckdb) | 1.2.2 | DuckDB in-process database +[entrypoints](https://pypi.org/project/entrypoints) | 0.4 | Discover and load entry points from installed packages. +[et-xmlfile](https://pypi.org/project/et-xmlfile) | 1.1.0 | An implementation of lxml.xmlfile for the standard library +[eval-type-backport](https://pypi.org/project/eval-type-backport) | 0.2.2 | Like `typing._eval_type`, but lets older Python versions use newer typing features. +[executing](https://pypi.org/project/executing) | 2.2.0 | Get the currently executing AST node of a frame, and other information +[faker](https://pypi.org/project/faker) | 36.1.1 | Faker is a Python package that generates fake data for you. +[fast-histogram](https://pypi.org/project/fast-histogram) | 0.14 | Fast simple 1D and 2D histograms +[fastapi](https://pypi.org/project/fastapi) | 0.115.8 | FastAPI framework, high performance, easy to learn, fast to code, ready for production +[fastavro](https://pypi.org/project/fastavro) | 1.10.0 | Fast read/write of AVRO files +[fastjsonschema](https://pypi.org/project/fastjsonschema) | 2.18.0 | Fastest Python implementation of JSON schema +[filelock](https://pypi.org/project/filelock) | 3.17.0 | A platform independent file lock. +[flake8](https://pypi.org/project/flake8) | 7.1.1 | the modular source code checker: pep8 pyflakes and co +[flask](https://pypi.org/project/flask) | 3.1.0 | A simple framework for building complex web applications. +[flexcache](https://pypi.org/project/flexcache) | 0.3 | Saves and loads to the cache a transformed versions of a source object. +[flexparser](https://pypi.org/project/flexparser) | 0.4 | Parsing made fun ... using typing. +[flit](https://pypi.org/project/flit) | 3.10.1 | A simple packaging tool for simple packages. +[flit-core](https://pypi.org/project/flit-core) | 3.10.1 | Distribution-building parts of Flit. See flit package for more information +[folium](https://pypi.org/project/folium) | 0.19.5 | Make beautiful maps with Leaflet.js & Python +[fonttools](https://pypi.org/project/fonttools) | 4.55.3 | Tools to manipulate font files +[fqdn](https://pypi.org/project/fqdn) | 1.5.1 | Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers +[frozenlist](https://pypi.org/project/frozenlist) | 1.5.0 | A list-like structure which implements collections.abc.MutableSequence +[fsspec](https://pypi.org/project/fsspec) | 2024.6.1 | File-system specification +[fuzzywuzzy](https://pypi.org/project/fuzzywuzzy) | 0.18.0 | Fuzzy string matching in python +[geographiclib](https://pypi.org/project/geographiclib) | 2.0 | The geodesic routines from GeographicLib +[geopandas](https://pypi.org/project/geopandas) | 1.0.1 | Geographic pandas extensions +[geopy](https://pypi.org/project/geopy) | 2.4.1 | Python Geocoding Toolbox +[gitdb](https://pypi.org/project/gitdb) | 4.0.10 | Git Object Database +[gitpython](https://pypi.org/project/gitpython) | 3.1.32 | GitPython is a Python library used to interact with Git repositories +[google-auth](https://pypi.org/project/google-auth) | 2.37.0 | Google Authentication Library +[graphene](https://pypi.org/project/graphene) | 3.3 | GraphQL Framework for Python +[graphql-core](https://pypi.org/project/graphql-core) | 3.2.3 | GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL. +[graphql-relay](https://pypi.org/project/graphql-relay) | 3.2.0 | Relay library for graphql-core +[greenlet](https://pypi.org/project/greenlet) | 3.1.1 | Lightweight in-process concurrent programming +[griffe](https://pypi.org/project/griffe) | 1.5.5 | Signatures for entire Python programs. +[groq](https://pypi.org/project/groq) | 0.13.1 | The official Python library for the groq API +[guidata](https://pypi.org/project/guidata) | 3.7.1 | Automatic GUI generation for easy dataset editing and display +[h11](https://pypi.org/project/h11) | 0.14.0 | A pure-Python, bring-your-own-I/O implementation of HTTP/1.1 +[h2](https://pypi.org/project/h2) | 4.1.0 | HTTP/2 State-Machine based protocol implementation +[h5py](https://pypi.org/project/h5py) | 3.12.1 | Read and write HDF5 files from Python +[hatchling](https://pypi.org/project/hatchling) | 1.27.0 | Modern, extensible Python build backend +[holoviews](https://pypi.org/project/holoviews) | 1.20.2 | A high-level plotting API for the PyData ecosystem built on HoloViews. +[hpack](https://pypi.org/project/hpack) | 4.1.0 | Pure-Python HPACK header encoding +[html5lib](https://pypi.org/project/html5lib) | 1.1 | HTML parser based on the WHATWG HTML specification +[httpcore](https://pypi.org/project/httpcore) | 1.0.5 | A minimal low-level HTTP client. +[httpie](https://pypi.org/project/httpie) | 3.2.4 | HTTPie: modern, user-friendly command-line HTTP client for the API era. +[httpx](https://pypi.org/project/httpx) | 0.27.2 | The next generation HTTP client. +[httpx-sse](https://pypi.org/project/httpx-sse) | 0.4.0 | Consume Server-Sent Event (SSE) messages with HTTPX. +[huggingface-hub](https://pypi.org/project/huggingface-hub) | 0.29.3 | Client library to download and publish models, datasets and other repos on the huggingface.co hub +[hupper](https://pypi.org/project/hupper) | 1.12 | Integrated process monitor for developing and reloading daemons. +[hvplot](https://pypi.org/project/hvplot) | 0.11.2 | A high-level plotting API for the PyData ecosystem built on HoloViews. +[hypercorn](https://pypi.org/project/hypercorn) | 0.17.3 | A ASGI Server based on Hyper libraries and inspired by Gunicorn +[hyperframe](https://pypi.org/project/hyperframe) | 6.1.0 | Pure-Python HTTP/2 framing +[hypothesis](https://pypi.org/project/hypothesis) | 6.130.4 | A library for property-based testing +[id](https://pypi.org/project/id) | 1.5.0 | A tool for generating OIDC identities +[idna](https://pypi.org/project/idna) | 3.10 | Internationalized Domain Names in Applications (IDNA) +[imageio](https://pypi.org/project/imageio) | 2.37.0 | Library for reading and writing a wide range of image, video, scientific, and volumetric data formats. +[imagesize](https://pypi.org/project/imagesize) | 1.4.1 | Getting image size from png/jpeg/jpeg2000/gif file +[imbalanced-learn](https://pypi.org/project/imbalanced-learn) | 0.13.0 | Toolbox for imbalanced dataset in machine learning +[importlib-metadata](https://pypi.org/project/importlib-metadata) | 8.6.1 | Read metadata from Python packages +[inflection](https://pypi.org/project/inflection) | 0.5.1 | A port of Ruby on Rails inflector to Python +[iniconfig](https://pypi.org/project/iniconfig) | 2.0.0 | brain-dead simple config-ini parsing +[intervaltree](https://pypi.org/project/intervaltree) | 3.0.2 | Editable interval tree data structure for Python 2 and 3 +[ipycanvas](https://pypi.org/project/ipycanvas) | 0.13.3 | Interactive widgets library exposing the browser's Canvas API +[ipykernel](https://pypi.org/project/ipykernel) | 6.29.5 | IPython Kernel for Jupyter +[ipyleaflet](https://pypi.org/project/ipyleaflet) | 0.19.2 | A Jupyter widget for dynamic Leaflet maps +[ipympl](https://pypi.org/project/ipympl) | 0.9.7 | Matplotlib Jupyter Extension +[ipython](https://pypi.org/project/ipython) | 8.34.0 | IPython: Productive Interactive Computing +[ipython-genutils](https://pypi.org/project/ipython-genutils) | 0.2.0 | Vestigial utilities from IPython +[ipython-sql](https://pypi.org/project/ipython-sql) | 0.5.0 | RDBMS access via IPython +[ipywidgets](https://pypi.org/project/ipywidgets) | 8.1.6 | Jupyter interactive widgets +[isoduration](https://pypi.org/project/isoduration) | 20.11.0 | Operations with ISO 8601 durations +[isort](https://pypi.org/project/isort) | 5.13.2 | A Python utility / library to sort Python imports. +[itsdangerous](https://pypi.org/project/itsdangerous) | 2.2.0 | Safely pass data to untrusted environments and back. +[janus](https://pypi.org/project/janus) | 2.0.0 | Mixed sync-async queue to interoperate between asyncio tasks and classic threads +[jaraco-classes](https://pypi.org/project/jaraco-classes) | 3.4.0 | Utility functions for Python class constructs +[jaraco-context](https://pypi.org/project/jaraco-context) | 6.0.1 | Useful decorators and context managers +[jaraco-functools](https://pypi.org/project/jaraco-functools) | 4.1.0 | Functools like those found in stdlib +[jedi](https://pypi.org/project/jedi) | 0.19.2 | An autocompletion tool for Python that can be used for text editors. +[jellyfish](https://pypi.org/project/jellyfish) | 1.1.3 | Approximate and phonetic matching of strings. +[jinja2](https://pypi.org/project/jinja2) | 3.1.2 | A very fast and expressive template engine. +[jiter](https://pypi.org/project/jiter) | 0.8.2 | Fast iterable JSON parser. +[joblib](https://pypi.org/project/joblib) | 1.4.2 | Lightweight pipelining with Python functions +[json5](https://pypi.org/project/json5) | 0.9.14 | A Python implementation of the JSON5 data format. +[jsonpatch](https://pypi.org/project/jsonpatch) | 1.33 | Apply JSON-Patches (RFC 6902) +[jsonpath-python](https://pypi.org/project/jsonpath-python) | 1.0.6 | A more powerful JSONPath implementation in modern python +[jsonpointer](https://pypi.org/project/jsonpointer) | 2.4 | Identify specific nodes in a JSON document (RFC 6901) +[jsonschema](https://pypi.org/project/jsonschema) | 4.19.2 | An implementation of JSON Schema validation for Python +[jsonschema-specifications](https://pypi.org/project/jsonschema-specifications) | 2023.12.1 | The JSON Schema meta-schemas and vocabularies, exposed as a Registry +[julia](https://pypi.org/project/julia) | 0.6.2 | Julia/Python bridge with IPython support. +[jupyter](https://pypi.org/project/jupyter) | 1.1.1 | Jupyter metapackage. Install all the Jupyter components in one go. +[jupyter-bokeh](https://pypi.org/project/jupyter-bokeh) | 4.0.5 | A Jupyter extension for rendering Bokeh content. +[jupyter-client](https://pypi.org/project/jupyter-client) | 8.6.3 | Jupyter protocol implementation and client libraries +[jupyter-console](https://pypi.org/project/jupyter-console) | 6.6.3 | Jupyter terminal console +[jupyter-core](https://pypi.org/project/jupyter-core) | 5.7.2 | Jupyter core package. A base package on which Jupyter projects rely. +[jupyter-events](https://pypi.org/project/jupyter-events) | 0.12.0 | Jupyter Event System library +[jupyter-leaflet](https://pypi.org/project/jupyter-leaflet) | 0.19.2 | ipyleaflet extensions for JupyterLab and Jupyter Notebook +[jupyter-lsp](https://pypi.org/project/jupyter-lsp) | 2.2.5 | Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server +[jupyter-server](https://pypi.org/project/jupyter-server) | 2.14.2 | The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications. +[jupyter-server-terminals](https://pypi.org/project/jupyter-server-terminals) | 0.5.3 | A Jupyter Server Extension Providing Terminals. +[jupyterlab](https://pypi.org/project/jupyterlab) | 4.4.1 | JupyterLab computational environment +[jupyterlab-pygments](https://pypi.org/project/jupyterlab-pygments) | 0.3.0 | Pygments theme using JupyterLab CSS variables +[jupyterlab-server](https://pypi.org/project/jupyterlab-server) | 2.27.3 | A set of server components for JupyterLab and JupyterLab like applications. +[jupyterlab-widgets](https://pypi.org/project/jupyterlab-widgets) | 3.0.14 | Jupyter interactive widgets for JupyterLab +[keras](https://pypi.org/project/keras) | 3.9.2 | Multi-backend Keras +[keyring](https://pypi.org/project/keyring) | 25.6.0 | Store and access your passwords safely. +[kiwisolver](https://pypi.org/project/kiwisolver) | 1.4.8 | A fast implementation of the Cassowary constraint solver +[langchain](https://pypi.org/project/langchain) | 0.3.23 | Building applications with LLMs through composability +[langchain-core](https://pypi.org/project/langchain-core) | 0.3.51 | Building applications with LLMs through composability +[langchain-text-splitters](https://pypi.org/project/langchain-text-splitters) | 0.3.8 | LangChain text splitting utilities +[langsmith](https://pypi.org/project/langsmith) | 0.3.24 | Client library to connect to the LangSmith LLM Tracing and Evaluation Platform. +[lazy-loader](https://pypi.org/project/lazy-loader) | 0.4 | Makes it easy to load subpackages and functions on demand. +[linkify-it-py](https://pypi.org/project/linkify-it-py) | 2.0.2 | Links recognition library with FULL unicode support. +[llvmlite](https://pypi.org/project/llvmlite) | 0.44.0 | lightweight wrapper around basic LLVM functionality +[lmfit](https://pypi.org/project/lmfit) | 1.3.1 | Least-Squares Minimization with Bounds and Constraints +[locket](https://pypi.org/project/locket) | 1.0.0 | File-based locks for Python on Linux and Windows +[logfire-api](https://pypi.org/project/logfire-api) | 3.5.3 | Shim for the Logfire SDK which does nothing unless Logfire is installed +[lxml](https://pypi.org/project/lxml) | 5.3.0 | Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. +[mako](https://pypi.org/project/mako) | 1.3.5 | A super-fast templating language that borrows the best ideas from the existing templating languages. +[markdown](https://pypi.org/project/markdown) | 3.7 | Python implementation of John Gruber's Markdown. +[markdown-it-py](https://pypi.org/project/markdown-it-py) | 2.2.0 | Python port of markdown-it. Markdown parsing, done right! +[markupsafe](https://pypi.org/project/markupsafe) | 3.0.2 | Safely add untrusted strings to HTML/XML markup. +[matplotlib](https://pypi.org/project/matplotlib) | 3.10.1 | Python plotting package +[matplotlib-inline](https://pypi.org/project/matplotlib-inline) | 0.1.7 | Inline Matplotlib backend for Jupyter +[maturin](https://pypi.org/project/maturin) | 1.8.1 | Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages +[mccabe](https://pypi.org/project/mccabe) | 0.7.0 | McCabe checker, plugin for flake8 +[mdit-py-plugins](https://pypi.org/project/mdit-py-plugins) | 0.3.5 | Collection of plugins for markdown-it-py +[mdurl](https://pypi.org/project/mdurl) | 0.1.2 | Markdown URL utilities +[mercantile](https://pypi.org/project/mercantile) | 1.2.1 | Web mercator XYZ tile utilities +[mergedeep](https://pypi.org/project/mergedeep) | 1.3.4 | A deep merge function for 🐍. +[missingno](https://pypi.org/project/missingno) | 0.5.1 | Missing data visualization module for Python. +[mistralai](https://pypi.org/project/mistralai) | 1.2.5 | Python Client SDK for the Mistral AI API. +[mistune](https://pypi.org/project/mistune) | 2.0.5 | A sane Markdown parser with useful plugins and renderers +[mizani](https://pypi.org/project/mizani) | 0.11.4 | Scales for Python +[ml-dtypes](https://pypi.org/project/ml-dtypes) | 0.5.0 | +[mlxtend](https://pypi.org/project/mlxtend) | 0.23.3 | Machine Learning Library Extensions +[more-itertools](https://pypi.org/project/more-itertools) | 10.2.0 | More routines for operating on iterables, beyond itertools +[mpl-scatter-density](https://pypi.org/project/mpl-scatter-density) | 0.7 | Matplotlib helpers to make density scatter plots +[mpld3](https://pypi.org/project/mpld3) | 0.5.8 | D3 Viewer for Matplotlib +[mpmath](https://pypi.org/project/mpmath) | 1.3.0 | Python library for arbitrary-precision floating-point arithmetic +[msal](https://pypi.org/project/msal) | 1.30.0 | The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of us +[msal-extensions](https://pypi.org/project/msal-extensions) | 1.2.0 | Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS an +[msgpack](https://pypi.org/project/msgpack) | 1.1.0 | MessagePack serializer +[multidict](https://pypi.org/project/multidict) | 6.1.0 | multidict implementation +[multipledispatch](https://pypi.org/project/multipledispatch) | 1.0.0 | Multiple dispatch +[mypy](https://pypi.org/project/mypy) | 1.15.0 | Optional static typing for Python +[mypy-extensions](https://pypi.org/project/mypy-extensions) | 1.0.0 | Type system extensions for programs checked with the mypy type checker. +[mysql-connector-python](https://pypi.org/project/mysql-connector-python) | 9.2.0 | A self-contained Python driver for communicating with MySQL servers, using an API that is compliant with the Python Database API Specification v +[namex](https://pypi.org/project/namex) | 0.0.8 | A simple utility to separate the implementation of your Python package and its public API surface. +[narwhals](https://pypi.org/project/narwhals) | 1.30.0 | Extremely lightweight compatibility layer between dataframe libraries +[nbclient](https://pypi.org/project/nbclient) | 0.10.0 | A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor. +[nbconvert](https://pypi.org/project/nbconvert) | 7.16.1 | Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. +[nbformat](https://pypi.org/project/nbformat) | 5.10.4 | The Jupyter Notebook format +[nest-asyncio](https://pypi.org/project/nest-asyncio) | 1.6.0 | Patch asyncio to allow nested event loops +[networkx](https://pypi.org/project/networkx) | 3.4.2 | Python package for creating and manipulating graphs and networks +[nh3](https://pypi.org/project/nh3) | 0.2.18 | Python bindings to the ammonia HTML sanitization library. +[nltk](https://pypi.org/project/nltk) | 3.9.1 | Natural Language Toolkit +[notebook](https://pypi.org/project/notebook) | 7.4.0 | Jupyter Notebook - A web-based notebook environment for interactive computing +[notebook-shim](https://pypi.org/project/notebook-shim) | 0.2.4 | A shim layer for notebook traits and config +[numba](https://pypi.org/project/numba) | 0.61.2 | compiling Python code using LLVM +[numpy](https://pypi.org/project/numpy) | 2.2.4 | Fundamental package for array computing in Python +[numpydoc](https://pypi.org/project/numpydoc) | 1.6.0 | Sphinx extension to support docstrings in Numpy format +[openai](https://pypi.org/project/openai) | 1.72.0 | The official Python library for the openai API +[opencv-python](https://pypi.org/project/opencv-python) | 4.11.0.86 | Wrapper package for OpenCV python bindings. +[openpyxl](https://pypi.org/project/openpyxl) | 3.1.2 | A Python library to read/write Excel 2010 xlsx/xlsm files +[optree](https://pypi.org/project/optree) | 0.14.0 | Optimized PyTree Utilities. +[optuna](https://pypi.org/project/optuna) | 3.6.1 | A hyperparameter optimization framework +[orjson](https://pypi.org/project/orjson) | 3.10.12 | Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy +[osqp](https://pypi.org/project/osqp) | 0.6.7.post3 | OSQP: The Operator Splitting QP Solver +[outcome](https://pypi.org/project/outcome) | 1.3.0.post0 | Capture the outcome of Python function calls. +[overrides](https://pypi.org/project/overrides) | 7.7.0 | A decorator to automatically detect mismatch when overriding a method. +[packaging](https://pypi.org/project/packaging) | 24.2 | Core utilities for Python packages +[pandas](https://pypi.org/project/pandas) | 2.2.3 | Powerful data structures for data analysis, time series, and statistics +[pandocfilters](https://pypi.org/project/pandocfilters) | 1.5.0 | Utilities for writing pandoc filters in python +[panel](https://pypi.org/project/panel) | 1.6.2 | The powerful data exploration & web app framework for Python. +[papermill](https://pypi.org/project/papermill) | 2.6.0 | Parameterize and run Jupyter and nteract Notebooks +[param](https://pypi.org/project/param) | 2.2.0 | Make your Python code clearer and more reliable by declaring Parameters. +[parso](https://pypi.org/project/parso) | 0.8.4 | A Python Parser +[partd](https://pypi.org/project/partd) | 1.4.0 | Appendable key-value storage +[pathspec](https://pypi.org/project/pathspec) | 0.11.0 | Utility library for gitignore style pattern matching of file paths. +[patsy](https://pypi.org/project/patsy) | 0.5.6 | A Python package for describing statistical models and for building design matrices. +[pep8](https://pypi.org/project/pep8) | 1.7.1 | Python style guide checker +[pexpect](https://pypi.org/project/pexpect) | 4.8.0 | Pexpect allows easy control of interactive console applications. +[pg8000](https://pypi.org/project/pg8000) | 1.23.0 | PostgreSQL interface library +[pickleshare](https://pypi.org/project/pickleshare) | 0.7.5 | Tiny 'shelve'-like database with concurrency support +[pillow](https://pypi.org/project/pillow) | 11.1.0 | Python Imaging Library (Fork) +[pip](https://pypi.org/project/pip) | 25.0.1 | The PyPA recommended tool for installing Python packages. +[platformdirs](https://pypi.org/project/platformdirs) | 4.3.6 | A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`. +[plotly](https://pypi.org/project/plotly) | 6.0.1 | An open-source interactive data visualization library for Python +[plotnine](https://pypi.org/project/plotnine) | 0.13.6 | A Grammar of Graphics for Python +[plotpy](https://pypi.org/project/plotpy) | 2.7.2 | Curve and image plotting tools for Python/Qt applications +[pluggy](https://pypi.org/project/pluggy) | 1.5.0 | plugin and hook calling mechanisms for python +[ply](https://pypi.org/project/ply) | 3.11 | Python Lex & Yacc +[polars](https://pypi.org/project/polars) | 1.27.1 | Blazingly fast DataFrame library +[portalocker](https://pypi.org/project/portalocker) | 2.7.0 | Wraps the portalocker recipe for easy usage +[prettytable](https://pypi.org/project/prettytable) | 3.3.0 | A simple Python library for easily displaying tabular data in a visually appealing ASCII table format +[prince](https://pypi.org/project/prince) | 0.15.0 | Factor analysis in Python: PCA, CA, MCA, MFA, FAMD, GPA +[priority](https://pypi.org/project/priority) | 2.0.0 | A pure-Python implementation of the HTTP/2 priority tree +[prometheus-client](https://pypi.org/project/prometheus-client) | 0.21.1 | Python client for the Prometheus monitoring system. +[prompt-toolkit](https://pypi.org/project/prompt-toolkit) | 3.0.50 | Library for building powerful interactive command lines in Python +[propcache](https://pypi.org/project/propcache) | 0.2.1 | Accelerated property cache +[protobuf](https://pypi.org/project/protobuf) | 5.27.3 | +[psutil](https://pypi.org/project/psutil) | 5.9.8 | Cross-platform lib for process and system monitoring in Python. +[psygnal](https://pypi.org/project/psygnal) | 0.11.1 | Fast python callback/event system modeled after Qt Signals +[ptpython](https://pypi.org/project/ptpython) | 3.0.29 | Python REPL build on top of prompt_toolkit +[ptyprocess](https://pypi.org/project/ptyprocess) | 0.7.0 | Run a subprocess in a pseudo terminal +[pure-eval](https://pypi.org/project/pure-eval) | 0.2.2 | Safely evaluate AST nodes without side effects +[pyarrow](https://pypi.org/project/pyarrow) | 19.0.1 | Python library for Apache Arrow +[pyasn1](https://pypi.org/project/pyasn1) | 0.6.1 | Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208) +[pyasn1-modules](https://pypi.org/project/pyasn1-modules) | 0.4.1 | A collection of ASN.1-based protocols modules +[pybind11](https://pypi.org/project/pybind11) | 2.13.6 | Seamless operability between C++11 and Python +[pycodestyle](https://pypi.org/project/pycodestyle) | 2.12.0 | Python style guide checker +[pycparser](https://pypi.org/project/pycparser) | 2.22 | C parser in Python +[pyct](https://pypi.org/project/pyct) | 0.5.0 | Python package common tasks for users (e.g. copy examples, fetch data, ...) +[pydantic](https://pypi.org/project/pydantic) | 2.10.6 | Data validation using Python type hints +[pydantic-ai](https://pypi.org/project/pydantic-ai) | 0.0.24 | Agent Framework / shim to use Pydantic with LLMs +[pydantic-ai-slim](https://pypi.org/project/pydantic-ai-slim) | 0.0.24 | Agent Framework / shim to use Pydantic with LLMs, slim package +[pydantic-core](https://pypi.org/project/pydantic-core) | 2.27.2 | Core functionality for Pydantic validation and serialization +[pydantic-graph](https://pypi.org/project/pydantic-graph) | 0.0.24 | Graph and state machine library +[pydeck](https://pypi.org/project/pydeck) | 0.9.1 | Widget for deck.gl maps +[pydocstyle](https://pypi.org/project/pydocstyle) | 6.3.0 | Python docstring style checker +[pydub](https://pypi.org/project/pydub) | 0.25.1 | Manipulate audio with an simple and easy high level interface +[pyerfa](https://pypi.org/project/pyerfa) | 2.0.1.4 | Python bindings for ERFA +[pyflakes](https://pypi.org/project/pyflakes) | 3.2.0 | passive checker of Python programs +[pygithub](https://pypi.org/project/pygithub) | 2.6.1 | Use the full Github API v3 +[pygments](https://pypi.org/project/pygments) | 2.19.1 | Pygments is a syntax highlighting package written in Python. +[pyjwt](https://pypi.org/project/pyjwt) | 2.10.1 | JSON Web Token implementation in Python +[pylint](https://pypi.org/project/pylint) | 3.1.0 | python code static checker +[pylint-venv](https://pypi.org/project/pylint-venv) | 3.0.3 | pylint-venv provides a Pylint init-hook to use the same Pylint installation with different virtual environments. +[pyls-spyder](https://pypi.org/project/pyls-spyder) | 0.4.0 | Spyder extensions for the python-lsp-server +[pymongo](https://pypi.org/project/pymongo) | 4.10.1 | Python driver for MongoDB +[pympler](https://pypi.org/project/pympler) | 1.1 | A development tool to measure, monitor and analyze the memory behavior of Python objects. +[pynacl](https://pypi.org/project/pynacl) | 1.5.0 | Python binding to the Networking and Cryptography (NaCl) library +[pynndescent](https://pypi.org/project/pynndescent) | 0.5.12 | Nearest Neighbor Descent +[pyodbc](https://pypi.org/project/pyodbc) | 5.2.0 | DB API module for ODBC +[pyogrio](https://pypi.org/project/pyogrio) | 0.10.0 | Vectorized spatial vector file format I/O using GDAL/OGR +[pyomo](https://pypi.org/project/pyomo) | 6.9.1 | Pyomo: Python Optimization Modeling Objects +[pypandoc](https://pypi.org/project/pypandoc) | 1.15 | Thin wrapper for pandoc. +[pyparsing](https://pypi.org/project/pyparsing) | 3.2.1 | pyparsing module - Classes and methods to define and execute parsing grammars +[pypdf](https://pypi.org/project/pypdf) | 5.1.0 | A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files +[pyproj](https://pypi.org/project/pyproj) | 3.7.0 | Python interface to PROJ (cartographic projections and coordinate transformations library) +[pyproject-hooks](https://pypi.org/project/pyproject-hooks) | 1.1.0 | Wrappers to call pyproject.toml-based build backend hooks. +[pyqt5](https://pypi.org/project/pyqt5) | 5.15.10 | Python bindings for the Qt cross platform application toolkit +[pyqt5-qt5](https://pypi.org/project/pyqt5-qt5) | 5.15.2 | The subset of a Qt installation needed by PyQt5. +[pyqt5-sip](https://pypi.org/project/pyqt5-sip) | 12.16.1 | The sip module support for PyQt5 +[pyqtgraph](https://pypi.org/project/pyqtgraph) | 0.13.7 | Scientific Graphics and GUI Library for Python +[pyqtwebengine](https://pypi.org/project/pyqtwebengine) | 5.15.6 | Python bindings for the Qt WebEngine framework +[pyqtwebengine-qt5](https://pypi.org/project/pyqtwebengine-qt5) | 5.15.2 | The subset of a Qt installation needed by PyQtWebEngine. +[pyserial](https://pypi.org/project/pyserial) | 3.5 | Python Serial Port Extension +[pysocks](https://pypi.org/project/pysocks) | 1.7.1 | A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information. +[pyspnego](https://pypi.org/project/pyspnego) | 0.11.2 | Windows Negotiate Authentication Client and Server +[pytest](https://pypi.org/project/pytest) | 8.3.4 | pytest: simple powerful testing with Python +[python-barcode](https://pypi.org/project/python-barcode) | 0.15.1 | Create standard barcodes with Python. No external modules needed. (optional Pillow support included). +[python-dateutil](https://pypi.org/project/python-dateutil) | 2.8.2 | Extensions to the standard Python datetime module +[python-dotenv](https://pypi.org/project/python-dotenv) | 1.0.1 | Read key-value pairs from a .env file and set them as environment variables +[python-json-logger](https://pypi.org/project/python-json-logger) | 2.0.7 | A python library adding a json log formatter +[python-lsp-black](https://pypi.org/project/python-lsp-black) | 2.0.0 | Black plugin for the Python LSP Server +[python-lsp-jsonrpc](https://pypi.org/project/python-lsp-jsonrpc) | 1.1.2 | JSON RPC 2.0 server library +[python-lsp-server](https://pypi.org/project/python-lsp-server) | 1.12.0 | Python Language Server for the Language Server Protocol +[python-multipart](https://pypi.org/project/python-multipart) | 0.0.9 | A streaming multipart parser for Python +[python-slugify](https://pypi.org/project/python-slugify) | 8.0.4 | A Python slugify application that also handles Unicode +[pythonqwt](https://pypi.org/project/pythonqwt) | 0.14.4 | Qt plotting widgets for Python +[pytoolconfig](https://pypi.org/project/pytoolconfig) | 1.3.1 | Python tool configuration +[pytz](https://pypi.org/project/pytz) | 2024.2 | World timezone definitions, modern and historical +[pyuca](https://pypi.org/project/pyuca) | 1.2 | a Python implementation of the Unicode Collation Algorithm +[pyusb](https://pypi.org/project/pyusb) | 1.3.1 | Easy USB access for Python +[pyviz-comms](https://pypi.org/project/pyviz-comms) | 3.0.3 | A JupyterLab extension for rendering HoloViz content. +[pywavelets](https://pypi.org/project/pywavelets) | 1.8.0 | PyWavelets, wavelet transform module +[pywin32](https://pypi.org/project/pywin32) | 308 | Python for Window Extensions +[pywin32-ctypes](https://pypi.org/project/pywin32-ctypes) | 0.2.2 | A (partial) reimplementation of pywin32 using ctypes/cffi +[pywinpty](https://pypi.org/project/pywinpty) | 2.0.14 | Pseudo terminal support for Windows from Python. +[pyyaml](https://pypi.org/project/pyyaml) | 6.0.2 | YAML parser and emitter for Python +[pyzmq](https://pypi.org/project/pyzmq) | 26.2.1 | Python bindings for 0MQ +[qdarkstyle](https://pypi.org/project/qdarkstyle) | 3.2.3 | The most complete dark/light style sheet for C++/Python and Qt applications +[qdldl](https://pypi.org/project/qdldl) | 0.1.7.post5 | QDLDL, a free LDL factorization routine. +[qrcode](https://pypi.org/project/qrcode) | 8.0 | QR Code image generator +[qstylizer](https://pypi.org/project/qstylizer) | 0.2.2 | Stylesheet Generator for PyQt{4-5}/PySide{1-2} +[qtawesome](https://pypi.org/project/qtawesome) | 1.4.0 | FontAwesome icons in PyQt and PySide applications +[qtconsole](https://pypi.org/project/qtconsole) | 5.6.1 | Jupyter Qt console +[qtpy](https://pypi.org/project/qtpy) | 2.4.1 | Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6). +[quantecon](https://pypi.org/project/quantecon) | 0.7.2 | Import the main names to top level. +[quart](https://pypi.org/project/quart) | 0.20.0 | A Python ASGI web framework with the same API as Flask +[rapidfuzz](https://pypi.org/project/rapidfuzz) | 3.9.6 | rapid fuzzy string matching +[readme-renderer](https://pypi.org/project/readme-renderer) | 44.0 | readme_renderer is a library for rendering readme descriptions for Warehouse +[redis](https://pypi.org/project/redis) | 5.0.8 | Python client for Redis database and key-value store +[referencing](https://pypi.org/project/referencing) | 0.35.1 | JSON Referencing + Python +[regex](https://pypi.org/project/regex) | 2024.11.6 | Alternative regular expression module, to replace re. +[reportlab](https://pypi.org/project/reportlab) | 4.2.5 | The Reportlab Toolkit +[requests](https://pypi.org/project/requests) | 2.32.3 | Python HTTP for Humans. +[requests-ntlm](https://pypi.org/project/requests-ntlm) | 1.3.0 | This package allows for HTTP NTLM authentication using the requests library. +[requests-toolbelt](https://pypi.org/project/requests-toolbelt) | 1.0.0 | A utility belt for advanced users of python-requests +[rfc3339-validator](https://pypi.org/project/rfc3339-validator) | 0.1.4 | A pure python RFC3339 validator +[rfc3986](https://pypi.org/project/rfc3986) | 2.0.0 | Validating URI References per RFC 3986 +[rfc3986-validator](https://pypi.org/project/rfc3986-validator) | 0.1.1 | Pure python rfc3986 validator +[rich](https://pypi.org/project/rich) | 13.9.4 | Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal +[rope](https://pypi.org/project/rope) | 1.12.0 | a python refactoring library... +[rpds-py](https://pypi.org/project/rpds-py) | 0.22.3 | Python bindings to Rust's persistent data structures (rpds) +[rsa](https://pypi.org/project/rsa) | 4.7.2 | Pure-Python RSA implementation +[rtree](https://pypi.org/project/rtree) | 1.3.0 | R-Tree spatial index for Python GIS +[rx](https://pypi.org/project/rx) | 3.2.0 | Reactive Extensions (Rx) for Python +[scikit-image](https://pypi.org/project/scikit-image) | 0.25.2 | Image processing in Python +[scikit-learn](https://pypi.org/project/scikit-learn) | 1.6.1 | A set of python modules for machine learning and data mining +[scipy](https://pypi.org/project/scipy) | 1.15.2 | Fundamental algorithms for scientific computing in Python +[scramp](https://pypi.org/project/scramp) | 1.4.5 | An implementation of the SCRAM protocol. +[scs](https://pypi.org/project/scs) | 3.2.7.post2 | Splitting conic solver +[seaborn](https://pypi.org/project/seaborn) | 0.13.2 | Statistical data visualization +[send2trash](https://pypi.org/project/send2trash) | 1.8.3 | Send file to trash natively under Mac OS X, Windows and Linux +[setuptools](https://pypi.org/project/setuptools) | 75.8.2 | Easily download, build, install, upgrade, and uninstall Python packages +[shapely](https://pypi.org/project/shapely) | 2.0.6 | Manipulation and analysis of geometric objects +[shellingham](https://pypi.org/project/shellingham) | 1.5.4 | Tool to Detect Surrounding Shell +[simplejson](https://pypi.org/project/simplejson) | 3.19.3 | Simple, fast, extensible JSON encoder/decoder for Python +[simpy](https://pypi.org/project/simpy) | 4.1.1 | Event discrete, process based simulation for Python. +[six](https://pypi.org/project/six) | 1.16.0 | Python 2 and 3 compatibility utilities +[sklearn-compat](https://pypi.org/project/sklearn-compat) | 0.1.3 | Ease support for compatible scikit-learn estimators across versions +[skrub](https://pypi.org/project/skrub) | 0.5.1 | Prepping tables for machine learning +[smmap](https://pypi.org/project/smmap) | 5.0.0 | A pure Python implementation of a sliding window memory map manager +[sniffio](https://pypi.org/project/sniffio) | 1.3.0 | Sniff out which async library your code is running under +[snowballstemmer](https://pypi.org/project/snowballstemmer) | 2.2.0 | This package provides 29 stemmers for 28 languages generated from Snowball algorithms. +[sortedcontainers](https://pypi.org/project/sortedcontainers) | 2.4.0 | Sorted Containers -- Sorted List, Sorted Dict, Sorted Set +[sounddevice](https://pypi.org/project/sounddevice) | 0.5.1 | Play and Record Sound with Python +[soupsieve](https://pypi.org/project/soupsieve) | 2.6 | A modern CSS selector implementation for Beautiful Soup. +[sphinx](https://pypi.org/project/sphinx) | 7.3.7 | Python documentation generator +[sphinx-rtd-theme](https://pypi.org/project/sphinx-rtd-theme) | 3.0.2 | Read the Docs theme for Sphinx +[sphinxcontrib-applehelp](https://pypi.org/project/sphinxcontrib-applehelp) | 2.0.0 | sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books +[sphinxcontrib-devhelp](https://pypi.org/project/sphinxcontrib-devhelp) | 2.0.0 | sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents +[sphinxcontrib-htmlhelp](https://pypi.org/project/sphinxcontrib-htmlhelp) | 2.1.0 | sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files +[sphinxcontrib-jquery](https://pypi.org/project/sphinxcontrib-jquery) | 4.1 | Extension to include jQuery on newer Sphinx releases +[sphinxcontrib-jsmath](https://pypi.org/project/sphinxcontrib-jsmath) | 1.0.1 | A sphinx extension which renders display math in HTML via JavaScript +[sphinxcontrib-qthelp](https://pypi.org/project/sphinxcontrib-qthelp) | 2.0.0 | sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents +[sphinxcontrib-serializinghtml](https://pypi.org/project/sphinxcontrib-serializinghtml) | 2.0.0 | sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle) +[spyder](https://pypi.org/project/spyder) | 6.0.5 | The Scientific Python Development Environment +[spyder-kernels](https://pypi.org/project/spyder-kernels) | 3.0.3 | Jupyter kernels for Spyder's console +[sqlalchemy](https://pypi.org/project/sqlalchemy) | 2.0.38 | Database Abstraction Library +[sqlite-bro](https://pypi.org/project/sqlite-bro) | 0.13.1 | a graphic SQLite Client in 1 Python file +[sqlite-fts4](https://pypi.org/project/sqlite-fts4) | 1.0.3 | Python functions for working with SQLite FTS4 search +[sqlite-utils](https://pypi.org/project/sqlite-utils) | 3.38 | CLI tool and Python library for manipulating SQLite databases +[sqlparse](https://pypi.org/project/sqlparse) | 0.5.3 | A non-validating SQL parser. +[squarify](https://pypi.org/project/squarify) | 0.4.4 | Pure Python implementation of the squarify treemap layout algorithm +[sspilib](https://pypi.org/project/sspilib) | 0.2.0 | SSPI API bindings for Python +[stack-data](https://pypi.org/project/stack-data) | 0.6.3 | Extract data from python stack frames and tracebacks for informative displays +[starlette](https://pypi.org/project/starlette) | 0.45.3 | The little ASGI library that shines. +[statsmodels](https://pypi.org/project/statsmodels) | 0.14.4 | Statistical computations and models for Python +[streamlit](https://pypi.org/project/streamlit) | 1.44.0 | A faster way to build and share data apps +[superqt](https://pypi.org/project/superqt) | 0.7.1 | Missing widgets and components for PyQt/PySide +[sv-ttk](https://pypi.org/project/sv-ttk) | 2.6.0 | A gorgeous theme for Tkinter, based on Windows 11's UI +[sympy](https://pypi.org/project/sympy) | 1.13.3 | Computer algebra system (CAS) in Python +[tabulate](https://pypi.org/project/tabulate) | 0.9.0 | Pretty-print tabular data +[tblib](https://pypi.org/project/tblib) | 3.0.0 | Traceback serialization library. +[tenacity](https://pypi.org/project/tenacity) | 9.0.0 | Retry code until it succeeds +[termcolor](https://pypi.org/project/termcolor) | 2.5.0 | ANSI color formatting for output in terminal +[terminado](https://pypi.org/project/terminado) | 0.18.1 | Tornado websocket backend for the Xterm.js Javascript terminal emulator library. +[text-unidecode](https://pypi.org/project/text-unidecode) | 1.3 | The most basic Text::Unidecode port +[textdistance](https://pypi.org/project/textdistance) | 4.6.3 | Compute distance between the two texts. +[thefuzz](https://pypi.org/project/thefuzz) | 0.22.1 | Fuzzy string matching in python +[threadpoolctl](https://pypi.org/project/threadpoolctl) | 3.5.0 | threadpoolctl +[three-merge](https://pypi.org/project/three-merge) | 0.1.1 | Simple library for merging two strings with respect to a base one +[tifffile](https://pypi.org/project/tifffile) | 2025.1.10 | Read and write TIFF files +[tiktoken](https://pypi.org/project/tiktoken) | 0.8.0 | tiktoken is a fast BPE tokeniser for use with OpenAI's models +[tinycss2](https://pypi.org/project/tinycss2) | 1.4.0 | A tiny CSS parser +[tokenizers](https://pypi.org/project/tokenizers) | 0.21.0 | +[toml](https://pypi.org/project/toml) | 0.10.2 | Python Library for Tom's Obvious, Minimal Language +[tomli](https://pypi.org/project/tomli) | 2.2.1 | A lil' TOML parser +[tomli-w](https://pypi.org/project/tomli-w) | 1.2.0 | A lil' TOML writer +[tomlkit](https://pypi.org/project/tomlkit) | 0.13.2 | Style preserving TOML library +[toolz](https://pypi.org/project/toolz) | 1.0.0 | List processing tools and functional utilities +[tornado](https://pypi.org/project/tornado) | 6.4.2 | Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. +[tqdm](https://pypi.org/project/tqdm) | 4.66.4 | Fast, Extensible Progress Meter +[traitlets](https://pypi.org/project/traitlets) | 5.14.1 | Traitlets Python configuration system +[traittypes](https://pypi.org/project/traittypes) | 0.2.1 | Scipy trait types +[trio](https://pypi.org/project/trio) | 0.29.0 | A friendly Python library for async concurrency and I/O +[trove-classifiers](https://pypi.org/project/trove-classifiers) | 2024.10.21.16 | Canonical source for classifiers on PyPI (pypi.org). +[twine](https://pypi.org/project/twine) | 6.1.0 | Collection of utilities for publishing packages on PyPI +[typer](https://pypi.org/project/typer) | 0.15.2 | Typer, build great CLIs. Easy to code. Based on Python type hints. +[types-python-dateutil](https://pypi.org/project/types-python-dateutil) | 2.9.0.20240316 | Typing stubs for python-dateutil +[types-requests](https://pypi.org/project/types-requests) | 2.32.0.20241016 | Typing stubs for requests +[typing-extensions](https://pypi.org/project/typing-extensions) | 4.12.2 | Backported and Experimental Type Hints for Python 3.8+ +[typing-inspect](https://pypi.org/project/typing-inspect) | 0.9.0 | Runtime inspection utilities for typing module. +[tzdata](https://pypi.org/project/tzdata) | 2024.1 | Provider of IANA time zone data +[tzlocal](https://pypi.org/project/tzlocal) | 5.2 | tzinfo object for the local timezone +[uc-micro-py](https://pypi.org/project/uc-micro-py) | 1.0.1 | Micro subset of unicode data files for linkify-it-py projects. +[ujson](https://pypi.org/project/ujson) | 5.10.0 | Ultra fast JSON encoder and decoder for Python +[umap-learn](https://pypi.org/project/umap-learn) | 0.5.6 | Uniform Manifold Approximation and Projection +[uncertainties](https://pypi.org/project/uncertainties) | 3.2.2 | calculations with values with uncertainties, error propagation +[uri-template](https://pypi.org/project/uri-template) | 1.3.0 | RFC 6570 URI Template Processor +[urllib3](https://pypi.org/project/urllib3) | 2.2.3 | HTTP library with thread-safe connection pooling, file post, and more. +[uvicorn](https://pypi.org/project/uvicorn) | 0.34.0 | The lightning-fast ASGI server. +[vega-datasets](https://pypi.org/project/vega-datasets) | 0.9.0 | A Python package for offline access to Vega datasets +[waitress](https://pypi.org/project/waitress) | 3.0.0 | Waitress WSGI server +[watchdog](https://pypi.org/project/watchdog) | 6.0.0 | Filesystem events monitoring +[wcwidth](https://pypi.org/project/wcwidth) | 0.2.13 | Measures the displayed width of unicode strings in a terminal +[webcolors](https://pypi.org/project/webcolors) | 24.11.1 | A library for working with the color formats defined by HTML and CSS. +[webencodings](https://pypi.org/project/webencodings) | 0.5.1 | Character encoding aliases for legacy web content +[websocket-client](https://pypi.org/project/websocket-client) | 1.8.0 | WebSocket client for Python with low level API options +[werkzeug](https://pypi.org/project/werkzeug) | 3.1.3 | The comprehensive WSGI web application library. +[whatthepatch](https://pypi.org/project/whatthepatch) | 1.0.7 | A patch parsing and application library. +[wheel](https://pypi.org/project/wheel) | 0.45.1 | A built-package format for Python +[widgetsnbextension](https://pypi.org/project/widgetsnbextension) | 4.0.14 | Jupyter interactive widgets for Jupyter Notebook +[winpython](https://pypi.org/project/winpython) | 15.3.20250425 | WinPython distribution tools, including WPPM +[wordcloud](https://pypi.org/project/wordcloud) | 1.9.4 | A little word cloud generator +[wrapt](https://pypi.org/project/wrapt) | 1.16.0 | Module for decorators, wrappers and monkey patching. +[wsproto](https://pypi.org/project/wsproto) | 1.2.0 | WebSockets state-machine based protocol implementation +[xarray](https://pypi.org/project/xarray) | 2025.3.0 | N-D labeled arrays and datasets in Python +[xlsxwriter](https://pypi.org/project/xlsxwriter) | 3.1.9 | A Python module for creating Excel XLSX files. +[xyzservices](https://pypi.org/project/xyzservices) | 2023.10.1 | Source of XYZ tiles providers +[yapf](https://pypi.org/project/yapf) | 0.40.1 | A formatter for Python code. +[yarl](https://pypi.org/project/yarl) | 1.18.3 | Yet another URL library +[yt-dlp](https://pypi.org/project/yt-dlp) | 2025.2.19 | A feature-rich command-line audio/video downloader +[zict](https://pypi.org/project/zict) | 3.0.0 | Mutable mapping tools +[zipp](https://pypi.org/project/zipp) | 3.21.0 | Backport of pathlib-compatible object wrapper for zip files +[zstandard](https://pypi.org/project/zstandard) | 0.23.0 | Zstandard bindings for Python + +
diff --git a/changelogs/WinPythonslim-64bit-3.13.3.0_History.md b/changelogs/WinPythonslim-64bit-3.13.3.0_History.md new file mode 100644 index 00000000..9767b1e5 --- /dev/null +++ b/changelogs/WinPythonslim-64bit-3.13.3.0_History.md @@ -0,0 +1,148 @@ +## History of changes for WinPython-64bit 3.13.3.0slim + +The following changes were made to WinPython-64bit distribution since version 3.13.2.0slim. + +
+ +### Tools + +New packages: + + * [Pandoc](https://pandoc.org) 3.1.9 (an universal document converter) + +### Python packages + +New packages: + + * [asyncssh](https://pypi.org/project/asyncssh) 2.20.0 (AsyncSSH: Asynchronous SSHv2 client and server library) + * [deprecated](https://pypi.org/project/deprecated) 1.2.14 (Python @deprecated decorator to deprecate old python classes, functions or methods.) + * [flexcache](https://pypi.org/project/flexcache) 0.3 (Saves and loads to the cache a transformed versions of a source object.) + * [flexparser](https://pypi.org/project/flexparser) 0.4 (Parsing made fun ... using typing.) + * [id](https://pypi.org/project/id) 1.5.0 (A tool for generating OIDC identities) + * [pygithub](https://pypi.org/project/pygithub) 2.6.1 (Use the full Github API v3) + * [pyuca](https://pypi.org/project/pyuca) 1.2 (a Python implementation of the Unicode Collation Algorithm) + * [shellingham](https://pypi.org/project/shellingham) 1.5.4 (Tool to Detect Surrounding Shell) + * [skrub](https://pypi.org/project/skrub) 0.5.1 (Prepping tables for machine learning) + * [superqt](https://pypi.org/project/superqt) 0.7.1 (Missing widgets and components for PyQt/PySide) + * [sv-ttk](https://pypi.org/project/sv-ttk) 2.6.0 (A gorgeous theme for Tkinter, based on Windows 11's UI) + * [typer](https://pypi.org/project/typer) 0.15.2 (Typer, build great CLIs. Easy to code. Based on Python type hints.) + * [wrapt](https://pypi.org/project/wrapt) 1.16.0 (Module for decorators, wrappers and monkey patching.) + +Upgraded packages: + + * [alembic](https://pypi.org/project/alembic) 1.13.1 → 1.15.1 (A database migration tool for SQLAlchemy.) + * [anthropic](https://pypi.org/project/anthropic) 0.42.0 → 0.49.0 (The official Python library for the anthropic API) + * [anyio](https://pypi.org/project/anyio) 4.7.0 → 4.8.0 (High level compatibility layer for multiple asynchronous event loop implementations) + * [array-api-compat](https://pypi.org/project/array-api-compat) 1.10.0 → 1.11.1 (A wrapper around NumPy and other array libraries to make them compatible with the Array API standard) + * [azure-core](https://pypi.org/project/azure-core) 1.30.2 → 1.32.0 (Microsoft Azure Core Library for Python) + * [azure-cosmos](https://pypi.org/project/azure-cosmos) 4.7.0 → 4.9.0 (Microsoft Azure Cosmos Client Library for Python) + * [azure-identity](https://pypi.org/project/azure-identity) 1.16.1 → 1.21.0 (Microsoft Azure Identity Library for Python) + * [black](https://pypi.org/project/black) 24.10.0 → 25.1.0 (The uncompromising code formatter.) + * [bokeh](https://pypi.org/project/bokeh) 3.6.3 → 3.7.2 (Interactive plots and applications in the browser from Python) + * [cachetools](https://pypi.org/project/cachetools) 5.4.0 → 5.5.2 (Extensible memoizing collections and decorators) + * [certifi](https://pypi.org/project/certifi) 2024.6.2 → 2025.1.31 (Python package for providing Mozilla's CA Bundle.) + * [click](https://pypi.org/project/click) 8.1.7 → 8.1.8 (Composable command line interface toolkit) + * [cloudpickle](https://pypi.org/project/cloudpickle) 3.0.0 → 3.1.1 (Pickler class to extend the standard pickle.Pickler functionality) + * [cvxpy](https://pypi.org/project/cvxpy) 1.6.0 → 1.6.4 (A domain-specific language for modeling convex optimization problems in Python.) + * [cython](https://pypi.org/project/cython) 3.0.11 → 3.0.12 (The Cython compiler for writing C extensions in the Python language.) + * [dask](https://pypi.org/project/dask) 2024.12.1 → 2025.3.0 (Parallel PyData with Task Scheduling) + * [datasette](https://pypi.org/project/datasette) 0.64.8 → 0.65.1 (An open source multi-tool for exploring and publishing data) + * [datashader](https://pypi.org/project/datashader) 0.16.3 → 0.17.0 (Data visualization toolchain based on aggregating into a grid) + * [diff-match-patch](https://pypi.org/project/diff-match-patch) 20230430 → 20241021 (Repackaging of Google's Diff Match and Patch libraries.) + * [distributed](https://pypi.org/project/distributed) 2024.12.1 → 2025.3.0 (Distributed scheduler for Dask) + * [docstring-to-markdown](https://pypi.org/project/docstring-to-markdown) 0.13 → 0.15 (On the fly conversion of Python docstrings to markdown) + * [duckdb](https://pypi.org/project/duckdb) 1.2.0 → 1.2.2 (DuckDB in-process database) + * [executing](https://pypi.org/project/executing) 2.0.1 → 2.2.0 (Get the currently executing AST node of a frame, and other information) + * [faker](https://pypi.org/project/faker) 33.3.1 → 36.1.1 (Faker is a Python package that generates fake data for you.) + * [fastapi](https://pypi.org/project/fastapi) 0.115.6 → 0.115.8 (FastAPI framework, high performance, easy to learn, fast to code, ready for production) + * [filelock](https://pypi.org/project/filelock) 3.14.0 → 3.17.0 (A platform independent file lock.) + * [folium](https://pypi.org/project/folium) 0.18.0 → 0.19.5 (Make beautiful maps with Leaflet.js & Python) + * [holoviews](https://pypi.org/project/holoviews) 1.20.0 → 1.20.2 (A high-level plotting API for the PyData ecosystem built on HoloViews.) + * [hpack](https://pypi.org/project/hpack) 4.0.0 → 4.1.0 (Pure-Python HPACK header encoding) + * [huggingface-hub](https://pypi.org/project/huggingface-hub) 0.28.1 → 0.29.3 (Client library to download and publish models, datasets and other repos on the huggingface.co hub) + * [hypercorn](https://pypi.org/project/hypercorn) 0.16.0 → 0.17.3 (A ASGI Server based on Hyper libraries and inspired by Gunicorn) + * [hyperframe](https://pypi.org/project/hyperframe) 6.0.1 → 6.1.0 (Pure-Python HTTP/2 framing) + * [hypothesis](https://pypi.org/project/hypothesis) 6.122.3 → 6.130.4 (A library for property-based testing) + * [idna](https://pypi.org/project/idna) 3.7 → 3.10 (Internationalized Domain Names in Applications (IDNA)) + * [imageio](https://pypi.org/project/imageio) 2.33.1 → 2.37.0 (Library for reading and writing a wide range of image, video, scientific, and volumetric data formats.) + * [importlib-metadata](https://pypi.org/project/importlib-metadata) 7.1.0 → 8.6.1 (Read metadata from Python packages) + * [ipympl](https://pypi.org/project/ipympl) 0.9.6 → 0.9.7 (Matplotlib Jupyter Extension) + * [ipython](https://pypi.org/project/ipython) 8.32.0 → 8.34.0 (IPython: Productive Interactive Computing) + * [ipywidgets](https://pypi.org/project/ipywidgets) 8.1.5 → 8.1.6 (Jupyter interactive widgets) + * [jupyter-client](https://pypi.org/project/jupyter-client) 8.6.2 → 8.6.3 (Jupyter protocol implementation and client libraries) + * [jupyter-events](https://pypi.org/project/jupyter-events) 0.10.0 → 0.12.0 (Jupyter Event System library) + * [jupyterlab](https://pypi.org/project/jupyterlab) 4.3.5 → 4.4.1 (JupyterLab computational environment) + * [jupyterlab-widgets](https://pypi.org/project/jupyterlab-widgets) 3.0.13 → 3.0.14 (Jupyter interactive widgets for JupyterLab) + * [keras](https://pypi.org/project/keras) 3.8.0 → 3.9.2 (Multi-backend Keras) + * [langchain](https://pypi.org/project/langchain) 0.3.18 → 0.3.23 (Building applications with LLMs through composability) + * [langchain-core](https://pypi.org/project/langchain-core) 0.3.34 → 0.3.51 (Building applications with LLMs through composability) + * [langchain-text-splitters](https://pypi.org/project/langchain-text-splitters) 0.3.6 → 0.3.8 (LangChain text splitting utilities) + * [langsmith](https://pypi.org/project/langsmith) 0.2.11 → 0.3.24 (Client library to connect to the LangSmith LLM Tracing and Evaluation Platform.) + * [markdown](https://pypi.org/project/markdown) 3.5.1 → 3.7 (Python implementation of John Gruber's Markdown.) + * [matplotlib](https://pypi.org/project/matplotlib) 3.10.0 → 3.10.1 (Python plotting package) + * [mypy](https://pypi.org/project/mypy) 1.14.0 → 1.15.0 (Optional static typing for Python) + * [mysql-connector-python](https://pypi.org/project/mysql-connector-python) 8.0.21 → 9.2.0 (A self-contained Python driver for communicating with MySQL servers, using an API that is compliant with the Python Database API Specification v) + * [narwhals](https://pypi.org/project/narwhals) 1.21.1 → 1.30.0 (Extremely lightweight compatibility layer between dataframe libraries) + * [notebook](https://pypi.org/project/notebook) 7.3.1 → 7.4.0 (Jupyter Notebook - A web-based notebook environment for interactive computing) + * [numba](https://pypi.org/project/numba) 0.61.0 → 0.61.2 (compiling Python code using LLVM) + * [numpy](https://pypi.org/project/numpy) 2.1.3 → 2.2.4 (Fundamental package for array computing in Python) + * [openai](https://pypi.org/project/openai) 1.61.1 → 1.72.0 (The official Python library for the openai API) + * [opencv-python](https://pypi.org/project/opencv-python) 4.10.0.84 → 4.11.0.86 (Wrapper package for OpenCV python bindings.) + * [optree](https://pypi.org/project/optree) 0.13.1 → 0.14.0 (Optimized PyTree Utilities.) + * [panel](https://pypi.org/project/panel) 1.6.0 → 1.6.2 (The powerful data exploration & web app framework for Python.) + * [param](https://pypi.org/project/param) 2.1.1 → 2.2.0 (Make your Python code clearer and more reliable by declaring Parameters.) + * [pip](https://pypi.org/project/pip) 24.3.1 → 25.0.1 (The PyPA recommended tool for installing Python packages.) + * [platformdirs](https://pypi.org/project/platformdirs) 4.2.2 → 4.3.6 (A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`.) + * [plotly](https://pypi.org/project/plotly) 5.24.1 → 6.0.1 (An open-source interactive data visualization library for Python) + * [polars](https://pypi.org/project/polars) 1.22.0 → 1.27.1 (Blazingly fast DataFrame library) + * [prometheus-client](https://pypi.org/project/prometheus-client) 0.18.0 → 0.21.1 (Python client for the Prometheus monitoring system.) + * [prompt-toolkit](https://pypi.org/project/prompt-toolkit) 3.0.48 → 3.0.50 (Library for building powerful interactive command lines in Python) + * [pyarrow](https://pypi.org/project/pyarrow) 19.0.0 → 19.0.1 (Python library for Apache Arrow) + * [pyasn1](https://pypi.org/project/pyasn1) 0.4.8 → 0.6.1 (Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)) + * [pyasn1-modules](https://pypi.org/project/pyasn1-modules) 0.2.8 → 0.4.1 (A collection of ASN.1-based protocols modules) + * [pyjwt](https://pypi.org/project/pyjwt) 2.8.0 → 2.10.1 (JSON Web Token implementation in Python) + * [pympler](https://pypi.org/project/pympler) 1.0.1 → 1.1 (A development tool to measure, monitor and analyze the memory behavior of Python objects.) + * [pyomo](https://pypi.org/project/pyomo) 6.8.2 → 6.9.1 (Pyomo: Python Optimization Modeling Objects) + * [pypandoc](https://pypi.org/project/pypandoc) 1.5 → 1.15 (Thin wrapper for pandoc.) + * [pytest](https://pypi.org/project/pytest) 8.2.2 → 8.3.4 (pytest: simple powerful testing with Python) + * [Python](http://www.python.org/) 3.13.2 → 3.13.3 (Python programming language with standard library) + * [pytz](https://pypi.org/project/pytz) 2024.1 → 2024.2 (World timezone definitions, modern and historical) + * [pyzmq](https://pypi.org/project/pyzmq) 26.2.0 → 26.2.1 (Python bindings for 0MQ) + * [qtawesome](https://pypi.org/project/qtawesome) 1.3.1 → 1.4.0 (FontAwesome icons in PyQt and PySide applications) + * [qtconsole](https://pypi.org/project/qtconsole) 5.5.2 → 5.6.1 (Jupyter Qt console) + * [quart](https://pypi.org/project/quart) 0.19.4 → 0.20.0 (A Python ASGI web framework with the same API as Flask) + * [rtree](https://pypi.org/project/rtree) 1.1.0 → 1.3.0 (R-Tree spatial index for Python GIS) + * [rx](https://pypi.org/project/rx) 3.1.1 → 3.2.0 (Reactive Extensions (Rx) for Python) + * [scikit-image](https://pypi.org/project/scikit-image) 0.25.0 → 0.25.2 (Image processing in Python) + * [scipy](https://pypi.org/project/scipy) 1.15.1 → 1.15.2 (Fundamental algorithms for scientific computing in Python) + * [send2trash](https://pypi.org/project/send2trash) 1.8.2 → 1.8.3 (Send file to trash natively under Mac OS X, Windows and Linux) + * [setuptools](https://pypi.org/project/setuptools) 75.6.0 → 75.8.2 (Easily download, build, install, upgrade, and uninstall Python packages) + * [simpy](https://pypi.org/project/simpy) 4.0.1 → 4.1.1 (Event discrete, process based simulation for Python.) + * [spyder](https://pypi.org/project/spyder) 5.5.6 → 6.0.5 (The Scientific Python Development Environment) + * [spyder-kernels](https://pypi.org/project/spyder-kernels) 2.5.2 → 3.0.3 (Jupyter kernels for Spyder's console) + * [sqlalchemy](https://pypi.org/project/sqlalchemy) 2.0.35 → 2.0.38 (Database Abstraction Library) + * [starlette](https://pypi.org/project/starlette) 0.41.3 → 0.45.3 (The little ASGI library that shines.) + * [streamlit](https://pypi.org/project/streamlit) 1.41.1 → 1.44.0 (A faster way to build and share data apps) + * [tomli-w](https://pypi.org/project/tomli-w) 1.1.0 → 1.2.0 (A lil' TOML writer) + * [trio](https://pypi.org/project/trio) 0.28.0 → 0.29.0 (A friendly Python library for async concurrency and I/O) + * [twine](https://pypi.org/project/twine) 6.0.1 → 6.1.0 (Collection of utilities for publishing packages on PyPI) + * [widgetsnbextension](https://pypi.org/project/widgetsnbextension) 4.0.13 → 4.0.14 (Jupyter interactive widgets for Jupyter Notebook) + * [winpython](https://pypi.org/project/winpython) 13.1.20250222 → 15.3.20250425 (WinPython distribution tools, including WPPM) + * [xarray](https://pypi.org/project/xarray) 2025.1.1 → 2025.3.0 (N-D labeled arrays and datasets in Python) + * [yt-dlp](https://pypi.org/project/yt-dlp) 2023.7.6 → 2025.2.19 (A feature-rich command-line audio/video downloader) + +Removed packages: + + * [bcrypt](https://pypi.org/project/bcrypt) 4.0.1 (Modern password hashing for your software and your servers) + * [dask_expr](https://pypi.org/project/dask_expr) 1.1.21 (High Level Expressions for Dask ) + * [mutagen](https://pypi.org/project/mutagen) 1.47.0 (read and write audio tags for many formats) + * [paramiko](https://pypi.org/project/paramiko) 2.8.0 (SSH2 protocol library) + * [pint](https://pypi.org/project/pint) 0.23 (Physical quantities module) + * [pkginfo](https://pypi.org/project/pkginfo) 1.11.2 (Query metadata from sdists / bdists / installed packages.) + * [pycryptodomex](https://pypi.org/project/pycryptodomex) 3.20.0 (Cryptographic library for Python) + * [streamz](https://pypi.org/project/streamz) 0.6.3 (Streams) + * [websockets](https://pypi.org/project/websockets) 14.2 (An implementation of the WebSocket Protocol (RFC 6455 & 7692)) + + +
+* * * diff --git a/changelogs/md5_sha1.txt b/changelogs/md5_sha1.txt index a5e7b0a5..2ab82bcb 100644 --- a/changelogs/md5_sha1.txt +++ b/changelogs/md5_sha1.txt @@ -1,3 +1,21 @@ +### WinPython 2025-02 release (May 4th, 2025) + +MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|----------------------|----------------------------------------------------------------- +b5a3814f26dade2f6ee9acf983427a8e | b3826baea1606868628128bab5527e3600342fbf | 517eff0673658da3f2da64a28afbd7733fb91807f7d074d3a9e9e6c0eb1dd523 | Winpython64-3.12.10.0dot.7z | 23 076 535 Bytes | e3e4b8b944e79cf20dea5e7691c24485a5b68bb70d34df6edfb181fd499b0335 +6f354778174e04fdb4c4c28c7a543f31 | 5d1bd5bd76dcb0e61df1a268e4ce47f56acbfe6f | b6d196d72ce443ccfbdb5a640f5645a7ade742092fddde65d73755c4eba89a1d | Winpython64-3.12.10.0dot.exe | 23 291 575 Bytes | 785f61ee3821d772bdbff037f86a4229d707c97d97f2508e8cdd03f81c1a8436 +431e37ef366ebe9ae30fa7fb162bb314 | 32965a55a8bc119b96875c542d9a08c6f4ed9b75 | bcb2a87ef210076ff4507a4a644bfb82daa0c2361e7945e5cb7de161450460f6 | Winpython64-3.12.10.0dot.zip | 38 334 544 Bytes | ab0b83f09299291a36298754a445429964f610f507b18e484f6bdf572880acbe +6e7131129ff75dd4e8832f7be131dcc3 | 4d6c5b10d4b3044b9a70597fcd4fd34cd5e2b2a8 | 294c287c4a9918c730d26188e2dc34e97a92431c83515165f04c2ea8d33f0c1d | Winpython64-3.12.10.0slim.7z | 624 548 662 Bytes | f0b952a2fe29837783b69dcb4259369ee5c1d40a3220ad0b4dd82b1668322973 +3cefa92f927471aeef6c1fa3b7911166 | 1699db6b9c44b605c9f2031201bb58a46a260f0e | 3ea3368ca0e9182c03e8e0bc38b65c5398dd4f8aee7ccf5ab38d5a9226af6b9a | Winpython64-3.12.10.0slim.exe | 624 763 614 Bytes | 8584e33e01025ce04d0e429f2c08c7fe94576901aabf030341b21e0837ed5966 +95c7326579dbd4a16cb2f5b56a141673 | f28906c1e3e4ba073f0363a4e35326f9e8090ce1 | 13abddd4cc2702be56b672c868d0d1bc085e80748dc7d7e9315ab4080f157f3b | Winpython64-3.13.3.0dot.7z | 24 839 744 Bytes | 1cb42e1ea66116bc0e7804fb44bb519140d5a5acc9bb63c650ef38dc138ca0bb +bccca9b3e79dfbc13d14837e3ba85c9b | 41c805812b778ccaf3781701264b23e6c9908069 | a6b1882b8eff8a44782bfeec7e5228826ebd38c4234e10ba38a52a85860c41d0 | Winpython64-3.13.3.0dot.exe | 25 054 784 Bytes | eea4a48f72d3ca7e784e86883ef2b46cd48a75fd68321c1088e9ed8c11ad47bd +06a5eb8fa4f7447ad63b7e214b126fd7 | 80ab8340798a318c09ffe07a77a920d5d1eda2b7 | f7ef5a6cfe23b7f39f87c128594fc6c7f73f42f9516a0b828dac0da187af68ec | Winpython64-3.13.3.0dot.zip | 39 870 933 Bytes | a4f9a910f55c5efdbb843874384d5295ff3b3a45d27cab63f74d2f215f9d798c +40e207597ddecd78f60e8474d8dc3c81 | 5e4df5e04424a754b33e4a63f4ae31d0a65eb0a5 | 0ee4eaa17ed86fbcb9e861989e08c85dcf13ca1ef067c52f4fc8b68dd7836c46 | Winpython64-3.13.3.0slim.7z | 629 049 097 Bytes | f275d41a374ff5f3b75decbe65cd52a54c1ac8157edeb62f377dfa2278201ccb +312a8e7fa70b5b58e44f69c1066687a8 | 12e992d1e40fb04c0e7fe367a983dc27ef88b151 | 9abfd2a54ba314dfe573792a573ad31a43e63765f7b77c2002849086a1a47c5e | Winpython64-3.13.3.0slim.exe | 629 265 120 Bytes | 87fc9b086fae8a07b234fcced8b428cd0c3367a9ff068cd3c28b661813c94cab +588e3a1a7ddc461f528270a302a3b667 | a77e443c86c1d21c9a177193e69847efa6346373 | 060046dc83030a639d50396f403a28556ebbd87495bb14045b21118e6cff4c4b | requirement_hash.WinPython64-3.12.10..0slim.txt | 78 133 Bytes | 54d3902407c7c935d83681796585e24d80478f68d22d62ff500d4072ab0385b0 +fb5edb31a3f1e0e7f43eb810f5dd4032 | c6c043e8ec9c7af50eb2d297a91c1b87d3bc7074 | 225500ba0b3aea779b24f7b17bece53250b24380390685bac5ae6c5804f68367 | requirement_hash.WinPython64-3.13.3.0slim.txt | 78 125 Bytes | 1b3d8ff70b049c368ae848d69331faf2ceb19ddc6821ec3549e5511ecac7f393 + + ### WinPython 2025-01 release (March 1st, 2025) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 diff --git a/generate_a_winpython_distro.bat b/generate_a_winpython_distro.bat index 7fdbc12f..1766a18d 100644 --- a/generate_a_winpython_distro.bat +++ b/generate_a_winpython_distro.bat @@ -2,7 +2,7 @@ rem generate_a_winpython_distro.bat: to be launched from a winpython directory, @echo on REM Initialize variables -if "%my_release_level%"=="" set my_release_level=b3 +if "%my_release_level%"=="" set my_release_level=b1 if "%my_create_installer%"=="" set my_create_installer=True rem Set archive directory and log file @@ -26,8 +26,8 @@ if "%target_python_exe%"=="" set target_python_exe=python.exe rem Set Python target release based on my_python_target if %my_python_target%==311 set my_python_target_release=3119& set my_release=1 -if %my_python_target%==312 set my_python_target_release=31210& set my_release=0 -if %my_python_target%==313 set my_python_target_release=3133& set my_release=0 +if %my_python_target%==312 set my_python_target_release=31210& set my_release=1 +if %my_python_target%==313 set my_python_target_release=3133& set my_release=1 if %my_python_target%==314 set my_python_target_release=3140& set my_release=0 echo -------------------------------------- >>%my_archive_log% @@ -114,6 +114,47 @@ cd /D %~dp0 call %my_buildenv%\scripts\env.bat python.exe -c "from make import *;make_all(%my_release%, '%my_release_level%', pyver='%my_pyver%', basedir=r'%my_basedir%', verbose=True, architecture=%my_arch%, flavor='%my_flavor%', install_options=r'%my_install_options%', find_links=r'%my_find_links%', source_dirs=r'%my_source_dirs%', create_installer='%my_create_installer%', rebuild=False, python_target_release='%my_python_target_release%')" >> %my_archive_log% +echo -------------------------------------- >>%my_archive_log% +echo "(%date% %time%) generate pylock.tomle files and requirement_with_hash.txt files">>%my_archive_log% +echo -------------------------------------- >>%my_archive_log% + +set path=%my_original_path% +call %my_WINPYDIRBASE%\scripts\env.bat + +rem generate pip freeze requirements +echo %date% %time% +set LOCKDIR=%WINPYDIRBASE%\..\ +set req=%LOCKDIR%requirement_%WINPYVER%_raw.txt +set wanted_req=%LOCKDIR%requirement_%WINPYVER%.txt +set pip_lock_web=%LOCKDIR%pylock_%WINPYVER%.toml +set pip_lock_local=%LOCKDIR%pylock_%WINPYVER%_local.toml +set req_lock_web=%LOCKDIR%requirement_with_hash_%WINPYVER%.txt +set req_lock_local=%LOCKDIR%requirement_with_hash_%WINPYVER%_local.txt + +set my_archive_lockfile=%my_archive_dir%\pylock_%WINPYVER%_%date:/=-%at_%my_time%.toml +set my_archive_lockfile_local=%my_archive_dir%\pylock_%WINPYVER%_%date:/=-%at_%my_time%_local.tml +set my_changelog_lockfile=%~dp0changelogs\pylock_%WINPYVER%.toml + +python.exe -m pip freeze>%req% +findstr /v "winpython" %req% > %wanted_req% + + +rem pip lock from pypi, from the frozen req +python.exe -m pip lock --no-deps -c C:\WinP\constraints.txt -r "%wanted_req%" -o %pip_lock_web% + +rem pip lock from local WheelHouse, from the frozen req +python.exe -m pip lock --no-deps --no-index --trusted-host=None --find-links=C:\WinP\packages.srcreq -c C:\WinP\constraints.txt -r "%wanted_req%" -o %pip_lock_local% + +rem generating also classic requirement with hash-256, from obtained pylock.toml +python.exe -c "from winpython import wheelhouse as wh;wh.pylock_to_req(r'%pip_lock_web%', r'%req_lock_web%')" +python.exe -c "from winpython import wheelhouse as wh;wh.pylock_to_req(r'%pip_lock_local%', r'%req_lock_local%')" + +rem compare the two (result from pypi and local Wheelhouse must be equal) +fc "%req_lock_web%" "%req_lock_local%" + +copy/Y %pip_lock_web% %my_archive_lockfile% +copy/Y %pip_lock_web% %my_changelog_lockfile% + echo -------------------------------------- >>%my_archive_log% echo "(%date% %time%) END OF CREATION">>%my_archive_log% echo -------------------------------------- >>%my_archive_log% diff --git a/make.py b/make.py index ed896854..c1a6a93a 100644 --- a/make.py +++ b/make.py @@ -102,9 +102,6 @@ def _get_python_zip_file(self) -> Path: @property def package_index_markdown(self) -> str: """Generates a Markdown formatted package index page.""" - installed_tools_markdown = self._get_installed_tools_markdown() - installed_packages_markdown = self._get_installed_packages_markdown() - return f"""## WinPython {self.winpyver2 + self.flavor} The following packages are included in WinPython-{self.architecture_bits}bit v{self.winpyver2 + self.flavor} {self.release_level}. @@ -115,49 +112,17 @@ def package_index_markdown(self) -> str: Name | Version | Description -----|---------|------------ -{installed_tools_markdown} +{utils.get_installed_tools_markdown(utils.get_python_executable(self.python_executable_directory))} ### Python packages Name | Version | Description -----|---------|------------ -[Python](http://www.python.org/) | {self.python_full_version} | Python programming language with standard library -{installed_packages_markdown} +{self.distribution.get_installed_packages_markdown()} """ - def _get_installed_tools_markdown(self) -> str: - """Generates Markdown for installed tools section in package index.""" - tool_lines = [] - - if (nodejs_path := self.winpython_directory / NODEJS_RELATIVE_PATH).exists(): - version = utils.exec_shell_cmd("node -v", nodejs_path).splitlines()[0] - tool_lines.append(f"[Nodejs](https://nodejs.org) | {version} | xa JavaScript runtime built on Chrome's V8 JavaScript engine") - version = utils.exec_shell_cmd("npm -v", nodejs_path).splitlines()[0] - tool_lines.append(f"[npmjs](https://www.npmjs.com) | {version} | a package manager for JavaScript") - - if (pandoc_exe := self.winpython_directory / "t" / "pandoc.exe").exists(): - version = utils.exec_shell_cmd("pandoc -v", pandoc_exe.parent).splitlines()[0].split(" ")[-1] - tool_lines.append(f"[Pandoc](https://pandoc.org) | {version} | an universal document converter") - - if vscode_exe := (self.winpython_directory / "t" / "VSCode" / "Code.exe").exists(): - version = utils.getFileProperties(str(vscode_exe))["FileVersion"] - tool_lines.append(f"[VSCode](https://code.visualstudio.com) | {version} | a source-code editor developed by Microsoft") - - return "\n".join(tool_lines) - - def _get_installed_packages_markdown(self) -> str: - """Generates Markdown for installed packages section in package index.""" - if not self.distribution: - return "" # Distribution not initialized yet. - self.installed_packages = self.distribution.get_installed_packages(update=True) - package_lines = [ - f"[{pkg.name}]({pkg.url}) | {pkg.version} | {pkg.description}" - for pkg in sorted(self.installed_packages, key=lambda p: p.name.lower()) - ] - return "\n".join(package_lines) - @property def winpython_version_name(self) -> str: """Returns the full WinPython version string.""" @@ -287,8 +252,6 @@ def build(self, rebuild: bool = True, requirements_files_list=None, winpy_dirnam self.distribution.do_pip_action(actions) self.distribution.patch_standard_packages() - self._print_action("Cleaning up distribution") - self.distribution.clean_up() # still usefull ? self._print_action("Writing package index") self.winpyver2 = f"{self.python_full_version}.{self.build_number}" output_markdown_filename = str(self.winpython_directory.parent / f"WinPython{self.flavor}-{self.distribution.architecture}bit-{self.winpyver2}.md") diff --git a/portable/build_my_launchers.bat b/portable/build_my_launchers.bat index 04c4671e..579a96e6 100644 --- a/portable/build_my_launchers.bat +++ b/portable/build_my_launchers.bat @@ -7,21 +7,26 @@ set VCVARS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\ rem pick the right ones and rename them in launchers_final set do_launcher=%~dp0launchers_src\build_one_launcher.bat +set do_launcher_original=%~dp0launchers_src_original\build_one_launcher.bat ::WINDOWS launchers -call %do_launcher% "powershell.ico" "cmd_ps.bat" "WinPython Powershell Prompt" WINDOWS +rem call %do_launcher% "python.ico" "winidle.bat" "IDLE (Python GUI)" WINDOWS proposed +echo displace this pause if you want to re-build more pause -call %do_launcher% "python.ico" "winidle.bat" "IDLE (Python GUI)" WINDOWS -call %do_launcher% "spyder.ico" "winspyder.bat" "Spyder" WINDOWS -call %do_launcher% "spyder_reset.ico" "spyder_reset.bat" "Spyder reset" WINDOWS -call %do_launcher% "code.ico" "winvscode.bat" "VS Code" WINDOWS +rem exit + + +call %do_launcher% "powershell.ico" "cmd_ps.bat" "WinPython Powershell Prompt" WINDOWS proposed +call %do_launcher% "spyder.ico" "winspyder.bat" "Spyder" WINDOWS proposed +call %do_launcher% "spyder_reset.ico" "spyder_reset.bat" "Spyder reset" WINDOWS proposed +call %do_launcher% "code.ico" "winvscode.bat" "VS Code" WINDOWS proposed :: CONSOLE launchers -call %do_launcher% "cmd.ico" "cmd.bat" "WinPython Command Prompt" CONSOLE -call %do_launcher% "python.ico" "winpython.bat" "WinPython Interpreter" CONSOLE -call %do_launcher% "jupyter.ico" "winipython_notebook.bat" "Jupyter Notebook" CONSOLE -call %do_launcher% "jupyter.ico" "winjupyter_lab.bat" "Jupyter Lab" CONSOLE -call %do_launcher% "winpython.ico" "wpcp.bat" "WinPython Control Panel" CONSOLE +call %do_launcher% "cmd.ico" "cmd.bat" "WinPython Command Prompt" CONSOLE proposed +call %do_launcher% "python.ico" "winpython.bat" "WinPython Interpreter" CONSOLE proposed +call %do_launcher% "jupyter.ico" "winipython_notebook.bat" "Jupyter Notebook" CONSOLE proposed +call %do_launcher% "jupyter.ico" "winjupyter_lab.bat" "Jupyter Lab" CONSOLE proposed +call %do_launcher% "winpython.ico" "wpcp.bat" "WinPython Control Panel" CONSOLE proposed pause diff --git a/portable/launchers_final/Jupyter Lab.exe b/portable/launchers_final/Jupyter Lab.exe index 98bb8bde..93003fcb 100644 Binary files a/portable/launchers_final/Jupyter Lab.exe and b/portable/launchers_final/Jupyter Lab.exe differ diff --git a/portable/launchers_final/Jupyter Notebook.exe b/portable/launchers_final/Jupyter Notebook.exe index 5d59af59..28fdbea3 100644 Binary files a/portable/launchers_final/Jupyter Notebook.exe and b/portable/launchers_final/Jupyter Notebook.exe differ diff --git a/portable/launchers_final_original/IDLE (Python GUI).exe b/portable/launchers_final_original/IDLE (Python GUI).exe new file mode 100644 index 00000000..c1e0c9dc Binary files /dev/null and b/portable/launchers_final_original/IDLE (Python GUI).exe differ diff --git a/portable/launchers_final_original/Jupyter Lab.exe b/portable/launchers_final_original/Jupyter Lab.exe new file mode 100644 index 00000000..98bb8bde Binary files /dev/null and b/portable/launchers_final_original/Jupyter Lab.exe differ diff --git a/portable/launchers_final_original/Jupyter Notebook.exe b/portable/launchers_final_original/Jupyter Notebook.exe new file mode 100644 index 00000000..5d59af59 Binary files /dev/null and b/portable/launchers_final_original/Jupyter Notebook.exe differ diff --git a/portable/launchers_final_original/Spyder reset.exe b/portable/launchers_final_original/Spyder reset.exe new file mode 100644 index 00000000..21250f98 Binary files /dev/null and b/portable/launchers_final_original/Spyder reset.exe differ diff --git a/portable/launchers_final_original/Spyder.exe b/portable/launchers_final_original/Spyder.exe new file mode 100644 index 00000000..43874aa7 Binary files /dev/null and b/portable/launchers_final_original/Spyder.exe differ diff --git a/portable/launchers_final_original/VS Code.exe b/portable/launchers_final_original/VS Code.exe new file mode 100644 index 00000000..225decb4 Binary files /dev/null and b/portable/launchers_final_original/VS Code.exe differ diff --git a/portable/launchers_final_original/WinPython Command Prompt.exe b/portable/launchers_final_original/WinPython Command Prompt.exe new file mode 100644 index 00000000..e4e824c5 Binary files /dev/null and b/portable/launchers_final_original/WinPython Command Prompt.exe differ diff --git a/portable/launchers_final_original/WinPython Control Panel.exe b/portable/launchers_final_original/WinPython Control Panel.exe new file mode 100644 index 00000000..5795bf9c Binary files /dev/null and b/portable/launchers_final_original/WinPython Control Panel.exe differ diff --git a/portable/launchers_final_original/WinPython Interpreter.exe b/portable/launchers_final_original/WinPython Interpreter.exe new file mode 100644 index 00000000..dfa43135 Binary files /dev/null and b/portable/launchers_final_original/WinPython Interpreter.exe differ diff --git a/portable/launchers_final_original/WinPython Powershell Prompt.exe b/portable/launchers_final_original/WinPython Powershell Prompt.exe new file mode 100644 index 00000000..d4512f32 Binary files /dev/null and b/portable/launchers_final_original/WinPython Powershell Prompt.exe differ diff --git a/portable/launchers_final_proposed/IDLE (Python GUI).exe b/portable/launchers_final_proposed/IDLE (Python GUI).exe new file mode 100644 index 00000000..01eed2ce Binary files /dev/null and b/portable/launchers_final_proposed/IDLE (Python GUI).exe differ diff --git a/portable/launchers_final_proposed/Jupyter Lab.exe b/portable/launchers_final_proposed/Jupyter Lab.exe new file mode 100644 index 00000000..93003fcb Binary files /dev/null and b/portable/launchers_final_proposed/Jupyter Lab.exe differ diff --git a/portable/launchers_final_proposed/Jupyter Notebook.exe b/portable/launchers_final_proposed/Jupyter Notebook.exe new file mode 100644 index 00000000..28fdbea3 Binary files /dev/null and b/portable/launchers_final_proposed/Jupyter Notebook.exe differ diff --git a/portable/launchers_final_proposed/Spyder reset.exe b/portable/launchers_final_proposed/Spyder reset.exe new file mode 100644 index 00000000..0baf4ab3 Binary files /dev/null and b/portable/launchers_final_proposed/Spyder reset.exe differ diff --git a/portable/launchers_final_proposed/Spyder.exe b/portable/launchers_final_proposed/Spyder.exe new file mode 100644 index 00000000..f3729201 Binary files /dev/null and b/portable/launchers_final_proposed/Spyder.exe differ diff --git a/portable/launchers_final_proposed/VS Code.exe b/portable/launchers_final_proposed/VS Code.exe new file mode 100644 index 00000000..731f5f52 Binary files /dev/null and b/portable/launchers_final_proposed/VS Code.exe differ diff --git a/portable/launchers_final_proposed/WinPython Command Prompt.exe b/portable/launchers_final_proposed/WinPython Command Prompt.exe new file mode 100644 index 00000000..6f1b6bd6 Binary files /dev/null and b/portable/launchers_final_proposed/WinPython Command Prompt.exe differ diff --git a/portable/launchers_final_proposed/WinPython Control Panel.exe b/portable/launchers_final_proposed/WinPython Control Panel.exe new file mode 100644 index 00000000..664ff576 Binary files /dev/null and b/portable/launchers_final_proposed/WinPython Control Panel.exe differ diff --git a/portable/launchers_final_proposed/WinPython Interpreter.exe b/portable/launchers_final_proposed/WinPython Interpreter.exe new file mode 100644 index 00000000..e0cdbe77 Binary files /dev/null and b/portable/launchers_final_proposed/WinPython Interpreter.exe differ diff --git a/portable/launchers_final_proposed/WinPython Powershell Prompt.exe b/portable/launchers_final_proposed/WinPython Powershell Prompt.exe new file mode 100644 index 00000000..c6bda2eb Binary files /dev/null and b/portable/launchers_final_proposed/WinPython Powershell Prompt.exe differ diff --git a/portable/launchers_final_proposed/license.txt b/portable/launchers_final_proposed/license.txt new file mode 100644 index 00000000..da461f3b --- /dev/null +++ b/portable/launchers_final_proposed/license.txt @@ -0,0 +1,37 @@ +Note +---- + +WinPython components are distributed as they were received from +their copyright holder, under their own copyright and/or license, +and without any linking with each other. + +WinPython software collection (i.e. the collection of software, +libraries and documents) is licensed under the terms of the +following license agreement. + + +WinPython License Agreement (MIT License) +----------------------------------------- + +Copyright (c) 2012 Pierre Raybaut, 2016+ WinPython team + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/portable/launchers_src/launcher_template_CONSOLE.cpp b/portable/launchers_src/launcher_template_CONSOLE.cpp index 93614b9e..1008d7f0 100644 --- a/portable/launchers_src/launcher_template_CONSOLE.cpp +++ b/portable/launchers_src/launcher_template_CONSOLE.cpp @@ -19,6 +19,26 @@ int main() { std::wstring exeDir = exePath; exeDir = exeDir.substr(0, exeDir.find_last_of(L"\\/")); + // Get command line string and extract arguments + LPWSTR commandLine = GetCommandLineW(); + std::wstring args; + // If executable path is double quoted, skip the entire quoted section + if (commandLine[0] == L'"') { + LPWSTR closingQuote = wcschr(commandLine + 1, L'"'); + if (closingQuote) { + args = closingQuote + 1; + } + // For non-quoted path, skip to character after first space if it exists + } else { + LPWSTR spacePos = wcschr(commandLine, L' '); + if (spacePos) { + args = spacePos + 1; + } + } + // Strip leading whitespace + size_t args_start = args.find_first_not_of(L' '); + args = (args_start != std::wstring::npos) ? args.substr(args_start) : L""; + // Define the path to the "scripts" directory std::wstring scriptsDir = exeDir + L"\\scripts"; @@ -37,8 +57,13 @@ int main() { return 1; } - // Define the command to run - std::wstring target = L"cmd.exe /c \"" LAUNCH_TARGET L"\""; + // Define the command to run and append arguments if present + std::wstring target; + if (!args.empty()) { + target = L"cmd.exe /c \"\"" LAUNCH_TARGET L"\" " + args + L"\""; + } else { + target = L"cmd.exe /c \"" LAUNCH_TARGET L"\""; + } // Configure the process startup info STARTUPINFO si = { sizeof(si) }; diff --git a/portable/launchers_src/launcher_template_WINDOWS.cpp b/portable/launchers_src/launcher_template_WINDOWS.cpp index 9c878be6..6b10a89a 100644 --- a/portable/launchers_src/launcher_template_WINDOWS.cpp +++ b/portable/launchers_src/launcher_template_WINDOWS.cpp @@ -19,6 +19,26 @@ int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR / std::wstring exeDir = exePath; exeDir = exeDir.substr(0, exeDir.find_last_of(L"\\/")); + // Get command line string and extract arguments + LPWSTR commandLine = GetCommandLineW(); + std::wstring args; + // If executable path is double quoted, skip the entire quoted section + if (commandLine[0] == L'"') { + LPWSTR closingQuote = wcschr(commandLine + 1, L'"'); + if (closingQuote) { + args = closingQuote + 1; + } + // For non-quoted path, skip to character after first space if it exists + } else { + LPWSTR spacePos = wcschr(commandLine, L' '); + if (spacePos) { + args = spacePos + 1; + } + } + // Strip leading whitespace + size_t args_start = args.find_first_not_of(L" "); + args = (args_start != std::wstring::npos) ? args.substr(args_start) : L""; + // Define the path to the "scripts" directory std::wstring scriptsDir = exeDir + L"\\scripts"; @@ -37,8 +57,13 @@ int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR / return 1; } - // Define the command to run - std::wstring target = L"cmd.exe /c \"" LAUNCH_TARGET L"\""; + // Define the command to run and append arguments if present + std::wstring target; + if (!args.empty()) { + target = L"cmd.exe /c \"\"" LAUNCH_TARGET L"\" " + args + L"\""; + } else { + target = L"cmd.exe /c \"" LAUNCH_TARGET L"\""; + } // Configure the process startup info STARTUPINFO si = { sizeof(si) }; diff --git a/portable/launchers_src_original/LICENSE b/portable/launchers_src_original/LICENSE new file mode 100644 index 00000000..b3fb976c --- /dev/null +++ b/portable/launchers_src_original/LICENSE @@ -0,0 +1,63 @@ +DataLab-WinPython license terms +=============================== + +DataLab-WinPython is a Python distribution for Windows: +- Based on WinPython, a portable distribution of Python for Windows (see section I. below). +- Including DataLab, an open-source platform for signal and image processing (see section II. below). + +I. - WinPython License Agreement (MIT License) +---------------------------------------------- + +Copyright (c) 2012 Pierre Raybaut, 2016+ WinPython team + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +II. - DataLab License Agreement (BSD 3-Clause License) +------------------------------------------------------ + +Copyright (c) 2023, DataLab Platform Developers. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/portable/launchers_src_original/build_one_launcher.bat b/portable/launchers_src_original/build_one_launcher.bat new file mode 100644 index 00000000..233f68de --- /dev/null +++ b/portable/launchers_src_original/build_one_launcher.bat @@ -0,0 +1,107 @@ +@echo on +set icon_name=%1 +set LAUNCH_TARGET=%2 +set launcher_name=%3 +set subsystem=%4 + +set icon_name=%icon_name:"=% +set LAUNCH_TARGET=%LAUNCH_TARGET:"=% +set launcher_name=%launcher_name:"=% +set subsystem=%subsystem:"=% + +set ROOT_PATH=%~dp0..\ +set SCRIPT_PATH=%~dp0 +set TEMPO_PATH=%ROOT_PATH%launchers_temp +set OUTPUT_DIR=%ROOT_PATH%launchers_final + +set "ICON_FILE=%ROOT_PATH%icons\%icon_name%" +set LAUNCHER_EXE=%OUTPUT_DIR%\%launcher_name%.exe + + +:: Paths to template WINDOWS or CONSOLE +set SOURCE_FILE=%SCRIPT_PATH%launcher_template_%subsystem%.cpp +echo SOURCE_FILE=%SOURCE_FILE% + +set "RESOURCE_FILE=%TEMPO_PATH%\%icon_name%.rc" +set "RESOURCE_OBJ=%TEMPO_PATH%\%icon_name%.res" + + +:: create pDirectory if needed +if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%" +if not exist "%TEMPO_PATH%" mkdir "%TEMPO_PATH%" + +cd/d %TEMPO_PATH% + +:: Check if MSVC environment is already initialized +if not defined VSINSTALLDIR ( + echo Initializing MSVC environment... + call %VCVARS_PATH% + if errorlevel 1 ( + echo [ERROR] Failed to initialize MSVC environment. + exit /b 1 + ) +) + +@echo on + +:: Walk through .bat files in the current directory + echo Processing %icon_name%.. + :: Stonebig: Remove previous .exe file + echo launcher_exe_action del /q "%LAUNCHER_EXE%" + if exist "%LAUNCHER_EXE%" ( + move "%LAUNCHER_EXE%" "%LAUNCHER_EXE%.old.exe" + del /q "%LAUNCHER_EXE%.old.exe" + ) + :: Stonebig: Remove intermediate .res and.rc file + if exist "%RESOURCE_OBJ%" ( + move "%RESOURCE_OBJ%" "%RESOURCE_OBJ%.old.exe" + del /q "%RESOURCE_OBJ%.old.exe" + ) + if exist "%RESOURCE_FILE%" ( + move "%RESOURCE_FILE%" "%RESOURCE_FILE%.old.exe" + del /q "%RESOURCE_FILE%.old.exe" + ) + :: Remove intermediate .obj file + del /q "launcher_template_%subsystem%.obj" + + :: Check if the icon exists + if exist "%ICON_FILE%" ( + echo Icon found: "%ICON_FILE%" + ) else ( + echo No icon found for "%ICON_FILE%" stoping + pause + exit + ) + + + :: Create resource file + echo Creating resource file... + > "%RESOURCE_FILE%" echo IDI_ICON1 ICON "%ICON_FILE%" + :: Compile resource + echo Compiling resource... + rc /fo "%RESOURCE_OBJ%" "%RESOURCE_FILE%" + + :: Compile the launcher executable + echo Compiling launcher executable... + cl /EHsc /O2 /DUNICODE /W4 "%SOURCE_FILE%" "%RESOURCE_OBJ%" ^ + /Fe"%LAUNCHER_EXE%%" ^ + /DLAUNCH_TARGET=\"%LAUNCH_TARGET%\" ^ + User32.lib ^ + /link /SUBSYSTEM:%subsystem% + + + if errorlevel 1 ( + echo [ERROR] Failed to build launcher for %LAUNCH_TARGET% + exit /b 1 + ) + + if exist "%LAUNCHER_EXE%" ( + echo [SUCCESS] Launcher created: "%LAUNCHER_EXE%"" + ) else ( + echo [ERROR] Failed to build launcher "%LAUNCHER_EXE%" from "%icon_name%" to call "%LAUNCH_TARGET%" + exit /b 1 + ) + +echo All launchers processed. +rem exit /b 0 + diff --git a/portable/launchers_src_original/launcher_template_CONSOLE.cpp b/portable/launchers_src_original/launcher_template_CONSOLE.cpp new file mode 100644 index 00000000..93614b9e --- /dev/null +++ b/portable/launchers_src_original/launcher_template_CONSOLE.cpp @@ -0,0 +1,75 @@ +/* +DataLab-WinPython launcher script +--------------------------------- + +Licensed under the terms of the BSD 3-Clause +(see ./LICENSE for details) + +*/ + +#include +#include + +int main() { + // Get the path to the current executable + wchar_t exePath[MAX_PATH]; + GetModuleFileNameW(NULL, exePath, MAX_PATH); + + // Determine the directory of the executable + std::wstring exeDir = exePath; + exeDir = exeDir.substr(0, exeDir.find_last_of(L"\\/")); + + // Define the path to the "scripts" directory + std::wstring scriptsDir = exeDir + L"\\scripts"; + + // Check if the "scripts" directory exists + DWORD attributes = GetFileAttributesW(scriptsDir.c_str()); + if (attributes == INVALID_FILE_ATTRIBUTES || !(attributes & FILE_ATTRIBUTE_DIRECTORY)) { + MessageBoxW(NULL, L"The 'scripts' directory does not exist. Please ensure it is in the same folder as the launcher.", + L"Launcher Error", MB_ICONERROR); + return 1; + } + + // Set the working directory to the "scripts" folder + if (!SetCurrentDirectoryW(scriptsDir.c_str())) { + MessageBoxW(NULL, L"Failed to set the working directory to 'scripts'.", + L"Launcher Error", MB_ICONERROR); + return 1; + } + + // Define the command to run + std::wstring target = L"cmd.exe /c \"" LAUNCH_TARGET L"\""; + + // Configure the process startup info + STARTUPINFO si = { sizeof(si) }; + si.dwFlags = STARTF_USESHOWWINDOW; // Prevent the window from appearing + si.wShowWindow = SW_HIDE; // Hide the command window + + PROCESS_INFORMATION pi = {}; + + // Start the process without CREATE_NO_WINDOW flag to show the command window + if (!CreateProcessW( + NULL, // Application name (NULL because we pass the command in the command line) + &target[0], // Command line + NULL, // Process security attributes + NULL, // Thread security attributes + FALSE, // Inherit handles + 0, // No special flags + NULL, // Environment block (NULL to inherit parent) + NULL, // Current directory (NULL to use the parent process's current directory) + &si, // Startup info + &pi // Process information + )) { + MessageBoxW(NULL, L"Failed to launch the script.", L"Launcher Error", MB_ICONERROR); + return 1; + } + + // Wait for the script to finish + WaitForSingleObject(pi.hProcess, INFINITE); + + // Cleanup + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); + + return 0; +} diff --git a/portable/launchers_src_original/launcher_template_WINDOWS.cpp b/portable/launchers_src_original/launcher_template_WINDOWS.cpp new file mode 100644 index 00000000..9c878be6 --- /dev/null +++ b/portable/launchers_src_original/launcher_template_WINDOWS.cpp @@ -0,0 +1,75 @@ +/* +DataLab-WinPython launcher script +--------------------------------- + +Licensed under the terms of the BSD 3-Clause +(see ./LICENSE for details) + +*/ + +#include +#include + +int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int /*nShowCmd*/) { + // Get the path to the current executable + wchar_t exePath[MAX_PATH]; + GetModuleFileNameW(NULL, exePath, MAX_PATH); + + // Determine the directory of the executable + std::wstring exeDir = exePath; + exeDir = exeDir.substr(0, exeDir.find_last_of(L"\\/")); + + // Define the path to the "scripts" directory + std::wstring scriptsDir = exeDir + L"\\scripts"; + + // Check if the "scripts" directory exists + DWORD attributes = GetFileAttributesW(scriptsDir.c_str()); + if (attributes == INVALID_FILE_ATTRIBUTES || !(attributes & FILE_ATTRIBUTE_DIRECTORY)) { + MessageBoxW(NULL, L"The 'scripts' directory does not exist. Please ensure it is in the same folder as the launcher.", + L"Launcher Error", MB_ICONERROR); + return 1; + } + + // Set the working directory to the "scripts" folder + if (!SetCurrentDirectoryW(scriptsDir.c_str())) { + MessageBoxW(NULL, L"Failed to set the working directory to 'scripts'.", + L"Launcher Error", MB_ICONERROR); + return 1; + } + + // Define the command to run + std::wstring target = L"cmd.exe /c \"" LAUNCH_TARGET L"\""; + + // Configure the process startup info + STARTUPINFO si = { sizeof(si) }; + si.dwFlags = STARTF_USESHOWWINDOW; // Prevent the window from appearing + si.wShowWindow = SW_HIDE; // Hide the command window + + PROCESS_INFORMATION pi = {}; + + // Start the process with CREATE_NO_WINDOW flag + if (!CreateProcessW( + NULL, // Application name (NULL because we pass the command in the command line) + &target[0], // Command line + NULL, // Process security attributes + NULL, // Thread security attributes + FALSE, // Inherit handles + CREATE_NO_WINDOW, // Flags to prevent creating a window + NULL, // Environment block (NULL to inherit parent) + NULL, // Current directory (NULL to use the parent process's current directory) + &si, // Startup info + &pi // Process information + )) { + MessageBoxW(NULL, L"Failed to launch the script.", L"Launcher Error", MB_ICONERROR); + return 1; + } + + // Wait for the script to finish + WaitForSingleObject(pi.hProcess, INFINITE); + + // Cleanup + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); + + return 0; +} diff --git a/portable/scripts/make_winpython_fix.bat b/portable/scripts/make_winpython_fix.bat deleted file mode 100644 index a0dddfa6..00000000 --- a/portable/scripts/make_winpython_fix.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off -call "%~dp0env.bat" -echo patch pip and current launchers for non-move - -"%WINPYDIR%\python.exe" -c "from winpython import wppm;dist=wppm.Distribution(r'%WINPYDIR%');dist.patch_standard_packages('pip', to_movable=False)" -pause \ No newline at end of file diff --git a/portable/scripts/make_winpython_movable.bat b/portable/scripts/make_winpython_movable.bat deleted file mode 100644 index 2ae903f8..00000000 --- a/portable/scripts/make_winpython_movable.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off -call "%~dp0env.bat" -echo patch pip and current launchers for move - -"%WINPYDIR%\python.exe" -c "from winpython import wppm;dist=wppm.Distribution(r'%WINPYDIR%');dist.patch_standard_packages('pip', to_movable=True)" -pause \ No newline at end of file diff --git a/portable/scripts/register_python.bat b/portable/scripts/register_python.bat deleted file mode 100644 index 0298a25f..00000000 --- a/portable/scripts/register_python.bat +++ /dev/null @@ -1,3 +0,0 @@ -@echo off -call "%~dp0env_for_icons.bat" -"%WINPYDIR%\python.exe" "%WINPYDIR%\Lib\site-packages\winpython\associate.py" diff --git a/portable/scripts/unregister_python.bat b/portable/scripts/unregister_python.bat deleted file mode 100644 index 6b170231..00000000 --- a/portable/scripts/unregister_python.bat +++ /dev/null @@ -1,3 +0,0 @@ -@echo off -call "%~dp0env_for_icons.bat" -"%WINPYDIR%\python.exe" "%WINPYDIR%\Lib\site-packages\winpython\associate.py" --unregister diff --git a/portable/scripts/winqtconsole.bat b/portable/scripts/winqtconsole.bat deleted file mode 100644 index c05e36fa..00000000 --- a/portable/scripts/winqtconsole.bat +++ /dev/null @@ -1,3 +0,0 @@ -@echo off -call "%~dp0env_for_icons.bat" %* -"%WINPYDIR%\scripts\jupyter-qtconsole.exe" %* \ No newline at end of file diff --git a/portable/scripts/wpcp.bat b/portable/scripts/wpcp.bat index 769d4a4c..5edb982c 100644 --- a/portable/scripts/wpcp.bat +++ b/portable/scripts/wpcp.bat @@ -1,3 +1,3 @@ @echo off call "%~dp0env_for_icons.bat" %* -cmd.exe /k "echo wppm & wppm" %* \ No newline at end of file +cmd.exe /k "echo wppm & wppm %*" \ No newline at end of file diff --git a/winpython/__init__.py b/winpython/__init__.py index 32bccb82..cac91627 100644 --- a/winpython/__init__.py +++ b/winpython/__init__.py @@ -28,6 +28,6 @@ OTHER DEALINGS IN THE SOFTWARE. """ -__version__ = '15.3.20250425' +__version__ = '15.5620250513' __license__ = __doc__ __project_url__ = 'http://winpython.github.io/' diff --git a/winpython/utils.py b/winpython/utils.py index 98a2b1f0..40961ec1 100644 --- a/winpython/utils.py +++ b/winpython/utils.py @@ -43,6 +43,26 @@ def get_site_packages_path(path=None): pypy_site_packages = base_dir / 'site-packages' # For PyPy return str(pypy_site_packages if pypy_site_packages.is_dir() else site_packages) +def get_installed_tools_markdown(path=None)-> str: + """Generates Markdown for installed tools section in package index.""" + tool_lines = [] + python_exe = Path(get_python_executable(path)) + version = exec_shell_cmd(f'powershell (Get-Item {python_exe}).VersionInfo.FileVersion', python_exe.parent).splitlines()[0] + tool_lines.append(f"[Python](http://www.python.org/) | {version} | Python programming language with standard library") + if (node_exe := python_exe.parent.parent / "n" / "node.exe").exists(): + version = exec_shell_cmd(f'powershell (Get-Item {node_exe}).VersionInfo.FileVersion', node_exe.parent).splitlines()[0] + tool_lines.append(f"[Nodejs](https://nodejs.org) | {version} | a JavaScript runtime built on Chrome's V8 JavaScript engine") + + if (pandoc_exe := python_exe.parent.parent / "t" / "pandoc.exe").exists(): + version = exec_shell_cmd("pandoc -v", pandoc_exe.parent).splitlines()[0].split(" ")[-1] + tool_lines.append(f"[Pandoc](https://pandoc.org) | {version} | an universal document converter") + + if (vscode_exe := python_exe.parent.parent / "t" / "VSCode" / "Code.exe").exists(): + version = exec_shell_cmd(f'powershell (Get-Item {vscode_exe}).VersionInfo.FileVersion', vscode_exe.parent).splitlines()[0] + tool_lines.append(f"[VSCode](https://code.visualstudio.com) | {version} | a source-code editor developed by Microsoft") + return "\n".join(tool_lines) + + def onerror(function, path, excinfo): """Error handler for `shutil.rmtree`.""" if not os.access(path, os.W_OK): diff --git a/winpython/wheelhouse.py b/winpython/wheelhouse.py new file mode 100644 index 00000000..b29f560e --- /dev/null +++ b/winpython/wheelhouse.py @@ -0,0 +1,84 @@ +# +# WheelHouse.py +import sys +from pathlib import Path +from collections import defaultdict + +# Use tomllib if available (Python 3.11+), otherwise fall back to tomli +try: + import tomllib # Python 3.11+ +except ImportError: + try: + import tomli as tomllib # For older Python versions + except ImportError: + print("Please install tomli for Python < 3.11: pip install tomli") + sys.exit(1) + + + +def parse_pylock_toml(path): + with open(Path(path), "rb") as f: + data = tomllib.load(f) + + # This dictionary maps package names to (version, [hashes]) + package_hashes = defaultdict(lambda: {"version": "", "hashes": []}) + + for entry in data.get("packages", []): + name = entry["name"] + version = entry["version"] + all_hashes = [] + + # Handle wheels + for wheel in entry.get("wheels", []): + sha256 = wheel.get("hashes", {}).get("sha256") + if sha256: + all_hashes.append(sha256) + + # Handle sdist (if present) + sdist = entry.get("sdist") + if sdist and "hashes" in sdist: + sha256 = sdist["hashes"].get("sha256") + if sha256: + all_hashes.append(sha256) + + package_hashes[name]["version"] = version + package_hashes[name]["hashes"].extend(all_hashes) + + return package_hashes + + +def write_requirements_txt(package_hashes, output_path="requirements.txt"): + with open(Path(output_path), "w") as f: + for name, data in sorted(package_hashes.items()): + version = data["version"] + hashes = data["hashes"] + + if hashes: + f.write(f"{name}=={version} \\\n") + for i, h in enumerate(hashes): + end = " \\\n" if i < len(hashes) - 1 else "\n" + f.write(f" --hash=sha256:{h}{end}") + else: + f.write(f"{name}=={version}\n") + + print(f"✅ requirements.txt written to {output_path}") + +def pylock_to_req(path, output_path=None): + pkgs = parse_pylock_toml(path) + if not output_path: + output_path = path.parent / (path.stem.replace('pylock','requirement_with_hash')+ '.txt') + write_requirements_txt(pkgs, output_path) + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("Usage: python pylock_to_requirements.py pylock.toml") + sys.exit(1) + + path = Path(sys.argv[1]) + if not path.exists(): + print(f"❌ File not found: {path}") + sys.exit(1) + + pkgs = parse_pylock_toml(path) + dest = path.parent / (path.stem.replace('pylock','requirement_with_hash')+ '.txt') + write_requirements_txt(pkgs, dest) diff --git a/winpython/wppm.py b/winpython/wppm.py index 3989a3c5..659d14a4 100644 --- a/winpython/wppm.py +++ b/winpython/wppm.py @@ -45,22 +45,8 @@ def __init__(self, target: str = None, verbose: bool = False): self.pip = None self.to_be_removed = [] self.version, self.architecture = utils.get_python_infos(self.target) - self.short_exe = Path(utils.get_python_executable(self.target)).name - - def clean_up(self): - """Remove directories that were marked for removal.""" - for path in self.to_be_removed: - try: - shutil.rmtree(path, onexc=utils.onerror) - except OSError as e: - print(f"Error: Could not remove directory {path}: {e}", file=sys.stderr) - - def remove_directory(self, path: str): - """Try to remove a directory, add to removal list on failure.""" - try: - shutil.rmtree(path) - except OSError: - self.to_be_removed.append(path) + self.python_exe = utils.get_python_executable(self.target) + self.short_exe = Path(self.python_exe).name def create_file(self, package, name, dstdir, contents): """Generate data file -- path is relative to distribution root dir""" @@ -74,16 +60,20 @@ def create_file(self, package, name, dstdir, contents): def get_installed_packages(self, update: bool = False) -> list[Package]: """Return installed packages.""" - - # Include package installed via pip (not via WPPM) if str(Path(sys.executable).parent) == self.target: self.pip = piptree.PipData() else: self.pip = piptree.PipData(utils.get_python_executable(self.target)) - pip_list = self.pip.pip_list() + pip_list = self.pip.pip_list(full=True) + return [Package(f"{i[0].replace('-', '_').lower()}-{i[1]}-py3-none-any.whl", suggested_summary=i[2]) for i in pip_list] - # return a list of package objects - return [Package(f"{i[0].replace('-', '_').lower()}-{i[1]}-py3-none-any.whl") for i in pip_list] + def get_installed_packages_markdown(self) -> str: + """Generates Markdown for installed packages section in package index.""" + package_lines = [ + f"[{pkg.name}]({pkg.url}) | {pkg.version} | {pkg.description}" + for pkg in sorted(self.get_installed_packages(), key=lambda p: p.name.lower()) + ] + return "\n".join(package_lines) def find_package(self, name: str) -> Package | None: """Find installed package by name.""" @@ -235,81 +225,30 @@ def install_bdist_direct(self, package, install_options=None): def main(test=False): - registerWinPythonHelp = f"Register distribution: associate file extensions, icons and context menu with this WinPython" - unregisterWinPythonHelp = f"Unregister distribution: de-associate file extensions, icons and context menu from this WinPython" + registerWinPythonHelp = f"Register WinPython: associate file extensions, icons and context menu with this WinPython" + unregisterWinPythonHelp = f"Unregister WinPython: de-associate file extensions, icons and context menu from this WinPython" parser = ArgumentParser( description="WinPython Package Manager: handle a WinPython Distribution and its packages", formatter_class=RawTextHelpFormatter, ) - parser.add_argument( - "fname", - metavar="package", - nargs="?", - default="", - type=str, - help="optional package name or package wheel", - ) - parser.add_argument( - "--register", - dest="registerWinPython", - action="store_true", # Store True when flag is present - help=registerWinPythonHelp, - ) - parser.add_argument( - "--unregister", - dest="unregisterWinPython", - action="store_true", - help=unregisterWinPythonHelp, - ) - parser.add_argument( - "-v", "--verbose", - action="store_true", - help="show more details on packages and actions", - ) - parser.add_argument( - "-ls", "--list", - action="store_true", - help="list installed packages matching the given [optional] package expression: wppm -ls, wppm -ls pand", - ) - parser.add_argument( - "-p", - dest="pipdown", - action="store_true", - help="show Package dependencies of the given package[option]: wppm -p pandas[test]", - ) - parser.add_argument( - "-r", - dest="pipup", - action="store_true", - help=f"show Reverse dependancies of the given package[option]: wppm -r pytest[test]", - ) - parser.add_argument( - "-l", "--levels", - type=int, - default=2, - help="show 'LEVELS' levels of dependencies (with -p, -r), default is 2: wppm -p pandas -l1", - ) - parser.add_argument( - "-lsa", - dest="all", - action="store_true", - help=f"list details of package names matching given regular expression: wppm -lsa pandas -l1", - ) - parser.add_argument( - "-t", "--target", - default=sys.prefix, - help=f'path to target Python distribution (default: "{sys.prefix}")', - ) - parser.add_argument( - "-i", "--install", - action="store_true", - help="install a given package wheel (use pip for more features)", - ) - parser.add_argument( - "-u", "--uninstall", - action="store_true", # Store True when flag is present - help="uninstall package (use pip for more features)", - ) + parser.add_argument("fname", metavar="package", nargs="?", default="", type=str, help="optional package name or package wheel") + parser.add_argument("-v", "--verbose", action="store_true", help="show more details on packages and actions") + parser.add_argument( "--register", dest="registerWinPython", action="store_true", help=registerWinPythonHelp) + # parser.add_argument( "--register_forall", action="store_true", help="Register distribution for all users") + parser.add_argument("--unregister", dest="unregisterWinPython", action="store_true", help=unregisterWinPythonHelp) + # parser.add_argument( "--unregister_forall", action="store_true", help="un-Register distribution for all users") + parser.add_argument("--fix", action="store_true", help="make WinPython fix") + parser.add_argument("--movable", action="store_true", help="make WinPython movable") + parser.add_argument("-ls", "--list", action="store_true", help="list installed packages matching the given [optional] package expression: wppm -ls, wppm -ls pand") + parser.add_argument("-lsa", dest="all", action="store_true",help=f"list details of package names matching given regular expression: wppm -lsa pandas -l1") + parser.add_argument("-p",dest="pipdown",action="store_true",help="show Package dependencies of the given package[option]: wppm -p pandas[test]") + parser.add_argument("-r", dest="pipup", action="store_true", help=f"show Reverse dependancies of the given package[option]: wppm -r pytest[test]") + parser.add_argument("-l", "--levels", type=int, default=2, help="show 'LEVELS' levels of dependencies (with -p, -r), default is 2: wppm -p pandas -l1") + parser.add_argument("-t", "--target", default=sys.prefix, help=f'path to target Python distribution (default: "{sys.prefix}")') + parser.add_argument("-i", "--install", action="store_true", help="install a given package wheel (use pip for more features)") + parser.add_argument("-u", "--uninstall", action="store_true", help="uninstall package (use pip for more features)") + + args = parser.parse_args() targetpython = None if args.target and args.target != sys.prefix: @@ -373,26 +312,35 @@ def main(test=False): if theAnswer == "Y": associate.unregister(dist.target, verbose=args.verbose) sys.exit() - elif not args.install and not args.uninstall: - args.install = True - if not Path(args.fname).is_file() and args.install: - if args.fname == "": - parser.print_help() - sys.exit() - else: - raise FileNotFoundError(f"File not found: {args.fname}") if utils.is_python_distribution(args.target): dist = Distribution(args.target, verbose=True) - try: - if args.uninstall: - package = dist.find_package(args.fname) - dist.uninstall(package) + cmd_fix = rf"from winpython import wppm;dist=wppm.Distribution(r'{dist.target}');dist.patch_standard_packages('pip', to_movable=False)" + cmd_mov = rf"from winpython import wppm;dist=wppm.Distribution(r'{dist.target}');dist.patch_standard_packages('pip', to_movable=True)" + if args.fix: + # dist.patch_standard_packages('pip', to_movable=False) # would fail on wppm.exe + p = subprocess.Popen(["start", "cmd", "/k",dist.python_exe, "-c" , cmd_fix], shell = True, cwd=dist.target) + sys.exit() + if args.movable: + p = subprocess.Popen(["start", "cmd", "/k",dist.python_exe, "-c" , cmd_mov], shell = True, cwd=dist.target) + sys.exit() + if not args.install and not args.uninstall: + args.install = True + if not Path(args.fname).is_file() and args.install: + if args.fname == "": + parser.print_help() + sys.exit() else: - package = Package(args.fname) - if args.install: - dist.install(package) - except NotImplementedError: - raise RuntimeError("Package is not (yet) supported by WPPM") + raise FileNotFoundError(f"File not found: {args.fname}") + try: + if args.uninstall: + package = dist.find_package(args.fname) + dist.uninstall(package) + elif args.install: + package = Package(args.fname) + if args.install: + dist.install(package) + except NotImplementedError: + raise RuntimeError("Package is not (yet) supported by WPPM") else: raise OSError(f"Invalid Python distribution {args.target}")