Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.3.0 to 12.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-pillow/Pillow/releases">pillow's releases</a>.</em></p> <blockquote> <h2>12.1.1</h2> <p><a href="https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html">https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html</a></p> <h2>Dependencies</h2> <ul> <li>Patch libavif for svt-av1 4.0 compatibility <a href="https://redirect.github.com/python-pillow/Pillow/issues/9413">#9413</a> [<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li> </ul> <h2>Other changes</h2> <ul> <li>Fix OOB Write with invalid tile extents <a href="https://redirect.github.com/python-pillow/Pillow/issues/9427">#9427</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> </ul> <h2>12.1.0</h2> <p><a href="https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html</a></p> <h2>Deprecations</h2> <ul> <li>Deprecate getdata(), in favour of new get_flattened_data() <a href="https://redirect.github.com/python-pillow/Pillow/issues/9292">#9292</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> </ul> <h2>Documentation</h2> <ul> <li>Specify APNG duration type when opening <a href="https://redirect.github.com/python-pillow/Pillow/issues/9368">#9368</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Added release notes for <a href="https://redirect.github.com/python-pillow/Pillow/issues/9350">#9350</a> <a href="https://redirect.github.com/python-pillow/Pillow/issues/9366">#9366</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update ImageMorph documentation <a href="https://redirect.github.com/python-pillow/Pillow/issues/9349">#9349</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Docs: update major bump cadence <a href="https://redirect.github.com/python-pillow/Pillow/issues/9334">#9334</a> [<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li> <li>Add release notes for <a href="https://redirect.github.com/python-pillow/Pillow/issues/9070">#9070</a> <a href="https://redirect.github.com/python-pillow/Pillow/issues/9320">#9320</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Updated Ubuntu version <a href="https://redirect.github.com/python-pillow/Pillow/issues/9306">#9306</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update macOS tested Pillow versions <a href="https://redirect.github.com/python-pillow/Pillow/issues/9265">#9265</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> </ul> <h2>Dependencies</h2> <ul> <li>Update harfbuzz to 12.3.0 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9355">#9355</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update xz to 5.8.2 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9343">#9343</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Updated libjpeg-turbo to 3.1.3 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9333">#9333</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Updated zlib-ng to 2.3.2 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9324">#9324</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Updated libpng to 1.6.53 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9325">#9325</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update actions/checkout action to v6 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9323">#9323</a> [@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li> <li>Update dependency mypy to v1.19.0 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9322">#9322</a> [@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li> <li>Updated libpng to 1.6.51 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9305">#9305</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Updated brotli to 1.2.0 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9284">#9284</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update libimagequant to 4.4.1 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9301">#9301</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update zlib-ng to 2.3.1, except on manylinux2014 aarch64 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9312">#9312</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Updated harfbuzz to 12.2.0 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9289">#9289</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Update github-actions <a href="https://redirect.github.com/python-pillow/Pillow/issues/9277">#9277</a> [@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li> </ul> <h2>Testing</h2> <ul> <li>Replace pre-commit with prek <a href="https://redirect.github.com/python-pillow/Pillow/issues/9360">#9360</a> [<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li> <li>Test PyQt6 on Python 3.14 on Windows <a href="https://redirect.github.com/python-pillow/Pillow/issues/9353">#9353</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Test 32-bit Windows on Windows Server 2022 <a href="https://redirect.github.com/python-pillow/Pillow/issues/9345">#9345</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Correct variable type <a href="https://redirect.github.com/python-pillow/Pillow/issues/9335">#9335</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="5158d98c80"><code>5158d98</code></a> 12.1.1 version bump</li> <li><a href="9000313cc5"><code>9000313</code></a> Fix OOB Write with invalid tile extents (<a href="https://redirect.github.com/python-pillow/Pillow/issues/9427">#9427</a>)</li> <li><a href="cd0111849f"><code>cd01118</code></a> Patch libavif for svt-av1 4.0 compatibility</li> <li><a href="46f45f674d"><code>46f45f6</code></a> 12.1.0 version bump</li> <li><a href="c9ac097edb"><code>c9ac097</code></a> Simplify band splitting (<a href="https://redirect.github.com/python-pillow/Pillow/issues/9291">#9291</a>)</li> <li><a href="3baedf2648"><code>3baedf2</code></a> Deprecate getdata(), in favour of new get_flattened_data() (<a href="https://redirect.github.com/python-pillow/Pillow/issues/9292">#9292</a>)</li> <li><a href="b51a036685"><code>b51a036</code></a> Specify APNG duration type when opening (<a href="https://redirect.github.com/python-pillow/Pillow/issues/9368">#9368</a>)</li> <li><a href="8d08e31533"><code>8d08e31</code></a> Add release notes for <a href="https://redirect.github.com/python-pillow/Pillow/issues/9348">#9348</a> (<a href="https://redirect.github.com/python-pillow/Pillow/issues/9369">#9369</a>)</li> <li><a href="432707ea81"><code>432707e</code></a> Added release notes for <a href="https://redirect.github.com/python-pillow/Pillow/issues/9348">#9348</a></li> <li><a href="2d589107fb"><code>2d58910</code></a> Specify APNG duration type when opening</li> <li>Additional commits viewable in <a href="https://github.com/python-pillow/Pillow/compare/11.3.0...12.1.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/langchain-ai/langchain/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ccurme <chester.curme@gmail.com>
The platform for reliable agents.
LangChain is a framework for building agents and LLM-powered applications. It helps you chain together interoperable components and third-party integrations to simplify AI application development – all while future-proofing decisions as the underlying technology evolves.
pip install langchain
If you're looking for more advanced customization or agent orchestration, check out LangGraph, our framework for building controllable agent workflows.
Documentation:
- docs.langchain.com – Comprehensive documentation, including conceptual overviews and guides
- reference.langchain.com/python – API reference docs for LangChain packages
- Chat LangChain – Chat with the LangChain documentation and get answers to your questions
Discussions: Visit the LangChain Forum to connect with the community and share all of your technical questions, ideas, and feedback.
Note
Looking for the JS/TS library? Check out LangChain.js.
Why use LangChain?
LangChain helps developers build applications powered by LLMs through a standard interface for models, embeddings, vector stores, and more.
Use LangChain for:
- Real-time data augmentation. Easily connect LLMs to diverse data sources and external/internal systems, drawing from LangChain's vast library of integrations with model providers, tools, vector stores, retrievers, and more.
- Model interoperability. Swap models in and out as your engineering team experiments to find the best choice for your application's needs. As the industry frontier evolves, adapt quickly – LangChain's abstractions keep you moving without losing momentum.
- Rapid prototyping. Quickly build and iterate on LLM applications with LangChain's modular, component-based architecture. Test different approaches and workflows without rebuilding from scratch, accelerating your development cycle.
- Production-ready features. Deploy reliable applications with built-in support for monitoring, evaluation, and debugging through integrations like LangSmith. Scale with confidence using battle-tested patterns and best practices.
- Vibrant community and ecosystem. Leverage a rich ecosystem of integrations, templates, and community-contributed components. Benefit from continuous improvements and stay up-to-date with the latest AI developments through an active open-source community.
- Flexible abstraction layers. Work at the level of abstraction that suits your needs - from high-level chains for quick starts to low-level components for fine-grained control. LangChain grows with your application's complexity.
LangChain ecosystem
While the LangChain framework can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools when building LLM applications.
To improve your LLM application development, pair LangChain with:
- Deep Agents (new!) – Build agents that can plan, use subagents, and leverage file systems for complex tasks
- LangGraph – Build agents that can reliably handle complex tasks with LangGraph, our low-level agent orchestration framework. LangGraph offers customizable architecture, long-term memory, and human-in-the-loop workflows – and is trusted in production by companies like LinkedIn, Uber, Klarna, and GitLab.
- Integrations – List of LangChain integrations, including chat & embedding models, tools & toolkits, and more
- LangSmith – Helpful for agent evals and observability. Debug poor-performing LLM app runs, evaluate agent trajectories, gain visibility in production, and improve performance over time.
- LangSmith Deployment – Deploy and scale agents effortlessly with a purpose-built deployment platform for long-running, stateful workflows. Discover, reuse, configure, and share agents across teams – and iterate quickly with visual prototyping in LangSmith Studio.
Additional resources
- API Reference – Detailed reference on navigating base packages and integrations for LangChain.
- Contributing Guide – Learn how to contribute to LangChain projects and find good first issues.
- Code of Conduct – Our community guidelines and standards for participation.
- LangChain Academy – Comprehensive, free courses on LangChain libraries and products, made by the LangChain team.