GithubHelp home page GithubHelp logo

pyami's Introduction

pyami

Semantic Reader of the Scientific Literature.

A scientific article is not a single dumb file; it can be transformed into many semantic, useful sub-documents. pyami is a Python framework for doing this; it reads the scientific literature in bulk, transforms, searches and and analyses the contents.

status

This is in very active alpha development and early documentation will appear on the Wiki.

overview

  • pyami is a personal (client-side) tool that users can customise for their own needs and visions. It does not reply on remote service providers, though it can make its own use of Open sites.

scope

  • pyami can collect documents (of any sort) into a corpus or CProject.
  • pyami has tools for filtering, cleaning, normalizing a corpus
  • pyami can search this corpus by filenames, filetypes, document structure and content
  • content can include metadata, text, tables, diagrams, math, chemistry, references and (in some cases) citations
  • searching uses words, phrases, dictionaries, and image content (vectors and pixels)
  • search results can be transformed, filtered, aggregated, and used for iterative enhancement ("snowballing")

architecture

  • downloaded documents (a corpus) are stored on your disk in a folder/directory (a CProject`)
  • each document (CTree) in a CProject is a living subtree of many labelled text subsections (text, paragraphs, sentences, phrases, words) and images (png) . This is flexible (new types and subdirectories) can be added by users).
  • the CTree is held on disk and can be further processed by other programs (e.g. pandas, tesseract (image2text), matplotlib
  • a commandline supports many operations for searching, and transforming.
  • a GUI (ami-gui) is layered on the commandline to help navigation, query building and visualisation.
  • the commandline can be used by workflow tools such as Jupyter Notebooks
  • The pyami code is packaged as a Python library for use by other tools

components

There are several independent components. Many of these are customised for beginners. They can be referenced by symbols to avoid having to remember filenames. Users customise this with environment variables (often preset).

  • project. The CProject holding the corpus. Users can have as many projects as they like.
  • dictionary. Many searches use dictionaries and often several are used at once. There are currently over 50 dictionaries in a network but it's easy to create your own.
  • code. (in Python3)

commands

This is a subset of current commands (NYI=not yet implemented):

optional arguments:
  -h, --help            show this help message and exit
  --apply {pdf2txt,txt2sent,xml2txt} [{pdf2txt,txt2sent,xml2txt} ...]
                        list of sequential transformations (1:1 map) to apply to pipeline ({self.TXT2SENT} NYI)
  --assert ASSERT [ASSERT ...]
                        assertions; failure gives error message (prototype)
  --combine COMBINE     operation to combine files into final object (e.g. concat text or CSV file
  --config [CONFIG [CONFIG ...]], -c [CONFIG [CONFIG ...]]
                        file (e.g. ~/pyami/config.ini) with list of config file(s) or config vars
  --debug DEBUG [DEBUG ...]
                        debugging commands , numbers, (not formalised)
  --demo [DEMO [DEMO ...]]
                        simple demos (NYI). empty gives list. May need downloading corpora
  --dict DICT [DICT ...], -d DICT [DICT ...]
                        dictionaries to ami-search with, _help gives list
  --filter FILTER [FILTER ...]
                        expr to filter with
  --glob GLOB [GLOB ...], -g GLOB [GLOB ...]
                        glob files; python syntax (* and ** wildcards supported); include alternatives in {...,...}.
  --languages LANGUAGES [LANGUAGES ...]
                        languages (NYI)
  --loglevel LOGLEVEL, -l LOGLEVEL
                        log level (NYI)
  --maxbars [MAXBARS]   max bars on plot (NYI)
  --nosearch            search (NYI)
  --outfile OUTFILE     output file, normally 1. but (NYI) may track multiple input dirs (NYI)
  --patt PATT [PATT ...]
                        patterns to search with (NYI); regex may need quoting
  --plot                plot params (NYI)
  --proj PROJ [PROJ ...], -p PROJ [PROJ ...]
                        projects to search; _help will give list
  --sect SECT [SECT ...], -s SECT [SECT ...]
                        sections to search; _help gives all(?)
  --split {txt2para,xml2sect} [{txt2para,xml2sect} ...]
                        split fulltext.* into paras, sections
  --test [{file_lib,pdf_lib,text_lib} [{file_lib,pdf_lib,text_lib} ...]]
                        run tests for modules; no selection runs all

getting started

There are an alpha series of commandline examples which show the operation of the system. Currently:

 examples args: ['examples.py']
choose from:
gl => globbing files
pd => convert pdf to text
pa => split pdf text into paragraphs
sc => split xml into sections
sl => split oil26 project into sections
se => split text to sentences
fi => simple filter (not complete)
sp => extract species with italics and regex (not finalised)

all => all examples

config file

everyone needs

a 'pyami' directory.

This can be naywhere but normally where you put program files and their setting. It will be easiest if it's a direct subdirectory of your HOME directory. It MUST include a pyami.ini file. By default you can use the one in the py4ami distribution

an environmental variable PYAMI_HOME

This will point to the pyami.ini file. See ./CONFIG.md

`

(base) pm286macbook:pyami pm286$ more ~/pyami/config.ini
; NOTE. All files use forward slash even on Windows
; use slash (/) to separate filename components, we will convert to file-separator automatically
; variables can be substituted using {}

[DIRS]
home           = ~
dictionary_url = https://github.com/petermr/dictionary
project_dir =    ${home}/projects
cev_open =       ${DIRS:project_dir}/CEVOpen
code_dir =       ${DIRS:project_dir}/openDiagram/physchem/python
; # wikidata taxon name property
; taxon_name.w = P225777
; # italic content
; all_italics.x = xpath(//p//italic/text())
; # species, e.g. Zea mays, T. rex, An. gambiae
; species.r = [A-Z][a-z]?(\.|[a-z]{2,})\s+[a-z]{3,})

[URLS]
petermr_url = https://github.com/petermr
petermr_raw_url = https://raw.githubusercontent.com/petermr
tigr2ess.u =        https://github.com/petermr/tigr2ess/tree/master

[AMISEARCH]
oil3.p = ${DIRS:code_dir}/tst/proj
# wikidata taxon name property
taxon_name = P225
# italic content
all_italics.x = //p//italic/text()
# species, e.g. Zea mays, T. rex, An. gambiae
species.r = [A-Z][a-z]?(\.|[a-z]{2,})\s+[a-z]{3,}

[DICTIONARIES]
dict_dir     = ${DIRS:home}/dictionary

ov_ini       = ${dict_dir}/openvirus20210120/amidict.ini
cev_ini      = ${DIRS:cev_open}/dictionary/amidict.ini

# docanal_ini  = ${dict_dir}/docanal/docanal.ini # not yet added


[PROJECTS]
open_battery =      ${DIRS:project_dir}/open-battery
pr_liion =          ${open_battery}/liion
tigr2ess =          ${DIRS:project_dir}/tigr2ess
open_diagram =      ${DIRS:project_dir}/openDiagram
open_virus =        ${DIRS:project_dir}/openVirus

minicorpora_ini =   ${DIRS:cev_open}/minicorpora/config.ini
cev_searches_ini =  ${DIRS:cev_open}/searches/config.ini
open_diag_ini =     ${DIRS:project_dir}/openDiagram/physchem/resources/config.ini


(base) pm286macbook:pyami pm286$ 

##UPDATE py4ami.ami_dict and py4ami.ami_pdf

These now support argparse in their own right (2022-07-09) They will each give an argparse of commands

ami_pdf

(2022-07-09)

python -m py4ami.ami_pdf --help
running PDFArgs main
usage: ami_pdf.py [-h] [--maxpage MAXPAGE] [--indir INDIR] [--inpath INPATH] [--outdir OUTDIR]
                  [--outform OUTFORM] [--flow FLOW] [--imagedir IMAGEDIR] [--resolution RESOLUTION]
                  [--template TEMPLATE] [--debug {words,lines,rects,curves,images,tables,hyperlinks,annots}]

PDF parsing

optional arguments:
  -h, --help            show this help message and exit
  --maxpage MAXPAGE     maximum number of pages
  --indir INDIR         input directory
  --inpath INPATH       input file
  --outdir OUTDIR       output directory
  --outform OUTFORM     output format
  --flow FLOW           create flowing HTML (heuristics)
  --imagedir IMAGEDIR   output images to imagedir
  --resolution RESOLUTION
                        resolution of output images (if imagedir)
  --template TEMPLATE   file to parse specific type of document (NYI)
  --debug {words,lines,rects,curves,images,tables,hyperlinks,annots}
                        debug these during parsing (NYI)

Notes for PMR?

project organization: https://dev.to/codemouse92/dead-simple-python-project-structure-and-imports-38c6 use: pkg_resources

WARNING

... AmiUtil exists in both py4ami and pyamiimage. There should be a separate library

pyami's People

Contributors

petermr avatar ayush4921 avatar karthik30122001 avatar ananyas2000 avatar anuvc avatar

Stargazers

Ananya Dutta avatar Jeroen Van Goey avatar Nicolaie Constantinescu avatar Science而后行 avatar Jeff Hammerbacher avatar Tiago Lubiana avatar yu.wang avatar Zaki Mughal [sivoais] avatar Emanuel Faria avatar James Sanders avatar Chaitanya Sharma avatar Shweata N. Hegde avatar

Watchers

 avatar James Cloos avatar Emanuel Faria avatar  avatar

pyami's Issues

certificate error reading github user raw

/Users/Mandeep/Desktop/PROJECT/PYAMI/venv/bin/python /Users/Mandeep/Desktop/PyCharm CE.app/Contents/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py --target test_dict.py::TestAmiDictionary.test_can_read_url 
Testing started at 7:01 pm ...
Launching pytest with arguments test_dict.py::TestAmiDictionary::test_can_read_url --no-header --no-summary -q in /Users/Mandeep/Desktop/PROJECT/PYAMI/test

============================= test session starts ==============================
collecting ... collected 1 item

test_dict.py::TestAmiDictionary::test_can_read_url FAILED                [100%]urlhttps://raw.githubusercontent.com/petermr/CEVOpen/master/dictionary/eoPlantPart/eoplant_part.xml

test/test_dict.py:241 (TestAmiDictionary.test_can_read_url)
self = <urllib.request.HTTPSHandler object at 0x102895d50>
http_class = <class 'http.client.HTTPSConnection'>
req = <urllib.request.Request object at 0x1028961d0>
http_conn_args = {'check_hostname': None, 'context': None}
host = 'raw.githubusercontent.com'
h = <http.client.HTTPSConnection object at 0x102895810>

    def do_open(self, http_class, req, **http_conn_args):
        """Return an HTTPResponse object for the request, using http_class.
    
        http_class must implement the HTTPConnection API from http.client.
        """
        host = req.host
        if not host:
            raise URLError('no host given')
    
        # will parse host:port
        h = http_class(host, timeout=req.timeout, **http_conn_args)
        h.set_debuglevel(self._debuglevel)
    
        headers = dict(req.unredirected_hdrs)
        headers.update({k: v for k, v in req.headers.items()
                        if k not in headers})
    
        # TODO(jhylton): Should this be redesigned to handle
        # persistent connections?
    
        # We want to make an HTTP/1.1 request, but the addinfourl
        # class isn't prepared to deal with a persistent connection.
        # It will try to read all remaining data from the socket,
        # which will block while the server waits for the next request.
        # So make sure the connection gets closed after the (only)
        # request.
        headers["Connection"] = "close"
        headers = {name.title(): val for name, val in headers.items()}
    
        if req._tunnel_host:
            tunnel_headers = {}
            proxy_auth_hdr = "Proxy-Authorization"
            if proxy_auth_hdr in headers:
                tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr]
                # Proxy-Authorization should not be sent to origin
                # server.
                del headers[proxy_auth_hdr]
            h.set_tunnel(req._tunnel_host, headers=tunnel_headers)
    
        try:
            try:
