mteb/BrightProStackoverflowRetrieval huggingface dataset:
Python

    
    
    import xml.etree.ElementTree as ET
    
    async def receive_data(url):
        """Download chunks of bytes from the URL asynchronously."""
        yield b"<svg "
        yield b"viewBox=\"-105 -100 210 270\""
        yield b"></svg>"
    
    async def parse(url, events=None):
        parser = ET.XMLPullParser(events)
        async for chunk in receive_data(url):
            parser.feed(chunk)
            for event, element in parser.read_events():
                yield event, element
>>> element = document.svg.text
    
    >>> list(vars(element).keys())
    ['_name', '_attributes', 'children', 'is_root', 'cdata']
    
    >>> element._name
    'text'
    
    >>> element._attributes
    {'x': '-40', 'y': '75'}
    
    >>> element.children
    []
    
    >>> element.is_root
    False
    
    >>> element.cdata
    'Hello <svg>!'
    

Copied!
Python

    
    
    from bs4 import BeautifulSoup
    
    # Parse XML from a file object
    with open("smiley.svg") as file:
        soup = BeautifulSoup(file, features="lxml-xml")
    
    # Parse XML from a Python string
    soup = BeautifulSoup("""\
    <svg viewBox="-105 -100 210 270">
      <!-- More content goes here... -->
    </svg>
    """, features="lxml-xml")
##  DOM Example  Â¶

This example program is a fairly realistic example of a simple program. In
this particular case, we do not take much advantage of the flexibility of the
DOM.

    
    
    import xml.dom.minidom
    
    document = """\
    <slideshow>
    <title>Demo slideshow</title>
    <slide><title>Slide title</title>
    <point>This is a demo</point>
    <point>Of a program for processing slides</point>
    </slide>
    
    <slide><title>Another demo slide</title>
    <point>It is important</point>
    <point>To have more than</point>
    <point>one slide</point>
    </slide>
    </slideshow>
    """
    
    dom = xml.dom.minidom.parseString(document)
    
    def getText(nodelist):
        rc = []
        for node in nodelist:
            if node.nodeType == node.TEXT_NODE:
                rc.append(node.data)
        return ''.join(rc)
    
    def handleSlideshow(slideshow):
        print("<html>")
        handleSlideshowTitle(slideshow.getElementsByTagName("title")[0])
        slides = slideshow.getElementsByTagName("slide")
        handleToc(slides)
        handleSlides(slides)
        print("</html>")
    
    def handleSlides(slides):
        for slide in slides:
            handleSlide(slide)
    
    def handleSlide(slide):
        handleSlideTitle(slide.getElementsByTagName("title")[0])
        handlePoints(slide.getElementsByTagName("point"))
    
    def handleSlideshowTitle(title):
        print(f"<title>{getText(title.childNodes)}</title>")
    
    def handleSlideTitle(title):
        print(f"<h2>{getText(title.childNodes)}</h2>")
    
    def handlePoints(points):
        print("<ul>")
        for point in points:
            handlePoint(point)
        print("</ul>")
    
    def handlePoint(point):
        print(f"<li>{getText(point.childNodes)}</li>")
    
    def handleToc(slides):
        for slide in slides:
            title = slide.getElementsByTagName("title")[0]
            print(f"<p>{getText(title.childNodes)}</p>")
    
    handleSlideshow(dom)
