I'm trying to use `Python` and `Biopython` to fetch metadata for a given assembly identifier.  In this case I'm looking for GCF_000005845.2 

    from Bio import Entrez
    
    # GCF_000005845.2
    id_ecoli = "GCF_000005845.2"
    esummary_handle = Entrez.esummary(db="assembly", id=id_ecoli, report="full")
    record = Entrez.read(esummary_handle, validate=False)
    record
    # DictElement({'DocumentSummarySet': DictElement({'DocumentSummary': []}, attributes={'status': 'OK'})}, attributes={})

This is the type of data I'm looking for below:
https://www.ncbi.nlm.nih.gov/assembly/GCF_000005845.2/
![enter image description here][1]

I could make a HTML scraper but I don't want to reinvent the wheel if there is already something available. 

  [1]: https://i.imgur.com/9yr2L6C.png
If JSON/XML output will be useful to you, the following script can be used.

    #!/usr/bin/python
    
    from Bio import Entrez
    import json
    
    #Increase query limit to 10/s & get warnings
    Entrez.email = ""
    #Get one from https://www.ncbi.nlm.nih.gov/account/settings/ page
    Entrez.api_key=""
    
    term="GCF_000005845.2"
    #Finds the ids associated with the assembly
    def get_ids(term):
        ids = []
        handle = Entrez.esearch(db="assembly", term=term)
        record = Entrez.read(handle)
        ids.append(record["IdList"])
        return ids
    
    #Fetch raw output
    def get_raw_assembly_summary(id):
        handle = Entrez.esummary(db="assembly",id=id,report="full")
        record = Entrez.read(handle)
        #Return individual fields
        #XML output: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=assembly&id=79781&report=%22full%22
        #return(record['DocumentSummarySet']['DocumentSummary'][0]['AssemblyName']) #This will return the Assembly name
        return(record)
    
    #JSON formatted output
    def get_assembly_summary_json(id):
        handle = Entrez.esummary(db="assembly",id=id,report="full")
        record = Entrez.read(handle)
        #Convert raw output to json
        return(json.dumps(record, sort_keys=True,indent=4, separators=(',', ': ')))
    
    #Test
    for id in get_ids(term):
        #print(get_raw_assembly_summary(id)) #For raw output
        print(get_assembly_summary_json(id)) #JSON Formatted