>               h.request(req.get_method(), req.selector, req.data, headers,
                          encode_chunked=req.has_header('Transfer-encoding'))

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:1348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <http.client.HTTPSConnection object at 0x102895810>, method = 'GET'
url = '/petermr/CEVOpen/master/dictionary/eoPlantPart/eoplant_part.xml'
body = None
headers = {'Connection': 'close', 'Host': 'raw.githubusercontent.com', 'User-Agent': 'Python-urllib/3.10'}

    def request(self, method, url, body=None, headers={}, *,
                encode_chunked=False):
        """Send a complete request to the server."""
>       self._send_request(method, url, body, headers, encode_chunked)

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py:1282: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <http.client.HTTPSConnection object at 0x102895810>, method = 'GET'
url = '/petermr/CEVOpen/master/dictionary/eoPlantPart/eoplant_part.xml'
body = None
headers = {'Connection': 'close', 'Host': 'raw.githubusercontent.com', 'User-Agent': 'Python-urllib/3.10'}
encode_chunked = False

    def _send_request(self, method, url, body, headers, encode_chunked):
        # Honor explicitly requested Host: and Accept-Encoding: headers.
        header_names = frozenset(k.lower() for k in headers)
        skips = {}
        if 'host' in header_names:
            skips['skip_host'] = 1
        if 'accept-encoding' in header_names:
            skips['skip_accept_encoding'] = 1
    
        self.putrequest(method, url, **skips)
    
        # chunked encoding will happen if HTTP/1.1 is used and either
        # the caller passes encode_chunked=True or the following
        # conditions hold:
        # 1. content-length has not been explicitly set
        # 2. the body is a file or iterable, but not a str or bytes-like
        # 3. Transfer-Encoding has NOT been explicitly set by the caller
    
        if 'content-length' not in header_names:
            # only chunk body if not explicitly set for backwards
            # compatibility, assuming the client code is already handling the
            # chunking
            if 'transfer-encoding' not in header_names:
                # if content-length cannot be automatically determined, fall
                # back to chunked encoding
                encode_chunked = False
                content_length = self._get_content_length(body, method)
                if content_length is None:
                    if body is not None:
                        if self.debuglevel > 0:
                            print('Unable to determine size of %r' % body)
                        encode_chunked = True
                        self.putheader('Transfer-Encoding', 'chunked')
                else:
                    self.putheader('Content-Length', str(content_length))
        else:
            encode_chunked = False
    
        for hdr, value in headers.items():
            self.putheader(hdr, value)
        if isinstance(body, str):
            # RFC 2616 Section 3.7.1 says that text default has a
            # default charset of iso-8859-1.
            body = _encode(body, 'body')
>       self.endheaders(body, encode_chunked=encode_chunked)

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py:1328: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <http.client.HTTPSConnection object at 0x102895810>, message_body = None

    def endheaders(self, message_body=None, *, encode_chunked=False):
        """Indicate that the last header line has been sent to the server.
    
        This method sends the request to the server.  The optional message_body
        argument can be used to pass a message body associated with the
        request.
        """
        if self.__state == _CS_REQ_STARTED:
            self.__state = _CS_REQ_SENT
        else:
            raise CannotSendHeader()
>       self._send_output(message_body, encode_chunked=encode_chunked)

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py:1277: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <http.client.HTTPSConnection object at 0x102895810>, message_body = None
encode_chunked = False

    def _send_output(self, message_body=None, encode_chunked=False):
        """Send the currently buffered request and clear the buffer.
    
        Appends an extra \\r\\n to the buffer.
        A message_body may be specified, to be appended to the request.
        """
        self._buffer.extend((b"", b""))
        msg = b"\r\n".join(self._buffer)
        del self._buffer[:]
>       self.send(msg)

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py:1037: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <http.client.HTTPSConnection object at 0x102895810>
data = b'GET /petermr/CEVOpen/master/dictionary/eoPlantPart/eoplant_part.xml HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: raw.githubusercontent.com\r\nUser-Agent: Python-urllib/3.10\r\nConnection: close\r\n\r\n'

    def send(self, data):
        """Send `data' to the server.
        ``data`` can be a string object, a bytes object, an array object, a
        file-like object that supports a .read() method, or an iterable object.
        """
    
        if self.sock is None:
            if self.auto_open:
>               self.connect()

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py:975: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <http.client.HTTPSConnection object at 0x102895810>

    def connect(self):
        "Connect to a host on a given (SSL) port."
    
        super().connect()
    
        if self._tunnel_host:
            server_hostname = self._tunnel_host
        else:
            server_hostname = self.host
    
>       self.sock = self._context.wrap_socket(self.sock,
                                              server_hostname=server_hostname)

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py:1454: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ssl.SSLContext object at 0x1028756c0>
sock = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>
server_side = False, do_handshake_on_connect = True, suppress_ragged_eofs = True
server_hostname = 'raw.githubusercontent.com', session = None

    def wrap_socket(self, sock, server_side=False,
                    do_handshake_on_connect=True,
                    suppress_ragged_eofs=True,
                    server_hostname=None, session=None):
        # SSLSocket class handles server_hostname encoding before it calls
        # ctx._wrap_socket()
>       return self.sslsocket_class._create(
            sock=sock,
            server_side=server_side,
            do_handshake_on_connect=do_handshake_on_connect,
            suppress_ragged_eofs=suppress_ragged_eofs,
            server_hostname=server_hostname,
            context=self,
            session=session
        )

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'ssl.SSLSocket'>
sock = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>
server_side = False, do_handshake_on_connect = True, suppress_ragged_eofs = True
server_hostname = 'raw.githubusercontent.com'
context = <ssl.SSLContext object at 0x1028756c0>, session = None

    @classmethod
    def _create(cls, sock, server_side=False, do_handshake_on_connect=True,
                suppress_ragged_eofs=True, server_hostname=None,
                context=None, session=None):
        if sock.getsockopt(SOL_SOCKET, SO_TYPE) != SOCK_STREAM:
            raise NotImplementedError("only stream sockets are supported")
        if server_side:
            if server_hostname:
                raise ValueError("server_hostname can only be specified "
                                 "in client mode")
            if session is not None:
                raise ValueError("session can only be specified in "
                                 "client mode")
        if context.check_hostname and not server_hostname:
            raise ValueError("check_hostname requires server_hostname")
    
        kwargs = dict(
            family=sock.family, type=sock.type, proto=sock.proto,
            fileno=sock.fileno()
        )
        self = cls.__new__(cls, **kwargs)
        super(SSLSocket, self).__init__(**kwargs)
        self.settimeout(sock.gettimeout())
        sock.detach()
    
        self._context = context
        self._session = session
        self._closed = False
        self._sslobj = None
        self.server_side = server_side
        self.server_hostname = context._encode_hostname(server_hostname)
        self.do_handshake_on_connect = do_handshake_on_connect
        self.suppress_ragged_eofs = suppress_ragged_eofs
    
        # See if we are connected
        try:
            self.getpeername()
        except OSError as e:
            if e.errno != errno.ENOTCONN:
                raise
            connected = False
        else:
            connected = True
    
        self._connected = connected
        if connected:
            # create the SSL object
            try:
                self._sslobj = self._context._wrap_socket(
                    self, server_side, self.server_hostname,
                    owner=self, session=self._session,
                )
                if do_handshake_on_connect:
                    timeout = self.gettimeout()
                    if timeout == 0.0:
                        # non-blocking
                        raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets")
>                   self.do_handshake()

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py:1071: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ssl.SSLSocket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0>
block = False

    @_sslcopydoc
    def do_handshake(self, block=False):
        self._check_connected()
        timeout = self.gettimeout()
        try:
            if timeout == 0.0 and block:
                self.settimeout(None)
>           self._sslobj.do_handshake()
E           ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py:1342: SSLCertVerificationError

During handling of the above exception, another exception occurred:

self = <PYAMI.test.test_dict.TestAmiDictionary testMethod=test_can_read_url>

    def test_can_read_url(self):
    
        url = PLANT_PART_RAW_DICT_URL
        print(f"url{url}")
>       tree = XmlLib.parse_url_to_tree(url)

test_dict.py:246: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../py4ami/xml_lib.py:170: in parse_url_to_tree
    with urlopen(url) as f:
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:216: in urlopen
    return opener.open(url, data, timeout)
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:519: in open
    response = self._open(req, data)
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:536: in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:496: in _call_chain
    result = func(*args)
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:1391: in https_open
    return self.do_open(http.client.HTTPSConnection, req,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <urllib.request.HTTPSHandler object at 0x102895d50>
http_class = <class 'http.client.HTTPSConnection'>
req = <urllib.request.Request object at 0x1028961d0>
http_conn_args = {'check_hostname': None, 'context': None}
host = 'raw.githubusercontent.com'
h = <http.client.HTTPSConnection object at 0x102895810>

    def do_open(self, http_class, req, **http_conn_args):
        """Return an HTTPResponse object for the request, using http_class.
    
        http_class must implement the HTTPConnection API from http.client.
        """
        host = req.host
        if not host:
            raise URLError('no host given')
    
        # will parse host:port
        h = http_class(host, timeout=req.timeout, **http_conn_args)
        h.set_debuglevel(self._debuglevel)
    
        headers = dict(req.unredirected_hdrs)
        headers.update({k: v for k, v in req.headers.items()
                        if k not in headers})
    
        # TODO(jhylton): Should this be redesigned to handle
        # persistent connections?
    
        # We want to make an HTTP/1.1 request, but the addinfourl
        # class isn't prepared to deal with a persistent connection.
        # It will try to read all remaining data from the socket,
        # which will block while the server waits for the next request.
        # So make sure the connection gets closed after the (only)
        # request.
        headers["Connection"] = "close"
        headers = {name.title(): val for name, val in headers.items()}
    
        if req._tunnel_host:
            tunnel_headers = {}
            proxy_auth_hdr = "Proxy-Authorization"
            if proxy_auth_hdr in headers:
                tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr]
                # Proxy-Authorization should not be sent to origin
                # server.
                del headers[proxy_auth_hdr]
            h.set_tunnel(req._tunnel_host, headers=tunnel_headers)
    
        try:
            try:
                h.request(req.get_method(), req.selector, req.data, headers,
                          encode_chunked=req.has_header('Transfer-encoding'))
            except OSError as err: # timeout error
