Metadata-Version: 1.2
Name: archspec
Version: 0.1.4
Summary: A library to query system architecture
Home-page: https://github.com/archspec/archspec
Author: archspec developers
Author-email: maintainers@spack.io
Maintainer: Greg Becker
Maintainer-email: maintainers@spack.io
License: UNKNOWN
Description: [![](https://github.com/archspec/archspec/workflows/Unit%20tests/badge.svg)](https://github.com/archspec/archspec/actions)
        [![codecov](https://codecov.io/gh/archspec/archspec/branch/master/graph/badge.svg)](https://codecov.io/gh/archspec/archspec)
        [![Documentation Status](https://readthedocs.org/projects/archspec/badge/?version=latest)](https://archspec.readthedocs.io/en/latest/?badge=latest)
        
        
        # Archspec (Python bindings)
        
        Archspec aims at providing a standard set of human-understandable labels for
        various aspects of a system architecture  like CPU, network fabrics, etc. and
        APIs to detect, query and compare them.
        
        This project grew out of [Spack](https://spack.io/) and is currently under
        active development. At present it supports APIs to detect and model
        compatibility relationships among different CPU microarchitectures.
        
        ## Getting started with development
        
        The `archspec` Python package needs [poetry](https://python-poetry.org/) to
        be installed from VCS sources. The preferred method to install it is via
        its custom installer outside of any virtual environment:
        ```console
        $ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
        ```
        You can refer to [Poetry's documentation](https://python-poetry.org/docs/#installation)
        for further details or for other methods to install this tool. You'll also need `tox`
        to run unit test:
        ```console
        $ pip install --user tox
        ```
        Finally you'll need to clone the repository:
        ```console
        $ git clone --recursive https://github.com/archspec/archspec.git
        ```
        
        ### Running unit tests
        Once you have your environment ready you can run `archspec` unit tests
        using ``tox`` from the root of the repository:
        ```console
        $ tox
          [ ... ]
          py27: commands succeeded
          py35: commands succeeded
          py36: commands succeeded
          py37: commands succeeded
          py38: commands succeeded
          pylint: commands succeeded
          flake8: commands succeeded
          black: commands succeeded
          congratulations :)
        ```
        
        ## Citing Archspec
        
        If you are referencing `archspec` in a publication, please cite the following
        paper:
        
         * Massimiliano Culpo, Gregory Becker, Carlos Eduardo Arango Gutierrez, Kenneth
           Hoste, and Todd Gamblin.
           [**`archspec`: A library for detecting, labeling, and reasoning about
           microarchitectures**](https://tgamblin.github.io/pubs/archspec-canopie-hpc-2020.pdf).
           In *2nd International Workshop on Containers and New Orchestration Paradigms
           for Isolated Environments in HPC (CANOPIE-HPC'20)*, Online Event, November
           12, 2020.
        
        ## License
        
        Archspec is distributed under the terms of both the MIT license and the
        Apache License (Version 2.0). Users may choose either license, at their
        option.
        
        All new contributions must be made under both the MIT and Apache-2.0
        licenses.
        
        See [LICENSE-MIT](https://github.com/archspec/archspec/blob/master/LICENSE-MIT),
        [LICENSE-APACHE](https://github.com/archspec/archspec/blob/master/LICENSE-APACHE),
        [COPYRIGHT](https://github.com/archspec/archspec/blob/master/COPYRIGHT), and
        [NOTICE](https://github.com/archspec/archspec/blob/master/NOTICE) for details.
        
        SPDX-License-Identifier: (Apache-2.0 OR MIT)
        
        LLNL-CODE-811653
        
Platform: UNKNOWN
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