* [ home ](https://www.codeproject.com)
* [ articles ](/script/Articles/Latest.aspx)
* [ Browse Topics  > ](/script/Content/SiteMap.aspx)
*     * [ Latest Articles ](/script/Articles/Latest.aspx)
* [ Top Articles ](/script/Articles/TopArticles.aspx?ta_so=5)
* [ Posting/Update Guidelines ](/info/Submit.aspx)
* [ Article Help Forum ](/Forums/1641/Article-Writing)
* [ ![](https://www.codeproject.com/images/write13.png) Submit an article or tip ](/script/Articles/Submit.aspx)
* [ ![](https://www.codeproject.com/images/write13.png) Import GitHub Project ](/script/Articles/ImportArticle.aspx)
* [ ![](https://www.codeproject.com/images/write13.png) Import your Blog ](/script/Articles/BlogFeed.aspx)
*   * [ quick answers  Q&A  ](/script/Answers/List.aspx?tab=active)
* [ ![](https://www.codeproject.com/images/write13.png) Ask a Question ](/Questions/ask.aspx)
* [ View Unanswered Questions ](/script/Answers/List.aspx?tab=unanswered)
* [ View All Questions ](/script/Answers/List.aspx?tab=active)
* [ View C# questions ](/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=81)
* [ View C++ questions ](/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=78)
* [ View Javascript questions ](/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=87)
* [ View Visual Basic questions ](/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=83)
* [ View Python questions ](/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=268)
*   * [ discussions  forums  ](/script/Forums/List.aspx)
* [ CodeProject.AI Server ](/Feature/CodeProjectAI-Discussions.aspx)
* [ All Message Boards... ](/script/Forums/List.aspx)
* [ Application Lifecycle  > ](/Forums/1580997/Application-Lifecycle)
* [ Running a Business ](/Forums/1533717/Running-a-Business)
* [ Sales / Marketing ](/Forums/1533716/Sales-Marketing)
* [ Collaboration / Beta Testing ](/Forums/1651/Collaboration-Beta-Testing)
* [ Work Issues ](/Forums/3304/Work-Issues)
* [ Design and Architecture ](/Forums/369270/Design-and-Architecture)
* [ Artificial Intelligence ](/Forums/1969389/Artificial-Intelligence)
* [ ASP.NET ](/Forums/12076/ASP-NET)
* [ JavaScript ](/Forums/1580226/JavaScript)
* [ Internet of Things ](/Forums/1969388/Internet-of-Things)
* [ C / C++ / MFC  > ](/Forums/1647/C-Cplusplus-MFC)
* [ ATL / WTL / STL ](/Forums/4486/ATL-WTL-STL)
* [ Managed C++/CLI ](/Forums/3785/Managed-Cplusplus-CLI)
* [ C# ](/Forums/1649/Csharp)
* [ Free Tools ](/Forums/1627782/Free-Tools)
* [ Objective-C and Swift ](/Forums/1827460/Objective-C-and-Swift)
* [ Database ](/Forums/1725/Database)
* [ Hardware & Devices  > ](/Forums/186301/Hardware-Devices)
* [ System Admin ](/Forums/1644/System-Admin)
* [ Hosting and Servers ](/Forums/1606152/Hosting-and-Servers)
* [ Java ](/Forums/1643/Java)
* [ Linux Programming ](/Forums/1942421/Linux-Programming)
* [ Python ](/Forums/1988311/Python)
* [ .NET (Core and Framework) ](/Forums/1650/NET-Core-and-Framework)
* [ Android ](/Forums/1848626/Android)
* [ iOS ](/Forums/1876716/iOS)
* [ Mobile ](/Forums/13695/Mobile)
* [ WPF ](/Forums/1004257/WPF)
[ ![@magol](https://avatars.githubusercontent.com/u/493140?s=52&v=4) ](/magol)
[ ![@gulshan](https://avatars.githubusercontent.com/u/751732?s=52&v=4)
](/gulshan) [
![@AdamSpeight2008](https://avatars.githubusercontent.com/u/900107?s=52&v=4)
](/AdamSpeight2008) [
![@redknightlois](https://avatars.githubusercontent.com/u/1045411?s=52&v=4)
](/redknightlois) [
![@vbcodec](https://avatars.githubusercontent.com/u/2153877?s=52&v=4)
](/vbcodec) [
![@iam3yal](https://avatars.githubusercontent.com/u/3756641?s=52&v=4)
](/iam3yal) [
![@gafter](https://avatars.githubusercontent.com/u/3804346?s=52&v=4)
](/gafter) [
![@asdfgasdfsafgsdfa](https://avatars.githubusercontent.com/u/3814727?s=52&v=4)
](/asdfgasdfsafgsdfa) [
![@CyrusNajmabadi](https://avatars.githubusercontent.com/u/4564579?s=52&v=4)
](/CyrusNajmabadi) [
![@jnm2](https://avatars.githubusercontent.com/u/8040367?s=52&v=4) ](/jnm2) [
![@Unknown6656](https://avatars.githubusercontent.com/u/8807985?s=52&v=4)
](/Unknown6656) [
![@mikedn](https://avatars.githubusercontent.com/u/9973420?s=52&v=4)
](/mikedn) [
![@tannergooding](https://avatars.githubusercontent.com/u/10487869?s=52&v=4)
](/tannergooding) [
![@Pzixel](https://avatars.githubusercontent.com/u/11201122?s=52&v=4)
](/Pzixel) [
![@gordanr](https://avatars.githubusercontent.com/u/12728791?s=52&v=4)
](/gordanr) [
![@jrmoreno1](https://avatars.githubusercontent.com/u/13475296?s=52&v=4)
](/jrmoreno1) [
![@TonyValenti](https://avatars.githubusercontent.com/u/13609558?s=52&v=4)
](/TonyValenti) [
![@RandyBuchholz](https://avatars.githubusercontent.com/u/13967891?s=52&v=4)
](/RandyBuchholz)
* [ Code  ](/dotnet/csharplang)
* [ Issues  ](/dotnet/csharplang/issues)
* [ Pull requests  ](/dotnet/csharplang/pulls)
* [ Discussions  ](/dotnet/csharplang/discussions)
* [ Projects  ](/dotnet/csharplang/projects)
* [ Security  ](/dotnet/csharplang/security)
* [ Insights  ](/dotnet/csharplang/pulse)
* [ Visual Basic ](/Forums/1646/Visual-Basic)
* [ Web Development ](/Forums/1640/Web-Development)
* [ Site Bugs / Suggestions ](/suggestions.aspx)
* [ Spam and Abuse Watch ](/Forums/1652005/Spam-and-Abuse-Watch)
*   * [ features  features  ](/Feature/)
* [ Competitions ](/script/Contests/CurrentCompetitions.aspx?cmpTpId=3&amp;awsac=true)
* [ News ](/script/News/List.aspx)
* [ The Insider Newsletter ](/Feature/Insider/)
* [ The Daily Build Newsletter ](/Feature/DailyBuild)
* [ Newsletter archive ](/script/Mailouts/Archive.aspx?mtpid=1)
* [ Surveys ](/script/Surveys/List.aspx)
* [ CodeProject Stuff ](/Info/Stuff.aspx)
*   * [ community  lounge  ](/Lounge.aspx)
* [ Who's Who ](/script/Membership/Profiles.aspx)
* [ Most Valuable Professionals ](/script/Contests/Winners.aspx?obtid=1&amp;cmpTpId=2&amp;cid=0)
* [ The Lounge ](/Lounge.aspx)
* [ The CodeProject Blog ](/Members/CodeProject#_comments)
* [ Where I Am: Member Photos ](/Forums/1939564/Where-I-am-Member-Photos)
* [ The Insider News ](/Insider.aspx)
* [ The Weird & The Wonderful ](/Feature/WeirdAndWonderful.aspx)
*   * [ help  ?  ](/KB/FAQs/)
* [ What is 'CodeProject'? ](/info/guide.aspx)
* [ General FAQ ](/KB/FAQs/)
* [ Ask a Question ](/Questions/ask.aspx)
* [ Bugs and Suggestions ](/suggestions.aspx)
* [ Article Help Forum ](/Forums/1641/Article-Writing)
* [ About Us ](/info/about.aspx)
*
ge.cgi?id=fields.html#cf_gcctarget "The machine that GCC will produce code for. That's the value you passed to ./configure --target.") |   
[ Build: ](page.cgi?id=fields.html#cf_gccbuild "The machine you are building on. That's the value you passed to ./configure --build.") |   
[ Known to work: ](page.cgi?id=fields.html#cf_known_to_work "Known versions for which the issue is not reproducible.") |   
[ Known to fail: ](page.cgi?id=fields.html#cf_known_to_fail "Known versions for which the issue is reproducible.") |   
[ Last reconfirmed: ](page.cgi?id=fields.html#cf_reconfirmed_on "Last time the issue was confirmed as still being present.") |   
  
* * *  
  
  
|  Attachments  
---  
[ Add an attachment ](attachment.cgi?bugid=32143&action=enter) (proposed
patch, testcase, etc.)  
  

Note  You need to [ log in ](show_bug.cgi?id=32143&GoAheadAndLogIn=1) before
you can comment on or make changes to this bug.  
---  
  
[ Description ](show_bug.cgi?id=32143#c0) Jorn Wolfgang Rennecke  2007-05-29
17:57:51 UTC

    
    
    Because of the patch for [PR19238](show_bug.cgi?id=19238 "RESOLVED FIXED - cannot change visibility of static variable in function template"), make_decl_rtl is called before the visibility
    of variables is determined.
    You can see this when you compile g++.old-deja/g++.mike/ns12.c with -fpic.
    default_binds_local_p_1 (decl, 1) does not return true for
    (anonymous namespace)::i when its decl rtl is created, and hence its symbol_ref flags don't have SYMBOL_FLAG_LOCAL set.
    Although default_binds_local_p_1 konws how to use the visibility of the decl,
    it has no way of calling decl_anon_ns_mem_p in the c++ frontend, like decl2.c:determine_visibility does.
    
    That also means that TARGET_IN_SMALL_DATA_P has no usable visibility information
    that it acn use to guide the decision if something should be put into a small data section.

[ Comment 1 ](show_bug.cgi?id=32143#c1) Andrew Pinski  2021-07-23 18:50:17 UTC

    
    
    I want to say this was fixed when [PR 39175](show_bug.cgi?id=39175 "RESOLVED FIXED - ICE while compiling qt-4.5.0-rc1") was fixed.
    That is for 4.2 we get:
    .....      @GOTPCREL(%rip), %rax
            movl    (%rax), %eax
    
    While in 4.4.0 and above we get:
    movl    _ZN12_GLOBAL__N_11iE(%rip), %eax

|  
---|---  
  
* * *

  * [ Format For Printing ](show_bug.cgi?format=multiple&id=32143)
  * \- [ XML ](show_bug.cgi?ctype=xml&id=32143)
  * \- [ Clone This Bug ](enter_bug.cgi?cloned_bug_id=32143)
  * \-  Top of page 

  

  *     * [ Home ](./)
    * |  [ New ](enter_bug.cgi?product=gcc)
    * |  [ Browse ](describecomponents.cgi)
    * |  [ Search ](query.cgi)
    * |  [ [?] ](page.cgi?id=quicksearch.html "Quicksearch Help")
    * |  [ Reports ](report.cgi)
    *     * |  [ Help ](https://bugzilla.readthedocs.org/en/5.0/using/understanding.html)
    * |  [ New Account ](createaccount.cgi)
    * |  [ Log In ](show_bug.cgi?id=32143&GoAheadAndLogIn=1) Remember  [x] 
    * |  [ Forgot Password ](show_bug.cgi?id=32143&GoAheadAndLogIn=1#forgot) Login:  [x]
* [ Code  ](/dotnet/roslyn)
* [ Issues  ](/dotnet/roslyn/issues)
* [ Pull requests  ](/dotnet/roslyn/pulls)
* [ Discussions  ](/dotnet/roslyn/discussions)
* [ Projects  ](/dotnet/roslyn/projects)
* [ Security  ](/dotnet/roslyn/security)
* [ Insights  ](/dotnet/roslyn/pulse)
[ ![@GeirGrusom](https://avatars.githubusercontent.com/u/4979268?s=48&v=4)
](/GeirGrusom) [
![@DavidArno](https://avatars.githubusercontent.com/u/196899?s=48&v=4)
](/DavidArno) [
![@bondsbw](https://avatars.githubusercontent.com/u/316704?s=48&v=4)
](/bondsbw) [
![@yaakov-h](https://avatars.githubusercontent.com/u/426009?s=48&v=4)
](/yaakov-h) [
![@Richiban](https://avatars.githubusercontent.com/u/668303?s=48&v=4)
](/Richiban) [
![@RedFox20](https://avatars.githubusercontent.com/u/1321685?s=48&v=4)
](/RedFox20) [
![@roji](https://avatars.githubusercontent.com/u/1862641?s=48&v=4) ](/roji) [
![@alrz](https://avatars.githubusercontent.com/u/3105979?s=48&v=4) ](/alrz) [
![@iam3yal](https://avatars.githubusercontent.com/u/3756641?s=48&v=4)
](/iam3yal) [
![@ufcpp](https://avatars.githubusercontent.com/u/3760955?s=48&v=4) ](/ufcpp)
[ ![@CyrusNajmabadi](https://avatars.githubusercontent.com/u/4564579?s=48&v=4)
](/CyrusNajmabadi) [
![@orthoxerox](https://avatars.githubusercontent.com/u/8640149?s=48&v=4)
](/orthoxerox) [
![@mikedn](https://avatars.githubusercontent.com/u/9973420?s=48&v=4)
](/mikedn) [
![@HaloFour](https://avatars.githubusercontent.com/u/10102290?s=48&v=4)
](/HaloFour) [
![@tannergooding](https://avatars.githubusercontent.com/u/10487869?s=48&v=4)
](/tannergooding)
* [ Code  ](/dotnet/csharplang)
* [ Issues  441  ](/dotnet/csharplang/issues)
* [ Pull requests  40  ](/dotnet/csharplang/pulls)
* [ Discussions  ](/dotnet/csharplang/discussions)
* [ Projects  4  ](/dotnet/csharplang/projects)
* [ Security  ](/dotnet/csharplang/security)
* [ Insights  ](/dotnet/csharplang/pulse)
* [ Code  ](/dotnet/roslyn)
* [ Issues  5k+  ](/dotnet/roslyn/issues)
* [ Pull requests  498  ](/dotnet/roslyn/pulls)
* [ Discussions  ](/dotnet/roslyn/discussions)
* [ Projects  45  ](/dotnet/roslyn/projects)
* [ Security  ](/dotnet/roslyn/security)
* [ Insights  ](/dotnet/roslyn/pulse)
Bind runtime args
Sometimes we want to invoke a Runnable within a Runnable sequence with
](/docs/expression_language/how_to/binding) ## [ 📄️  Configure chain internals
at runtime  Oftentimes you may want to experiment with, or even expose to the
end  ](/docs/expression_language/how_to/configure) ## [ 📄️  Create a runnable
with the `@chain` decorator  You can also turn an arbitrary function into a
chain by adding a  ](/docs/expression_language/how_to/decorator) ## [ 📄️  Add
fallbacks  There are many possible points of failure in an LLM application,
whether  ](/docs/expression_language/how_to/fallbacks) ## [ 📄️  Stream custom
generator functions  You can use generator functions (ie. functions that use
the yield  ](/docs/expression_language/how_to/generators) ## [ 📄️  Inspect
your runnables  Once you create a runnable with LCEL, you may often want to
inspect it  ](/docs/expression_language/how_to/inspect) ## [ 📄️  Add message
history (memory)  The RunnableWithMessageHistory lets us add message history
to certain  ](/docs/expression_language/how_to/message_history)

* * *

####  Help us out by providing feedback on this documentation page:

[ Previous  Streaming  ](/docs/expression_language/streaming) [ Next
RunnableParallel: Manipulating data  ](/docs/expression_language/how_to/map)

Community

  * [ Discord  ](https://discord.gg/cU2adEyC7w)
  * [ Twitter  ](https://twitter.com/LangChainAI)

GitHub

  * [ Python  ](https://github.com/langchain-ai/langchain)
  * [ JS/TS  ](https://github.com/langchain-ai/langchainjs)

More

  * [ Homepage  ](https://langchain.com)
  * [ Blog  ](https://blog.langchain.dev)
  * [ YouTube  ](https://www.youtube.com/@LangChain)

Copyright © 2024 LangChain, Inc.
omprehensive guides
including:

  * [ Building a custom agent ](/docs/modules/agents/how_to/custom_agent)
  * [ Streaming (of both intermediate steps and tokens ](/docs/modules/agents/how_to/streaming)
  * [ Building an agent that returns structured output ](/docs/modules/agents/how_to/agent_structured)
  * Lots functionality around using AgentExecutor, including: [ using it as an iterator ](/docs/modules/agents/how_to/agent_iter) , [ handle parsing errors ](/docs/modules/agents/how_to/handle_parsing_errors) , [ returning intermediate steps ](/docs/modules/agents/how_to/intermediate_steps) , [ capping the max number of iterations ](/docs/modules/agents/how_to/max_iterations) , and [ timeouts for agents ](/docs/modules/agents/how_to/max_time_limit)

* * *

####  Help us out by providing feedback on this documentation page:

[ Previous  Indexing  ](/docs/modules/data_connection/indexing) [ Next
Quickstart  ](/docs/modules/agents/quick_start)

  * Quickstart 
  * Concepts 
  * Agent Types 
  * Tools 
  * How To Guides 

Community

  * [ Discord  ](https://discord.gg/cU2adEyC7w)
  * [ Twitter  ](https://twitter.com/LangChainAI)

GitHub

  * [ Python  ](https://github.com/langchain-ai/langchain)
  * [ JS/TS  ](https://github.com/langchain-ai/langchainjs)

More

  * [ Homepage  ](https://langchain.com)
  * [ Blog  ](https://blog.langchain.dev)
  * [ YouTube  ](https://www.youtube.com/@LangChain)

Copyright © 2024 LangChain, Inc.
* [ __ ](https://news.google.com/publications/CAAqBwgKMNiLmgswgpayAw)
* [ __ ](https://medium.com/towards-artificial-intelligence)
* [ __ ](https://www.facebook.com/towardsAl/)
* [ __ ](https://twitter.com/towards_ai?lang=en)
* [ __ ](https://linkedin.com/company/towards-artificial-intelligence)
* [ __ ](https://instagram.com/towards_ai/)
* [ __ ](https://github.com/towardsai)
* [ __ ](http://feeds.feedburner.com/towards-ai)
* [ __ ](/cdn-cgi/l/email-protection#18686d7a586c776f796a7c6b797136767d6c)
ing.

##  [ ChatModels ](/docs/modules/model_io/chat/) ​

[ This section ](/docs/modules/model_io/chat/) covers functionality related to
the ChatModel class. This is a type of model that takes a list of messages as
input and returns a message.

##  [ Output Parsers ](/docs/modules/model_io/output_parsers/) ​

Output parsers are responsible for transforming the output of LLMs and
ChatModels into more structured data. [ This section
](/docs/modules/model_io/output_parsers/) covers the different types of output
parsers.

* * *

####  Help us out by providing feedback on this documentation page:

[ Previous  Modules  ](/docs/modules/) [ Next  Model I/O
](/docs/modules/model_io/)

  * Conceptual Guide 
  * Quickstart 
  * Prompts 
  * LLMs 
  * ChatModels 
  * Output Parsers 

Community

  * [ Discord  ](https://discord.gg/cU2adEyC7w)
  * [ Twitter  ](https://twitter.com/LangChainAI)

GitHub

  * [ Python  ](https://github.com/langchain-ai/langchain)
  * [ JS/TS  ](https://github.com/langchain-ai/langchainjs)

More

  * [ Homepage  ](https://langchain.com)
  * [ Blog  ](https://blog.langchain.dev)
  * [ YouTube  ](https://www.youtube.com/@LangChain)

Copyright © 2024 LangChain, Inc.
* [ Home ](https://towardsai.net/)
* [ About ](https://towardsai.net/about)
* [ Publication ](https://towardsai.net/p)
* [ Sponsors ](https://sponsors.towardsai.net)
* [ For Authors ](https://contribute.towardsai.net/)
* [ Editorial ](https://towardsai.net/ai/editorial)
* [ News ](https://towardsai.net/ai/news)
* [ AI Newsletter ](https://towardsai.net/ai/newsletter)
* [ Subscribe ](https://ws.towardsai.net/subscribe)
* [ AI Community ](https://members.towardsai.net/)
* [ AI Jobs ](https://jobs.towardsai.net/)
* [ Shop ](https://ws.towardsai.net/shop)
* [ People ](/docs/people/)
* [ Versioning ](/docs/packages/)
* [ Contributing ](/docs/contributing/)
* [ Templates ](/docs/templates/)
* [ Cookbooks  ](https://github.com/langchain-ai/langchain/blob/master/cookbook/README.md)
* [ Tutorials ](/docs/additional_resources/tutorials/)
* [ YouTube ](/docs/additional_resources/youtube/)
* [ Security ](https://alphasec.io/tag/security/)
* [ Privacy ](https://alphasec.io/tag/privacy/)
* [ AI/ML ](https://alphasec.io/tag/ai-ml/)
* [ Cloud ](https://alphasec.io/tag/cloud/)
* [ Crypto ](https://alphasec.io/tag/crypto/)
* [ Primers ](https://alphasec.io/tag/primer/)
* [ Podcasts ](https://alphasec.io/podcasts/)
* [ Books ](https://alphasec.io/books/)
* [ Gadgets ](https://alphasec.io/resources/)
* [ About ](https://alphasec.io/about/)
Skip to main content

[ ![🦜️🔗 Langchain](/img/brand/wordmark.png) ![🦜️🔗
Langchain](/img/brand/wordmark-dark.png) ](/) [ Docs
](/docs/get_started/introduction) [ Use cases ](/docs/use_cases) [
Integrations ](/docs/integrations/platforms/) [ Guides
](/docs/guides/debugging) [ API  ](https://api.python.langchain.com)

More

  * [ People ](/docs/people/)
  * [ Versioning ](/docs/packages)
  * [ Changelog ](/docs/changelog)
  * [ Contributing ](/docs/contributing)
  * [ Templates ](/docs/templates/)
  * [ Cookbooks  ](https://github.com/langchain-ai/langchain/blob/master/cookbook/README.md)
  * [ Tutorials ](/docs/additional_resources/tutorials)
  * [ YouTube ](/docs/additional_resources/youtube)

🦜️🔗

  * [ LangSmith  ](https://smith.langchain.com)
  * [ LangSmith Docs  ](https://docs.smith.langchain.com/)
  * [ LangServe GitHub  ](https://github.com/langchain-ai/langserve)
  * [ Templates GitHub  ](https://github.com/langchain-ai/langchain/tree/master/templates)
  * [ Templates Hub  ](https://templates.langchain.com)
  * [ LangChain Hub  ](https://smith.langchain.com/hub)
  * [ JS/TS Docs  ](https://js.langchain.com)

[ 💬  ](https://chat.langchain.com) [ ](https://github.com/langchain-
ai/langchain)

Search

  * [ Changelog ](/docs/changelog)

    * [ langchain-core ](/docs/changelog/core)
    * [ langchain ](/docs/changelog/langchain)

  * [ ](/)
  * Changelog 

#  Changelog

## [ 📄️  langchain-core  0.1.7 (Jan 5, 2024)  ](/docs/changelog/core) ## [ 📄️
langchain  0.1.0 (Jan 5, 2024)  ](/docs/changelog/langchain) [ Next
langchain-core  ](/docs/changelog/core)

Community

  * [ Discord  ](https://discord.gg/cU2adEyC7w)
  * [ Twitter  ](https://twitter.com/LangChainAI)

GitHub

  * [ Python  ](https://github.com/langchain-ai/langchain)
  * [ JS/TS  ](https://github.com/langchain-ai/langchainjs)

More

  * [ Homepage  ](https://langchain.com)
  * [ Blog  ](https://blog.langchain.dev)
  * [ YouTube  ](https://www.youtube.com/@LangChain)

Copyright © 2024 LangChain, Inc.