>               raise URLError(err)
E               urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py:1351: URLError






============================== 1 failed in 0.99s ===============================

Process finished with exit code 1



Could not import resources in test

I tried to run test in py4ami on window 11

C:\Users\priti\AppData\Local\Microsoft\WindowsApps\python3.8.exe "C:/Program Files/JetBrains/PyCharm Community Edition 2022.2/plugins/python-ce/helpers/PyCharm/_jb_pytest_runner.py" --path C:/Users/priti/pyamitrail/pyami/test/test_dict.py 
Testing started at 19:25 ...
Launching pytest with arguments C:/Users/priti/pyamitrail/pyami/test/test_dict.py --no-header --no-summary -q in C:\Users\priti\pyamitrail\pyami\test

============================= test session starts =============================
collecting ... 
test/test_dict.py:None (test/test_dict.py)
ImportError while importing test module 'C:\Users\priti\pyamitrail\pyami\test\test_dict.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
..\..\..\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\_pytest\python.py:618: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
..\..\..\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\_pytest\pathlib.py:533: in import_path
    importlib.import_module(module_name)
C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1014: in _gcd_import
    ???
<frozen importlib._bootstrap>:991: in _find_and_load
    ???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:671: in _load_unlocked
    ???
..\..\..\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\_pytest\assertion\rewrite.py:168: in exec_module
    exec(co, module.__dict__)
test_dict.py:19: in <module>
    from test.resources import Resources
E   ModuleNotFoundError: No module named 'test.resources'


collected 0 items / 1 error

!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 0.33s ===============================

Process finished with exit code 2

py4ami installation error on mac

I tried to install py4ami on command line in mac getting following results and unable to understand how to solve it.

(base) Mandeep@Admins-iMac ~ % pip install py4ami
Collecting py4ami


Collecting scikit-learn~=0.23.2
  Using cached scikit-learn-0.23.2.tar.gz (7.2 MB)
  Installing build dependencies ... error
  error: subprocess-exited-with-error
  
  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [1548 lines of output]
      Ignoring numpy: markers 'python_version == "3.6" and platform_system != "AIX" and platform_python_implementation == "CPython"' don't match your environment

        Building wheel for numpy (setup.py): finished with status 'error'
        error: subprocess-exited-with-error
      
        × python setup.py bdist_wheel did not run successfully.
        │ exit code: 1
        ╰─> [1431 lines of output]
            Running from numpy source directory.
        
                ^
            _configtest.c:1:5: note: 'exp' is a builtin with type 'double (double)'
            1 warning generated.
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core/src
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npymath
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core/src/common
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npysort
            _configtest.c:1:10: fatal error: 'endian.h' file not found
            #include <endian.h>
                     ^~~~~~~~~~
            1 error generated.
            _configtest.c:1:10: fatal error: 'sys/endian.h' file not found
            #include <sys/endian.h>
                     ^~~~~~~~~~~~~~
            1 error generated.
            _configtest.c:7:12: error: use of undeclared identifier 'SIZEOF_LONGDOUBLE'
                (void) SIZEOF_LONGDOUBLE;
                       ^
            1 error generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'exp' [-Wincompatible-library-redeclaration]
            int exp (void);
                ^
            _configtest.c:1:5: note: 'exp' is a builtin with type 'double (double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'sin' [-Wincompatible-library-redeclaration]
            int sin (void);
                ^
            _configtest.c:1:5: note: 'sin' is a builtin with type 'double (double)'
            _configtest.c:2:5: warning: incompatible redeclaration of library function 'cos' [-Wincompatible-library-redeclaration]
            int cos (void);
                ^
            _configtest.c:2:5: note: 'cos' is a builtin with type 'double (double)'
            _configtest.c:3:5: warning: incompatible redeclaration of library function 'tan' [-Wincompatible-library-redeclaration]
            int tan (void);
                ^
            _configtest.c:3:5: note: 'tan' is a builtin with type 'double (double)'
            _configtest.c:4:5: warning: incompatible redeclaration of library function 'sinh' [-Wincompatible-library-redeclaration]
            int sinh (void);
                ^
            _configtest.c:4:5: note: 'sinh' is a builtin with type 'double (double)'
            _configtest.c:5:5: warning: incompatible redeclaration of library function 'cosh' [-Wincompatible-library-redeclaration]
            int cosh (void);
                ^
            _configtest.c:5:5: note: 'cosh' is a builtin with type 'double (double)'
            _configtest.c:6:5: warning: incompatible redeclaration of library function 'tanh' [-Wincompatible-library-redeclaration]
            int tanh (void);
                ^
            _configtest.c:6:5: note: 'tanh' is a builtin with type 'double (double)'
            _configtest.c:7:5: warning: incompatible redeclaration of library function 'fabs' [-Wincompatible-library-redeclaration]
            int fabs (void);
                ^
            _configtest.c:7:5: note: 'fabs' is a builtin with type 'double (double)'
            _configtest.c:8:5: warning: incompatible redeclaration of library function 'floor' [-Wincompatible-library-redeclaration]
            int floor (void);
                ^
            _configtest.c:8:5: note: 'floor' is a builtin with type 'double (double)'
            _configtest.c:9:5: warning: incompatible redeclaration of library function 'ceil' [-Wincompatible-library-redeclaration]
            int ceil (void);
                ^
            _configtest.c:9:5: note: 'ceil' is a builtin with type 'double (double)'
            _configtest.c:10:5: warning: incompatible redeclaration of library function 'sqrt' [-Wincompatible-library-redeclaration]
            int sqrt (void);
                ^
            _configtest.c:10:5: note: 'sqrt' is a builtin with type 'double (double)'
            _configtest.c:11:5: warning: incompatible redeclaration of library function 'log10' [-Wincompatible-library-redeclaration]
            int log10 (void);
                ^
            _configtest.c:11:5: note: 'log10' is a builtin with type 'double (double)'
            _configtest.c:12:5: warning: incompatible redeclaration of library function 'log' [-Wincompatible-library-redeclaration]
            int log (void);
                ^
            _configtest.c:12:5: note: 'log' is a builtin with type 'double (double)'
            _configtest.c:13:5: warning: incompatible redeclaration of library function 'exp' [-Wincompatible-library-redeclaration]
            int exp (void);
                ^
            _configtest.c:13:5: note: 'exp' is a builtin with type 'double (double)'
            _configtest.c:14:5: warning: incompatible redeclaration of library function 'asin' [-Wincompatible-library-redeclaration]
            int asin (void);
                ^
            _configtest.c:14:5: note: 'asin' is a builtin with type 'double (double)'
            _configtest.c:15:5: warning: incompatible redeclaration of library function 'acos' [-Wincompatible-library-redeclaration]
            int acos (void);
                ^
            _configtest.c:15:5: note: 'acos' is a builtin with type 'double (double)'
            _configtest.c:16:5: warning: incompatible redeclaration of library function 'atan' [-Wincompatible-library-redeclaration]
            int atan (void);
                ^
            _configtest.c:16:5: note: 'atan' is a builtin with type 'double (double)'
            _configtest.c:17:5: warning: incompatible redeclaration of library function 'fmod' [-Wincompatible-library-redeclaration]
            int fmod (void);
                ^
            _configtest.c:17:5: note: 'fmod' is a builtin with type 'double (double, double)'
            _configtest.c:18:5: warning: incompatible redeclaration of library function 'modf' [-Wincompatible-library-redeclaration]
            int modf (void);
                ^
            _configtest.c:18:5: note: 'modf' is a builtin with type 'double (double, double *)'
            _configtest.c:19:5: warning: incompatible redeclaration of library function 'frexp' [-Wincompatible-library-redeclaration]
            int frexp (void);
                ^
            _configtest.c:19:5: note: 'frexp' is a builtin with type 'double (double, int *)'
            _configtest.c:20:5: warning: incompatible redeclaration of library function 'ldexp' [-Wincompatible-library-redeclaration]
            int ldexp (void);
                ^
            _configtest.c:20:5: note: 'ldexp' is a builtin with type 'double (double, int)'
            20 warnings generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'rint' [-Wincompatible-library-redeclaration]
            int rint (void);
                ^
            _configtest.c:1:5: note: 'rint' is a builtin with type 'double (double)'
            _configtest.c:2:5: warning: incompatible redeclaration of library function 'trunc' [-Wincompatible-library-redeclaration]
            int trunc (void);
                ^
            _configtest.c:2:5: note: 'trunc' is a builtin with type 'double (double)'
            _configtest.c:3:5: warning: incompatible redeclaration of library function 'exp2' [-Wincompatible-library-redeclaration]
            int exp2 (void);
                ^
            _configtest.c:3:5: note: 'exp2' is a builtin with type 'double (double)'
            _configtest.c:4:5: warning: incompatible redeclaration of library function 'log2' [-Wincompatible-library-redeclaration]
            int log2 (void);
                ^
            _configtest.c:4:5: note: 'log2' is a builtin with type 'double (double)'
            _configtest.c:5:5: warning: incompatible redeclaration of library function 'atan2' [-Wincompatible-library-redeclaration]
            int atan2 (void);
                ^
            _configtest.c:5:5: note: 'atan2' is a builtin with type 'double (double, double)'
            _configtest.c:6:5: warning: incompatible redeclaration of library function 'pow' [-Wincompatible-library-redeclaration]
            int pow (void);
                ^
            _configtest.c:6:5: note: 'pow' is a builtin with type 'double (double, double)'
            _configtest.c:7:5: warning: incompatible redeclaration of library function 'nextafter' [-Wincompatible-library-redeclaration]
            int nextafter (void);
                ^
            _configtest.c:7:5: note: 'nextafter' is a builtin with type 'double (double, double)'
            _configtest.c:8:5: warning: incompatible redeclaration of library function 'strtoll' [-Wincompatible-library-redeclaration]
            int strtoll (void);
                ^
            _configtest.c:8:5: note: 'strtoll' is a builtin with type 'long long (const char *, char **, int)'
            _configtest.c:9:5: warning: incompatible redeclaration of library function 'strtoull' [-Wincompatible-library-redeclaration]
            int strtoull (void);
                ^
            _configtest.c:9:5: note: 'strtoull' is a builtin with type 'unsigned long long (const char *, char **, int)'
            _configtest.c:10:5: warning: incompatible redeclaration of library function 'cbrt' [-Wincompatible-library-redeclaration]
            int cbrt (void);
                ^
            _configtest.c:10:5: note: 'cbrt' is a builtin with type 'double (double)'
            10 warnings generated.
            Undefined symbols for architecture x86_64:
              "_fallocate", referenced from:
                  _main in _configtest.o
            ld: symbol(s) not found for architecture x86_64
            clang: error: linker command failed with exit code 1 (use -v to see invocation)
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'rint' [-Wincompatible-library-redeclaration]
            int rint (void);
                ^
            _configtest.c:1:5: note: 'rint' is a builtin with type 'double (double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'trunc' [-Wincompatible-library-redeclaration]
            int trunc (void);
                ^
            _configtest.c:1:5: note: 'trunc' is a builtin with type 'double (double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'exp2' [-Wincompatible-library-redeclaration]
            int exp2 (void);
                ^
            _configtest.c:1:5: note: 'exp2' is a builtin with type 'double (double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'log2' [-Wincompatible-library-redeclaration]
            int log2 (void);
                ^
            _configtest.c:1:5: note: 'log2' is a builtin with type 'double (double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'atan2' [-Wincompatible-library-redeclaration]
            int atan2 (void);
                ^
            _configtest.c:1:5: note: 'atan2' is a builtin with type 'double (double, double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'pow' [-Wincompatible-library-redeclaration]
            int pow (void);
                ^
            _configtest.c:1:5: note: 'pow' is a builtin with type 'double (double, double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'nextafter' [-Wincompatible-library-redeclaration]
            int nextafter (void);
                ^
            _configtest.c:1:5: note: 'nextafter' is a builtin with type 'double (double, double)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'strtoll' [-Wincompatible-library-redeclaration]
            int strtoll (void);
                ^
            _configtest.c:1:5: note: 'strtoll' is a builtin with type 'long long (const char *, char **, int)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'strtoull' [-Wincompatible-library-redeclaration]
            int strtoull (void);
                ^
            _configtest.c:1:5: note: 'strtoull' is a builtin with type 'unsigned long long (const char *, char **, int)'
            1 warning generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'cbrt' [-Wincompatible-library-redeclaration]
            int cbrt (void);
                ^
            _configtest.c:1:5: note: 'cbrt' is a builtin with type 'double (double)'
            1 warning generated.
            Undefined symbols for architecture x86_64:
              "_fallocate", referenced from:
                  _main in _configtest.o
            ld: symbol(s) not found for architecture x86_64
            clang: error: linker command failed with exit code 1 (use -v to see invocation)
            _configtest.c:1:10: fatal error: 'features.h' file not found
            #include <features.h>
                     ^~~~~~~~~~~~
            1 error generated.
            _configtest.c:5:3: warning: ignoring return value of function declared with const attribute [-Wunused-value]
              __builtin_isnan(5.);
              ^~~~~~~~~~~~~~~ ~~
            1 warning generated.
            _configtest.c:5:3: warning: ignoring return value of function declared with const attribute [-Wunused-value]
              __builtin_isinf(5.);
              ^~~~~~~~~~~~~~~ ~~
            1 warning generated.
            _configtest.c:5:3: warning: ignoring return value of function declared with const attribute [-Wunused-value]
              __builtin_isfinite(5.);
              ^~~~~~~~~~~~~~~~~~ ~~
            1 warning generated.
            _configtest.c:5:3: warning: ignoring return value of function declared with const attribute [-Wunused-value]
              __builtin_bswap32(5u);
              ^~~~~~~~~~~~~~~~~ ~~
            1 warning generated.
            _configtest.c:5:3: warning: ignoring return value of function declared with const attribute [-Wunused-value]
              __builtin_bswap64(5u);
              ^~~~~~~~~~~~~~~~~ ~~
            1 warning generated.
            _configtest.c:5:3: warning: ignoring return value of function declared with const attribute [-Wunused-value]
              __builtin_expect(5, 0);
              ^~~~~~~~~~~~~~~~ ~~~~
            1 warning generated.
            _configtest.c:7:16: warning: unused variable 'r' [-Wunused-variable]
              volatile int r = __builtin_cpu_supports("sse");
                           ^
            1 warning generated.
            _configtest.c:7:16: warning: unused variable 'r' [-Wunused-variable]
              volatile int r = __builtin_cpu_supports("avx512f");
                           ^
            1 warning generated.
            _configtest.c:5:20: error: unknown attribute 'optimize' ignored [-Werror,-Wunknown-attributes]
            int __attribute__((optimize("unroll-loops"))) attribute_optimize_unroll_loops(void*);
                               ^
            1 error generated.
            _configtest.c:5:20: error: unknown attribute 'optimize' ignored [-Werror,-Wunknown-attributes]
            int __attribute__((optimize("O3"))) attribute_optimize_opt_3(void*);
                               ^
            1 error generated.
            _configtest.c:5:12: warning: unused variable 'temp' [-Wunused-variable]
                __m256 temp = _mm256_set1_ps(1.0);
                       ^
            1 warning generated.
            _configtest.c:5:12: warning: unused variable 'temp' [-Wunused-variable]
                __m512 temp = _mm512_set1_ps(1.0);
                       ^
      
                ^
            _configtest.c:32:5: note: 'log2f' is a builtin with type 'float (float)'
            _configtest.c:33:5: warning: incompatible redeclaration of library function 'copysignf' [-Wincompatible-library-redeclaration]
            int copysignf (void);
                ^
            _configtest.c:33:5: note: 'copysignf' is a builtin with type 'float (float, float)'
            _configtest.c:34:5: warning: incompatible redeclaration of library function 'nextafterf' [-Wincompatible-library-redeclaration]
            int nextafterf (void);
                ^
            _configtest.c:34:5: note: 'nextafterf' is a builtin with type 'float (float, float)'
            _configtest.c:35:5: warning: incompatible redeclaration of library function 'cbrtf' [-Wincompatible-library-redeclaration]
            int cbrtf (void);
                ^
            _configtest.c:35:5: note: 'cbrtf' is a builtin with type 'float (float)'
            35 warnings generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'sinl' [-Wincompatible-library-redeclaration]
            int sinl (void);
                ^
            _configtest.c:1:5: note: 'sinl' is a builtin with type 'long double (long double)'
            _configtest.c:2:5: warning: incompatible redeclaration of library function 'cosl' [-Wincompatible-library-redeclaration]
            int cosl (void);
                ^
            _configtest.c:2:5: note: 'cosl' is a builtin with type 'long double (long double)'
            _configtest.c:3:5: warning: incompatible redeclaration of library function 'tanl' [-Wincompatible-library-redeclaration]
            int tanl (void);
                ^
            _configtest.c:3:5: note: 'tanl' is a builtin with type 'long double (long double)'
            _configtest.c:4:5: warning: incompatible redeclaration of library function 'sinhl' [-Wincompatible-library-redeclaration]
            int sinhl (void);
                ^
            _configtest.c:4:5: note: 'sinhl' is a builtin with type 'long double (long double)'
            _configtest.c:5:5: warning: incompatible redeclaration of library function 'coshl' [-Wincompatible-library-redeclaration]
            int coshl (void);
                ^
            _configtest.c:5:5: note: 'coshl' is a builtin with type 'long double (long double)'
            _configtest.c:6:5: warning: incompatible redeclaration of library function 'tanhl' [-Wincompatible-library-redeclaration]
            int tanhl (void);
                ^
            _configtest.c:6:5: note: 'tanhl' is a builtin with type 'long double (long double)'
            _configtest.c:7:5: warning: incompatible redeclaration of library function 'fabsl' [-Wincompatible-library-redeclaration]
            int fabsl (void);
                ^
            _configtest.c:7:5: note: 'fabsl' is a builtin with type 'long double (long double)'
            _configtest.c:8:5: warning: incompatible redeclaration of library function 'floorl' [-Wincompatible-library-redeclaration]
            int floorl (void);
                ^
            _configtest.c:8:5: note: 'floorl' is a builtin with type 'long double (long double)'
            _configtest.c:9:5: warning: incompatible redeclaration of library function 'ceill' [-Wincompatible-library-redeclaration]
            int ceill (void);
                ^
            _configtest.c:9:5: note: 'ceill' is a builtin with type 'long double (long double)'
            _configtest.c:10:5: warning: incompatible redeclaration of library function 'rintl' [-Wincompatible-library-redeclaration]
            int rintl (void);
                ^
            _configtest.c:10:5: note: 'rintl' is a builtin with type 'long double (long double)'
            _configtest.c:11:5: warning: incompatible redeclaration of library function 'truncl' [-Wincompatible-library-redeclaration]
            int truncl (void);
                ^
            _configtest.c:11:5: note: 'truncl' is a builtin with type 'long double (long double)'
            _configtest.c:12:5: warning: incompatible redeclaration of library function 'sqrtl' [-Wincompatible-library-redeclaration]
            int sqrtl (void);
                ^
            _configtest.c:12:5: note: 'sqrtl' is a builtin with type 'long double (long double)'
            _configtest.c:13:5: warning: incompatible redeclaration of library function 'log10l' [-Wincompatible-library-redeclaration]
            int log10l (void);
                ^
            _configtest.c:13:5: note: 'log10l' is a builtin with type 'long double (long double)'
            _configtest.c:14:5: warning: incompatible redeclaration of library function 'logl' [-Wincompatible-library-redeclaration]
            int logl (void);
                ^
            _configtest.c:14:5: note: 'logl' is a builtin with type 'long double (long double)'
            _configtest.c:15:5: warning: incompatible redeclaration of library function 'log1pl' [-Wincompatible-library-redeclaration]
            int log1pl (void);
                ^
            _configtest.c:15:5: note: 'log1pl' is a builtin with type 'long double (long double)'
            _configtest.c:16:5: warning: incompatible redeclaration of library function 'expl' [-Wincompatible-library-redeclaration]
            int expl (void);
                ^
            _configtest.c:16:5: note: 'expl' is a builtin with type 'long double (long double)'
            _configtest.c:17:5: warning: incompatible redeclaration of library function 'expm1l' [-Wincompatible-library-redeclaration]
            int expm1l (void);
                ^
            _configtest.c:17:5: note: 'expm1l' is a builtin with type 'long double (long double)'
            _configtest.c:18:5: warning: incompatible redeclaration of library function 'asinl' [-Wincompatible-library-redeclaration]
            int asinl (void);
                ^
            _configtest.c:18:5: note: 'asinl' is a builtin with type 'long double (long double)'
            _configtest.c:19:5: warning: incompatible redeclaration of library function 'acosl' [-Wincompatible-library-redeclaration]
            int acosl (void);
                ^
            _configtest.c:19:5: note: 'acosl' is a builtin with type 'long double (long double)'
            _configtest.c:20:5: warning: incompatible redeclaration of library function 'atanl' [-Wincompatible-library-redeclaration]
            int atanl (void);
                ^
            _configtest.c:20:5: note: 'atanl' is a builtin with type 'long double (long double)'
            _configtest.c:21:5: warning: incompatible redeclaration of library function 'asinhl' [-Wincompatible-library-redeclaration]
            int asinhl (void);
                ^
            _configtest.c:21:5: note: 'asinhl' is a builtin with type 'long double (long double)'
            _configtest.c:22:5: warning: incompatible redeclaration of library function 'acoshl' [-Wincompatible-library-redeclaration]
            int acoshl (void);
                ^
            _configtest.c:22:5: note: 'acoshl' is a builtin with type 'long double (long double)'
            _configtest.c:23:5: warning: incompatible redeclaration of library function 'atanhl' [-Wincompatible-library-redeclaration]
            int atanhl (void);
                ^
            _configtest.c:23:5: note: 'atanhl' is a builtin with type 'long double (long double)'
            _configtest.c:24:5: warning: incompatible redeclaration of library function 'hypotl' [-Wincompatible-library-redeclaration]
            int hypotl (void);
                ^
            _configtest.c:24:5: note: 'hypotl' is a builtin with type 'long double (long double, long double)'
            _configtest.c:25:5: warning: incompatible redeclaration of library function 'atan2l' [-Wincompatible-library-redeclaration]
            int atan2l (void);
                ^
            _configtest.c:25:5: note: 'atan2l' is a builtin with type 'long double (long double, long double)'
            _configtest.c:26:5: warning: incompatible redeclaration of library function 'powl' [-Wincompatible-library-redeclaration]
            int powl (void);
                ^
            _configtest.c:26:5: note: 'powl' is a builtin with type 'long double (long double, long double)'
            _configtest.c:27:5: warning: incompatible redeclaration of library function 'fmodl' [-Wincompatible-library-redeclaration]
            int fmodl (void);
                ^
            _configtest.c:27:5: note: 'fmodl' is a builtin with type 'long double (long double, long double)'
            _configtest.c:28:5: warning: incompatible redeclaration of library function 'modfl' [-Wincompatible-library-redeclaration]
            int modfl (void);
                ^
            _configtest.c:28:5: note: 'modfl' is a builtin with type 'long double (long double, long double *)'
            _configtest.c:29:5: warning: incompatible redeclaration of library function 'frexpl' [-Wincompatible-library-redeclaration]
            int frexpl (void);
                ^
            _configtest.c:29:5: note: 'frexpl' is a builtin with type 'long double (long double, int *)'
            _configtest.c:30:5: warning: incompatible redeclaration of library function 'ldexpl' [-Wincompatible-library-redeclaration]
            int ldexpl (void);
                ^
            _configtest.c:30:5: note: 'ldexpl' is a builtin with type 'long double (long double, int)'
            _configtest.c:31:5: warning: incompatible redeclaration of library function 'exp2l' [-Wincompatible-library-redeclaration]
            int exp2l (void);
                ^
            _configtest.c:31:5: note: 'exp2l' is a builtin with type 'long double (long double)'
            _configtest.c:32:5: warning: incompatible redeclaration of library function 'log2l' [-Wincompatible-library-redeclaration]
            int log2l (void);
                ^
            _configtest.c:32:5: note: 'log2l' is a builtin with type 'long double (long double)'
            _configtest.c:33:5: warning: incompatible redeclaration of library function 'copysignl' [-Wincompatible-library-redeclaration]
            int copysignl (void);
                ^
            _configtest.c:33:5: note: 'copysignl' is a builtin with type 'long double (long double, long double)'
            _configtest.c:34:5: warning: incompatible redeclaration of library function 'nextafterl' [-Wincompatible-library-redeclaration]
            int nextafterl (void);
                ^
            _configtest.c:34:5: note: 'nextafterl' is a builtin with type 'long double (long double, long double)'
            _configtest.c:35:5: warning: incompatible redeclaration of library function 'cbrtl' [-Wincompatible-library-redeclaration]
            int cbrtl (void);
                ^
            _configtest.c:35:5: note: 'cbrtl' is a builtin with type 'long double (long double)'
            35 warnings generated.
            _configtest.c:8:12: error: use of undeclared identifier 'HAVE_DECL_SIGNBIT'
                (void) HAVE_DECL_SIGNBIT;
                       ^
            1 error generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'cabs' [-Wincompatible-library-redeclaration]
            int cabs (void);
                ^
            _configtest.c:1:5: note: 'cabs' is a builtin with type 'double (_Complex double)'
            _configtest.c:2:5: warning: incompatible redeclaration of library function 'cacos' [-Wincompatible-library-redeclaration]
            int cacos (void);
                ^
            _configtest.c:2:5: note: 'cacos' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:3:5: warning: incompatible redeclaration of library function 'cacosh' [-Wincompatible-library-redeclaration]
            int cacosh (void);
                ^
            _configtest.c:3:5: note: 'cacosh' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:4:5: warning: incompatible redeclaration of library function 'carg' [-Wincompatible-library-redeclaration]
            int carg (void);
                ^
            _configtest.c:4:5: note: 'carg' is a builtin with type 'double (_Complex double)'
            _configtest.c:5:5: warning: incompatible redeclaration of library function 'casin' [-Wincompatible-library-redeclaration]
            int casin (void);
                ^
            _configtest.c:5:5: note: 'casin' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:6:5: warning: incompatible redeclaration of library function 'casinh' [-Wincompatible-library-redeclaration]
            int casinh (void);
                ^
            _configtest.c:6:5: note: 'casinh' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:7:5: warning: incompatible redeclaration of library function 'catan' [-Wincompatible-library-redeclaration]
            int catan (void);
                ^
            _configtest.c:7:5: note: 'catan' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:8:5: warning: incompatible redeclaration of library function 'catanh' [-Wincompatible-library-redeclaration]
            int catanh (void);
                ^
            _configtest.c:8:5: note: 'catanh' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:9:5: warning: incompatible redeclaration of library function 'ccos' [-Wincompatible-library-redeclaration]
            int ccos (void);
                ^
            _configtest.c:9:5: note: 'ccos' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:10:5: warning: incompatible redeclaration of library function 'ccosh' [-Wincompatible-library-redeclaration]
            int ccosh (void);
                ^
            _configtest.c:10:5: note: 'ccosh' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:11:5: warning: incompatible redeclaration of library function 'cexp' [-Wincompatible-library-redeclaration]
            int cexp (void);
                ^
            _configtest.c:11:5: note: 'cexp' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:12:5: warning: incompatible redeclaration of library function 'cimag' [-Wincompatible-library-redeclaration]
            int cimag (void);
                ^
            _configtest.c:12:5: note: 'cimag' is a builtin with type 'double (_Complex double)'
            _configtest.c:13:5: warning: incompatible redeclaration of library function 'clog' [-Wincompatible-library-redeclaration]
            int clog (void);
                ^
            _configtest.c:13:5: note: 'clog' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:14:5: warning: incompatible redeclaration of library function 'conj' [-Wincompatible-library-redeclaration]
            int conj (void);
                ^
            _configtest.c:14:5: note: 'conj' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:15:5: warning: incompatible redeclaration of library function 'cpow' [-Wincompatible-library-redeclaration]
            int cpow (void);
                ^
            _configtest.c:15:5: note: 'cpow' is a builtin with type '_Complex double (_Complex double, _Complex double)'
            _configtest.c:16:5: warning: incompatible redeclaration of library function 'cproj' [-Wincompatible-library-redeclaration]
            int cproj (void);
                ^
            _configtest.c:16:5: note: 'cproj' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:17:5: warning: incompatible redeclaration of library function 'creal' [-Wincompatible-library-redeclaration]
            int creal (void);
                ^
            _configtest.c:17:5: note: 'creal' is a builtin with type 'double (_Complex double)'
            _configtest.c:18:5: warning: incompatible redeclaration of library function 'csin' [-Wincompatible-library-redeclaration]
            int csin (void);
                ^
            _configtest.c:18:5: note: 'csin' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:19:5: warning: incompatible redeclaration of library function 'csinh' [-Wincompatible-library-redeclaration]
            int csinh (void);
                ^
            _configtest.c:19:5: note: 'csinh' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:20:5: warning: incompatible redeclaration of library function 'csqrt' [-Wincompatible-library-redeclaration]
            int csqrt (void);
                ^
            _configtest.c:20:5: note: 'csqrt' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:21:5: warning: incompatible redeclaration of library function 'ctan' [-Wincompatible-library-redeclaration]
            int ctan (void);
                ^
            _configtest.c:21:5: note: 'ctan' is a builtin with type '_Complex double (_Complex double)'
            _configtest.c:22:5: warning: incompatible redeclaration of library function 'ctanh' [-Wincompatible-library-redeclaration]
            int ctanh (void);
                ^
            _configtest.c:22:5: note: 'ctanh' is a builtin with type '_Complex double (_Complex double)'
            22 warnings generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'cabsf' [-Wincompatible-library-redeclaration]
            int cabsf (void);
                ^
            _configtest.c:1:5: note: 'cabsf' is a builtin with type 'float (_Complex float)'
            _configtest.c:2:5: warning: incompatible redeclaration of library function 'cacosf' [-Wincompatible-library-redeclaration]
            int cacosf (void);
                ^
            _configtest.c:2:5: note: 'cacosf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:3:5: warning: incompatible redeclaration of library function 'cacoshf' [-Wincompatible-library-redeclaration]
            int cacoshf (void);
                ^
            _configtest.c:3:5: note: 'cacoshf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:4:5: warning: incompatible redeclaration of library function 'cargf' [-Wincompatible-library-redeclaration]
            int cargf (void);
                ^
            _configtest.c:4:5: note: 'cargf' is a builtin with type 'float (_Complex float)'
            _configtest.c:5:5: warning: incompatible redeclaration of library function 'casinf' [-Wincompatible-library-redeclaration]
            int casinf (void);
                ^
            _configtest.c:5:5: note: 'casinf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:6:5: warning: incompatible redeclaration of library function 'casinhf' [-Wincompatible-library-redeclaration]
            int casinhf (void);
                ^
            _configtest.c:6:5: note: 'casinhf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:7:5: warning: incompatible redeclaration of library function 'catanf' [-Wincompatible-library-redeclaration]
            int catanf (void);
                ^
            _configtest.c:7:5: note: 'catanf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:8:5: warning: incompatible redeclaration of library function 'catanhf' [-Wincompatible-library-redeclaration]
            int catanhf (void);
                ^
            _configtest.c:8:5: note: 'catanhf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:9:5: warning: incompatible redeclaration of library function 'ccosf' [-Wincompatible-library-redeclaration]
            int ccosf (void);
                ^
            _configtest.c:9:5: note: 'ccosf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:10:5: warning: incompatible redeclaration of library function 'ccoshf' [-Wincompatible-library-redeclaration]
            int ccoshf (void);
                ^
            _configtest.c:10:5: note: 'ccoshf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:11:5: warning: incompatible redeclaration of library function 'cexpf' [-Wincompatible-library-redeclaration]
            int cexpf (void);
                ^
            _configtest.c:11:5: note: 'cexpf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:12:5: warning: incompatible redeclaration of library function 'cimagf' [-Wincompatible-library-redeclaration]
            int cimagf (void);
                ^
            _configtest.c:12:5: note: 'cimagf' is a builtin with type 'float (_Complex float)'
            _configtest.c:13:5: warning: incompatible redeclaration of library function 'clogf' [-Wincompatible-library-redeclaration]
            int clogf (void);
                ^
            _configtest.c:13:5: note: 'clogf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:14:5: warning: incompatible redeclaration of library function 'conjf' [-Wincompatible-library-redeclaration]
            int conjf (void);
                ^
            _configtest.c:14:5: note: 'conjf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:15:5: warning: incompatible redeclaration of library function 'cpowf' [-Wincompatible-library-redeclaration]
            int cpowf (void);
                ^
            _configtest.c:15:5: note: 'cpowf' is a builtin with type '_Complex float (_Complex float, _Complex float)'
            _configtest.c:16:5: warning: incompatible redeclaration of library function 'cprojf' [-Wincompatible-library-redeclaration]
            int cprojf (void);
                ^
            _configtest.c:16:5: note: 'cprojf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:17:5: warning: incompatible redeclaration of library function 'crealf' [-Wincompatible-library-redeclaration]
            int crealf (void);
                ^
            _configtest.c:17:5: note: 'crealf' is a builtin with type 'float (_Complex float)'
            _configtest.c:18:5: warning: incompatible redeclaration of library function 'csinf' [-Wincompatible-library-redeclaration]
            int csinf (void);
                ^
            _configtest.c:18:5: note: 'csinf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:19:5: warning: incompatible redeclaration of library function 'csinhf' [-Wincompatible-library-redeclaration]
            int csinhf (void);
                ^
            _configtest.c:19:5: note: 'csinhf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:20:5: warning: incompatible redeclaration of library function 'csqrtf' [-Wincompatible-library-redeclaration]
            int csqrtf (void);
                ^
            _configtest.c:20:5: note: 'csqrtf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:21:5: warning: incompatible redeclaration of library function 'ctanf' [-Wincompatible-library-redeclaration]
            int ctanf (void);
                ^
            _configtest.c:21:5: note: 'ctanf' is a builtin with type '_Complex float (_Complex float)'
            _configtest.c:22:5: warning: incompatible redeclaration of library function 'ctanhf' [-Wincompatible-library-redeclaration]
            int ctanhf (void);
                ^
            _configtest.c:22:5: note: 'ctanhf' is a builtin with type '_Complex float (_Complex float)'
            22 warnings generated.
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'cabsl' [-Wincompatible-library-redeclaration]
            int cabsl (void);
                ^
            _configtest.c:1:5: note: 'cabsl' is a builtin with type 'long double (_Complex long double)'
            _configtest.c:2:5: warning: incompatible redeclaration of library function 'cacosl' [-Wincompatible-library-redeclaration]
            int cacosl (void);
                ^
            _configtest.c:2:5: note: 'cacosl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:3:5: warning: incompatible redeclaration of library function 'cacoshl' [-Wincompatible-library-redeclaration]
            int cacoshl (void);
                ^
            _configtest.c:3:5: note: 'cacoshl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:4:5: warning: incompatible redeclaration of library function 'cargl' [-Wincompatible-library-redeclaration]
            int cargl (void);
                ^
            _configtest.c:4:5: note: 'cargl' is a builtin with type 'long double (_Complex long double)'
            _configtest.c:5:5: warning: incompatible redeclaration of library function 'casinl' [-Wincompatible-library-redeclaration]
            int casinl (void);
                ^
            _configtest.c:5:5: note: 'casinl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:6:5: warning: incompatible redeclaration of library function 'casinhl' [-Wincompatible-library-redeclaration]
            int casinhl (void);
                ^
            _configtest.c:6:5: note: 'casinhl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:7:5: warning: incompatible redeclaration of library function 'catanl' [-Wincompatible-library-redeclaration]
            int catanl (void);
                ^
            _configtest.c:7:5: note: 'catanl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:8:5: warning: incompatible redeclaration of library function 'catanhl' [-Wincompatible-library-redeclaration]
            int catanhl (void);
                ^
            _configtest.c:8:5: note: 'catanhl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:9:5: warning: incompatible redeclaration of library function 'ccosl' [-Wincompatible-library-redeclaration]
            int ccosl (void);
                ^
            _configtest.c:9:5: note: 'ccosl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:10:5: warning: incompatible redeclaration of library function 'ccoshl' [-Wincompatible-library-redeclaration]
            int ccoshl (void);
                ^
            _configtest.c:10:5: note: 'ccoshl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:11:5: warning: incompatible redeclaration of library function 'cexpl' [-Wincompatible-library-redeclaration]
            int cexpl (void);
                ^
            _configtest.c:11:5: note: 'cexpl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:12:5: warning: incompatible redeclaration of library function 'cimagl' [-Wincompatible-library-redeclaration]
            int cimagl (void);
                ^
            _configtest.c:12:5: note: 'cimagl' is a builtin with type 'long double (_Complex long double)'
            _configtest.c:13:5: warning: incompatible redeclaration of library function 'clogl' [-Wincompatible-library-redeclaration]
            int clogl (void);
                ^
            _configtest.c:13:5: note: 'clogl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:14:5: warning: incompatible redeclaration of library function 'conjl' [-Wincompatible-library-redeclaration]
            int conjl (void);
                ^
            _configtest.c:14:5: note: 'conjl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:15:5: warning: incompatible redeclaration of library function 'cpowl' [-Wincompatible-library-redeclaration]
            int cpowl (void);
                ^
            _configtest.c:15:5: note: 'cpowl' is a builtin with type '_Complex long double (_Complex long double, _Complex long double)'
            _configtest.c:16:5: warning: incompatible redeclaration of library function 'cprojl' [-Wincompatible-library-redeclaration]
            int cprojl (void);
                ^
            _configtest.c:16:5: note: 'cprojl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:17:5: warning: incompatible redeclaration of library function 'creall' [-Wincompatible-library-redeclaration]
            int creall (void);
                ^
            _configtest.c:17:5: note: 'creall' is a builtin with type 'long double (_Complex long double)'
            _configtest.c:18:5: warning: incompatible redeclaration of library function 'csinl' [-Wincompatible-library-redeclaration]
            int csinl (void);
                ^
            _configtest.c:18:5: note: 'csinl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:19:5: warning: incompatible redeclaration of library function 'csinhl' [-Wincompatible-library-redeclaration]
            int csinhl (void);
                ^
            _configtest.c:19:5: note: 'csinhl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:20:5: warning: incompatible redeclaration of library function 'csqrtl' [-Wincompatible-library-redeclaration]
            int csqrtl (void);
                ^
            _configtest.c:20:5: note: 'csqrtl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:21:5: warning: incompatible redeclaration of library function 'ctanl' [-Wincompatible-library-redeclaration]
            int ctanl (void);
                ^
            _configtest.c:21:5: note: 'ctanl' is a builtin with type '_Complex long double (_Complex long double)'
            _configtest.c:22:5: warning: incompatible redeclaration of library function 'ctanhl' [-Wincompatible-library-redeclaration]
            int ctanhl (void);
                ^
            _configtest.c:22:5: note: 'ctanhl' is a builtin with type '_Complex long double (_Complex long double)'
            22 warnings generated.
            _configtest.c:2:12: warning: unused function 'static_func' [-Wunused-function]
            static int static_func (char * restrict a)
                       ^
            1 warning generated.
            _configtest.c:3:19: warning: unused function 'static_func' [-Wunused-function]
            static inline int static_func (void)
                              ^
            1 warning generated.
            File: build/src.macosx-10.9-x86_64-3.9/numpy/core/include/numpy/config.h
            #define SIZEOF_PY_INTPTR_T 8
            #define SIZEOF_OFF_T 8
            #define SIZEOF_PY_LONG_LONG 8
            #define MATHLIB
            #define HAVE_SIN 1
            #define HAVE_COS 1
            #define HAVE_TAN 1
            #define HAVE_SINH 1
            #define HAVE_COSH 1
            #define HAVE_TANH 1
            #define HAVE_FABS 1
            #define HAVE_FLOOR 1
            #define HAVE_CEIL 1
            #define HAVE_SQRT 1
            #define HAVE_LOG10 1
            #define HAVE_LOG 1
            #define HAVE_EXP 1
            #define HAVE_ASIN 1
            #define HAVE_ACOS 1
            #define HAVE_ATAN 1
            #define HAVE_FMOD 1
            #define HAVE_MODF 1
            #define HAVE_FREXP 1
            #define HAVE_LDEXP 1
            #define HAVE_RINT 1
            #define HAVE_TRUNC 1
            #define HAVE_EXP2 1
            #define HAVE_LOG2 1
            #define HAVE_ATAN2 1
            #define HAVE_POW 1
            #define HAVE_NEXTAFTER 1
            #define HAVE_STRTOLL 1
            #define HAVE_STRTOULL 1
            #define HAVE_CBRT 1
            #define HAVE_STRTOLD_L 1
            #define HAVE_BACKTRACE 1
            #define HAVE_MADVISE 1
            #define HAVE_XMMINTRIN_H 1
            #define HAVE_EMMINTRIN_H 1
            #define HAVE_IMMINTRIN_H 1
            #define HAVE_XLOCALE_H 1
            #define HAVE_DLFCN_H 1
            #define HAVE_SYS_MMAN_H 1
            #define HAVE___BUILTIN_ISNAN 1
            #define HAVE___BUILTIN_ISINF 1
            #define HAVE___BUILTIN_ISFINITE 1
            #define HAVE___BUILTIN_BSWAP32 1
            #define HAVE___BUILTIN_BSWAP64 1
            #define HAVE___BUILTIN_EXPECT 1
            #define HAVE___BUILTIN_MUL_OVERFLOW 1
            #define HAVE___BUILTIN_CPU_SUPPORTS 1
            #define HAVE___BUILTIN_CPU_SUPPORTS_AVX512F 1
            #define HAVE__M_FROM_INT64 1
            #define HAVE__MM_LOAD_PS 1
            #define HAVE__MM_PREFETCH 1
            #define HAVE__MM_LOAD_PD 1
            #define HAVE___BUILTIN_PREFETCH 1
            #define HAVE_LINK_AVX 1
            #define HAVE_LINK_AVX2 1
            #define HAVE_LINK_AVX512F 1
            #define HAVE_XGETBV 1
            #define HAVE_ATTRIBUTE_NONNULL 1
            #define HAVE_ATTRIBUTE_TARGET_AVX 1
            #define HAVE_ATTRIBUTE_TARGET_AVX2 1
            #define HAVE_ATTRIBUTE_TARGET_AVX512F 1
            #define HAVE_ATTRIBUTE_TARGET_AVX2_WITH_INTRINSICS 1
            #define HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS 1
            #define HAVE___THREAD 1
            #define HAVE_SINF 1
            #define HAVE_COSF 1
            #define HAVE_TANF 1
            #define HAVE_SINHF 1
            #define HAVE_COSHF 1
            #define HAVE_TANHF 1
            #define HAVE_FABSF 1
            #define HAVE_FLOORF 1
            #define HAVE_CEILF 1
            #define HAVE_RINTF 1
            #define HAVE_TRUNCF 1
            #define HAVE_SQRTF 1
            #define HAVE_LOG10F 1
            #define HAVE_LOGF 1
            #define HAVE_LOG1PF 1
            #define HAVE_EXPF 1
            #define HAVE_EXPM1F 1
            #define HAVE_ASINF 1
            #define HAVE_ACOSF 1
            #define HAVE_ATANF 1
            #define HAVE_ASINHF 1
            #define HAVE_ACOSHF 1
            #define HAVE_ATANHF 1
            #define HAVE_HYPOTF 1
            #define HAVE_ATAN2F 1
            #define HAVE_POWF 1
            #define HAVE_FMODF 1
            #define HAVE_MODFF 1
            #define HAVE_FREXPF 1
            #define HAVE_LDEXPF 1
            #define HAVE_EXP2F 1
            #define HAVE_LOG2F 1
            #define HAVE_COPYSIGNF 1
            #define HAVE_NEXTAFTERF 1
            #define HAVE_CBRTF 1
            #define HAVE_SINL 1
            #define HAVE_COSL 1
            #define HAVE_TANL 1
            #define HAVE_SINHL 1
            #define HAVE_COSHL 1
            #define HAVE_TANHL 1
            #define HAVE_FABSL 1
            #define HAVE_FLOORL 1
            #define HAVE_CEILL 1
            #define HAVE_RINTL 1
            #define HAVE_TRUNCL 1
            #define HAVE_SQRTL 1
            #define HAVE_LOG10L 1
            #define HAVE_LOGL 1
            #define HAVE_LOG1PL 1
            #define HAVE_EXPL 1
            #define HAVE_EXPM1L 1
            #define NPY_API_VERSION 0x0000000D
      
            #ifndef __STDC_FORMAT_MACROS
            #define __STDC_FORMAT_MACROS 1
            #endif
      
            EOF
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core/src/multiarray
            creating build/src.macosx-10.9-x86_64-3.9/numpy/core/src/umath
            creating build/src.macosx-10.9-x86_64-3.9/numpy/linalg
            /opt/anaconda3/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
              warnings.warn(
            running build_py
            creating build/lib.macosx-10.9-x86_64-3.9
            creating build/lib.macosx-10.9-x86_64-3.9/numpy
            copying numpy/conftest.py -> build/lib.macosx-10.9-x86_64-3.9/numpy
            copying numpy/version.py -> build/lib.macosx-10.9-x86_64-3.9/numpycosx-10.9-x86_64-3.9/numpy/distutils/__config__.py -> build/lib.macosx-10.9-x86_64-3.9/numpy/distutils
     
            creating build/temp.macosx-10.9-x86_64-3.9
            creating build/temp.macosx-10.9-x86_64-3.9/numpy
            creating build/temp.macosx-10.9-x86_64-3.9/numpy/core
            creating build/temp.macosx-10.9-x86_64-3.9/numpy/core/src
            creating build/temp.macosx-10.9-x86_64-3.9/numpy/core/src/npymath
            creating build/temp.macosx-10.9-x86_64-3.9/build
            creating build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9
            creating build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy
            creating build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core
            creating build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core/src
            creating build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npymath
            numpy/core/src/npymath/npy_math_complex.c.src:48:33: warning: unused variable 'tiny' [-Wunused-const-variable]
            static const volatile npy_float tiny = 3.9443045e-31f;
                                            ^
            numpy/core/src/npymath/npy_math_complex.c.src:67:25: warning: unused variable 'c_halff' [-Wunused-const-variable]
            static const npy_cfloat c_halff = {0.5F, 0.0};
                                    ^
            numpy/core/src/npymath/npy_math_complex.c.src:68:25: warning: unused variable 'c_if' [-Wunused-const-variable]
            static const npy_cfloat c_if = {0.0, 1.0F};
                                    ^
            numpy/core/src/npymath/npy_math_complex.c.src:69:25: warning: unused variable 'c_ihalff' [-Wunused-const-variable]
            static const npy_cfloat c_ihalff = {0.0, 0.5F};
                                    ^
            numpy/core/src/npymath/npy_math_complex.c.src:79:1: warning: unused function 'caddf' [-Wunused-function]
            caddf(npy_cfloat a, npy_cfloat b)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:87:1: warning: unused function 'csubf' [-Wunused-function]
            csubf(npy_cfloat a, npy_cfloat b)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:137:1: warning: unused function 'cnegf' [-Wunused-function]
            cnegf(npy_cfloat a)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:144:1: warning: unused function 'cmulif' [-Wunused-function]
            cmulif(npy_cfloat a)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:67:26: warning: unused variable 'c_half' [-Wunused-const-variable]
            static const npy_cdouble c_half = {0.5, 0.0};
                                     ^
            numpy/core/src/npymath/npy_math_complex.c.src:68:26: warning: unused variable 'c_i' [-Wunused-const-variable]
            static const npy_cdouble c_i = {0.0, 1.0};
                                     ^
            numpy/core/src/npymath/npy_math_complex.c.src:69:26: warning: unused variable 'c_ihalf' [-Wunused-const-variable]
            static const npy_cdouble c_ihalf = {0.0, 0.5};
                                     ^
            numpy/core/src/npymath/npy_math_complex.c.src:79:1: warning: unused function 'cadd' [-Wunused-function]
            cadd(npy_cdouble a, npy_cdouble b)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:87:1: warning: unused function 'csub' [-Wunused-function]
            csub(npy_cdouble a, npy_cdouble b)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:137:1: warning: unused function 'cneg' [-Wunused-function]
            cneg(npy_cdouble a)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:144:1: warning: unused function 'cmuli' [-Wunused-function]
            cmuli(npy_cdouble a)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:67:30: warning: unused variable 'c_halfl' [-Wunused-const-variable]
            static const npy_clongdouble c_halfl = {0.5L, 0.0};
                                         ^
            numpy/core/src/npymath/npy_math_complex.c.src:68:30: warning: unused variable 'c_il' [-Wunused-const-variable]
            static const npy_clongdouble c_il = {0.0, 1.0L};
                                         ^
            numpy/core/src/npymath/npy_math_complex.c.src:69:30: warning: unused variable 'c_ihalfl' [-Wunused-const-variable]
            static const npy_clongdouble c_ihalfl = {0.0, 0.5L};
                                         ^
            numpy/core/src/npymath/npy_math_complex.c.src:79:1: warning: unused function 'caddl' [-Wunused-function]
            caddl(npy_clongdouble a, npy_clongdouble b)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:87:1: warning: unused function 'csubl' [-Wunused-function]
            csubl(npy_clongdouble a, npy_clongdouble b)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:137:1: warning: unused function 'cnegl' [-Wunused-function]
            cnegl(npy_clongdouble a)
            ^
            numpy/core/src/npymath/npy_math_complex.c.src:144:1: warning: unused function 'cmulil' [-Wunused-function]
            cmulil(npy_clongdouble a)
            ^
            22 warnings generated.
            error: Command "/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_croot-8rcp3rdc/python-split_1649141342860/_build_env/bin/llvm-ar rcs build/temp.macosx-10.9-x86_64-3.9/libnpymath.a build/temp.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/npy_math.o build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/ieee754.o build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/npy_math_complex.o build/temp.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/halffloat.o" failed with exit status 127
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for numpy
        Running setup.py clean for numpy
        error: subprocess-exited-with-error
      
        × python setup.py clean did not run successfully.
        │ exit code: 1
        ╰─> [10 lines of output]
            Running from numpy source directory.
      
            `setup.py clean` is not supported, use one of the following instead:
      
              - `git clean -xdf` (cleans all files)
              - `git clean -Xdf` (cleans all versioned files, doesn't touch
                                  files that aren't checked into the git repo)
      
            Add `--force` to your command to use it anyway if you must (unsupported).
      
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed cleaning build dir for numpy
      Failed to build numpy
      Installing collected packages: wheel, setuptools, numpy, Cython, scipy
        Running setup.py install for numpy: started
        Running setup.py install for numpy: finished with status 'error'
        error: subprocess-exited-with-error
      
        × Running setup.py install for numpy did not run successfully.
        │ exit code: 1
        ╰─> [44 lines of output]
            Running from numpy source directory.
      
            Note: if you need reliable uninstall behavior, then install
            with pip instead of using `setup.py install`:
      
              - `pip install .`       (from a git repo or downloaded source
                                       release)
              - `pip install numpy`   (last NumPy release on PyPi)
      
      
            svnversion: error: The subversion command line tools are no longer provided by Xcode.
            non-existing path in 'numpy/distutils': 'site.cfg'
            /opt/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py:275: UserWarning: Unknown distribution option: 'define_macros'
              warnings.warn(msg)
            running install
            /opt/anaconda3/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
              warnings.warn(
            running build
            running config_cc
            running config_fc
            running build_src
            Could not locate executable gfortran
            Could not locate executable f95
            Could not locate executable f90
            Could not locate executable f77
            Could not locate executable xlf90
            Could not locate executable xlf
            Could not locate executable ifort
            Could not locate executable ifc
            Could not locate executable g77
            Could not locate executable g95
            Could not locate executable pgfortran
            don't know how to compile Fortran code on platform 'posix'
            _configtest.c:1:5: warning: incompatible redeclaration of library function 'exp' [-Wincompatible-library-redeclaration]
            int exp (void);
                ^
            _configtest.c:1:5: note: 'exp' is a builtin with type 'double (double)'
            1 warning generated.
            running build_py
            copying numpy/version.py -> build/lib.macosx-10.9-x86_64-3.9/numpy
            copying build/src.macosx-10.9-x86_64-3.9/numpy/__config__.py -> build/lib.macosx-10.9-x86_64-3.9/numpy
            copying build/src.macosx-10.9-x86_64-3.9/numpy/distutils/__config__.py -> build/lib.macosx-10.9-x86_64-3.9/numpy/distutils
            running build_clib
            error: Command "/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_croot-8rcp3rdc/python-split_1649141342860/_build_env/bin/llvm-ar rcs build/temp.macosx-10.9-x86_64-3.9/libnpymath.a build/temp.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/npy_math.o build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/ieee754.o build/temp.macosx-10.9-x86_64-3.9/build/src.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/npy_math_complex.o build/temp.macosx-10.9-x86_64-3.9/numpy/core/src/npymath/halffloat.o" failed with exit status 127
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
      error: legacy-install-failure
      
      × Encountered error while trying to install package.
      ╰─> numpy
      
      note: This is an issue with the package mentioned above, not pip.
      hint: See above for output from the failure.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
(base) Mandeep@Admins-iMac ~ %  

None type in retrieving Wikidata

from py4ami.wikimedia import WikidataLookup
wikidata_lookup = WikidataLookup()
file1 = open('extracted_phrases.txt', 'r')
Lines = file1.readlines()
for line in Lines:
print(line)
if line.starts_with("-"):
continue
qitem0, desc, wikidata_hits = wikidata_lookup.lookup_wikidata(line)
print("HITS", wikidata_hits)
print("End of the program")

Produces the error:
Traceback (most recent call last):
File "C:\Program Files\Python310\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "", line 7, in
File "C:\Users\Roopa\PycharmProjects\vsmr2\venv\lib\site-packages\py4ami\wikimedia.py", line 69, in lookup_wikidata
self.wikidata_dict = self.create_dict_for_all_possible_wd_matches(ul)
File "C:\Users\Roopa\PycharmProjects\vsmr2\venv\lib\site-packages\py4ami\wikimedia.py", line 102, in create_dict_for_all_possible_wd_matches
self.add_subdict_title_desc_statements(li, qitem, result_heading_a, wikidata_dict)
File "C:\Users\Roopa\PycharmProjects\vsmr2\venv\lib\site-packages\py4ami\wikimedia.py", line 110, in add_subdict_title_desc_statements
sub_dict[DESC] = li.find("./div[@Class='" + SEARCH_RESULT + "']/span").text
AttributeError: 'NoneType' object has no attribute 'text'

`pdf2html` does not obey `--maxpage`

py4ami 0.0.40 does not stop after maximum pages:

pm286macbook:junk pm286$ py4ami PDF --pdf2html pdfplumber --inpath /Users/pm286/projects/semanticClimate/ipcc/ar6/wg3/Chapter02/fulltext.pdf  --outdir /Users/pm286/misc --maxpage 10
WARNING:root: *** ARG_DICT {'version': False, 'command': 'PDF', 'flow': True, 'footer': 80, 'header': 80, 'inpath': '/Users/pm286/projects/semanticClimate/ipcc/ar6/wg3/Chapter02/fulltext.pdf', 'maxpage': '10', 'outdir': '/Users/pm286/misc', 'outstem': 'fulltext.flow', 'outform': 'html', 'pdf2html': 'pdfplumber', 'pages': 'all_pages', 'resolution': 400}
WARNING:root: *** ARG_DICT {'version': False, 'command': 'PDF', 'flow': True, 'footer': 80, 'header': 80, 'inpath': '/Users/pm286/projects/semanticClimate/ipcc/ar6/wg3/Chapter02/fulltext.pdf', 'maxpage': '10', 'outdir': '/Users/pm286/misc', 'outstem': 'fulltext', 'outform': 'html', 'pdf2html': 'pdfplumber', 'pages': 'all_pages', 'resolution': 400, 'outpath': PosixPath('/Users/pm286/projects/semanticClimate/ipcc/ar6/wg3/Chapter02/fulltext.html')}
 wrote html /Users/pm286/misc/fulltext.flow_0.html
 wrote html /Users/pm286/misc/fulltext.flow_1.html
 wrote html /Users/pm286/misc/fulltext.flow_2.html
 wrote html /Users/pm286/misc/fulltext.flow_3.html
 wrote html /Users/pm286/misc/fulltext.flow_4.html
 wrote html /Users/pm286/misc/fulltext.flow_5.html
 wrote html /Users/pm286/misc/fulltext.flow_6.html
 wrote html /Users/pm286/misc/fulltext.flow_7.html
 wrote html /Users/pm286/misc/fulltext.flow_8.html
 wrote html /Users/pm286/misc/fulltext.flow_9.html
 wrote html /Users/pm286/misc/fulltext.flow_10.html
 wrote html /Users/pm286/misc/fulltext.flow_11.html
 wrote html /Users/pm286/misc/fulltext.flow_12.html
 wrote html /Users/pm286/misc/fulltext.flow_13.html

Dictionary Validation - Suggested new steps

Please add a validation step that does the following:

Find/replace:

  • double spaces -> single space (may need to do this recursively in case there are triple or more spaces in places)
  • invisible characters that appear as spaces -> single space
  • lines that end with space-return -> return
  • lines that begin with return-space -> return

`py4ami` cannot load `lxml`

@peter Murray-Rust Following is an error running py4ami:

(venv) emanuelfarruda@Mannys-MacBook-Pro-2021 ~ % py4ami
Traceback (most recent call last):
 File "/Library/Frameworks/Python.framework/Versions/3.8/bin/py4ami", line 33, in <module>
  sys.exit(load_entry_point('py4ami==0.0.35', 'console_scripts', 'py4ami')())
 File "/Library/Frameworks/Python.framework/Versions/3.8/bin/py4ami", line 25, in importlib_load_entry_point
  return next(matches).load()
 File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/metadata.py", line 77, in load
  module = import_module(match.group('module'))
 File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
  return _bootstrap._gcd_import(name[level:], package, level)
 File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
 File "<frozen importlib._bootstrap>", line 991, in _find_and_load
 File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
 File "<frozen importlib._bootstrap_external>", line 848, in exec_module
 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
 File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/py4ami/pyamix.py", line 7, in <module>
  import lxml.etree as etree
ModuleNotFoundError: No module named 'lxml'

I tried reinstalling py4ami using pip3 install --force-reinstall --no-cache-dir py4ami (see log below), and then re-ran, but got the same error as above:

(venv) emanuelfarruda@Mannys-MacBook-Pro-2021 ~ % pip3 install --force-reinstall --no-cache-dir py4ami

Collecting py4ami
 Downloading py4ami-0.0.35.tar.gz (11.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.0/11.0 MB 28.0 MB/s eta 0:00:00
 Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for py4ami, since package 'wheel' is not installed.
Installing collected packages: py4ami
 Attempting uninstall: py4ami
  Found existing installation: py4ami 0.0.35
  Uninstalling py4ami-0.0.35:
   Successfully uninstalled py4ami-0.0.35
 Running setup.py install for py4ami ... done
Successfully installed py4ami-0.0.35

Cannot encode/decode ?private? Unicode characters

IPCC reports have characters (rows on dots) in Table of Contents that seem to be outside normal Unicode ranges (maybe private).

Example - dots in p4 of test/resources/ipcc/wg2/spm/fulltext.pdf

Have currently trapped this at a page level so pages with these characters are not written but don't break the flow.
The Exception mess is simply IO_ENCODER

Add two new attributes to auto-generated dictionaries: term source and source-specific word count

In a library of dictionaries, any specific term should show up in only one dictionary in that library set. (eg. Some terms and abbreviations may be climate-specific, but not chapter-specific. So in the case of the ICPP reports, we want to ensure extracted abbreviated terms are included only in the chapter in which the term is most relevant.

Therefore, when dictionaries are being created from individual ICPP chapters, it would be useful to include two new attributes:

  • source="" (which requires a step for the user to input the name of the source, or for it to be detected from the source document as a first step of term extraction)
  • count=""

This will then allow another script (to be created) to compare the frequency of terms appearing in each chapter, and move (or suggest to a human for moving) the term in the most relevant dictionary, and removing it from all others.

This process must be the same in (or occur only in one or the other of) docanalysis and py4ami

Feature request: embed pop-ups in enriched output HTML

  1. For any link to wikidata entries we've added to text, mousing over that link should trigger a pop-up window displaying the relevant comprehension-enhancing information from that entry.
  2. In the same way, whenever we have added other indicators to "comprehension-enhancing information" in the text (for example, highlighting a sentence from the source text that includes "low confidence level"), a pop-up window should display the relevant information that assists the readers comprehension, or alerts them to something that puts that information into perspective. (see example below)
  3. If the information in the pop-up window itself contains a link that could further increase the reader's comprehension, recursive pop-up windows should be triggered accordingly.

(Basic example code for generating such a pop-up is here: http://jsfiddle.net/yboss/q29tP )

Example contents of pop-up window for text highlighted in red to indicate "low confidence":


Low Confidence Level [^1]

Confidence Level: Low [^2] (highlight colour for "Low" is Red)
KEY[^3]

[UNREDACTED SOURCE TEXT GOES HERE...] [^4]
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec felis metus, feugiat a ex in, tincidunt pharetra ipsum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean porta eget lorem sit amet viverra. Quisque ac pretium justo.




  • [^1] Bold Heading explains the "special formatting" type/meaning
  • [^2] Typical blue underlined hyperlink to the wikidata entry — which itself can be moused-over to display a recursive pop-up window displaying the description for the defined term from the wikidata entry
  • [^3] Include also a KEY displaying examples of all the other highlight colour indicators for this category: Low(red), Medium(amber), High(green)
  • [^4] Complete, un-redacted sentence from the original source material (Plain text) *including the phrase that was the signal for us to markup the html as such* (i.e. "low confidence")

Bad commands throw stacktrace

Avoid stacktrace such as:

(base) pm286macbook:pyami pm286$ py4ami - h
usage: py4ami [-h] [--version] {DICT,GUI,HTML,PDF,PROJECT} ...
py4ami: error: argument command: invalid choice: '-' (choose from 'DICT', 'GUI', 'HTML', 'PDF', 'PROJECT')
Traceback (most recent call last):
  File "/opt/anaconda3/bin/py4ami", line 8, in <module>
    sys.exit(main())
  File "/opt/anaconda3/lib/python3.8/site-packages/py4ami/pyamix.py", line 1253, in main
    pyamix.run_command(sys.argv[1:])
  File "/opt/anaconda3/lib/python3.8/site-packages/py4ami/pyamix.py", line 342, in run_command
    self.parse_and_run_args(args)
  File "/opt/anaconda3/lib/python3.8/site-packages/py4ami/pyamix.py", line 357, in parse_and_run_args
    self.args = self.make_substitutions_create_arg_tuples(arglist, parser)
  File "/opt/anaconda3/lib/python3.8/site-packages/py4ami/pyamix.py", line 533, in make_substitutions_create_arg_tuples
    raise ValueError(f"bad command arguments {parsed_args} (see log output)")
ValueError: bad command arguments SystemExitFail_2 (see log output)
(base) pm286macbook:pyami pm286$ 

Make this prettier

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.