single |
Distro - an OS platform information API
=======================================
[CI Status]
[PyPI version]
[Supported Python Versions]
[Code Coverage]
[Is Wheel]
[Latest Github Release]
[![Join the chat at
https://gitter.im/python-distro/distro]](https://gitter.im/python-distro/distro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
`distro` provides information about the
OS distribution it runs on, such as a reliable machine-readable ID, or
version information.
It is the recommended replacement for Python's original
[`platform.linux_distribution`]
function (removed in Python 3.8). It also provides much more functionality
which isn't necessarily Python bound, like a command-line interface.
Distro currently supports Linux and BSD based systems but [Windows and OS X
support] is also planned.
For Python 2.6 support, see
https://github.com/python-distro/distro/tree/python2.6-support
## Installation
Installation of the latest released version from PyPI:
`shell
pip install distro
`
Installation of the latest development version:
```shell
pip install https://github.com/python-distro/distro/archive/master.tar.gz
```
To use as a standalone script, download `distro.py` directly:
```shell
curl -O
https://raw.githubusercontent.com/python-distro/distro/master/src/distro/distro.py
python distro.py
`
distro`` is safe to vendor within projects that do not wish to add
dependencies.
```shell
cd myproject
curl -O
https://raw.githubusercontent.com/python-distro/distro/master/src/distro/distro.py
```
## Usage
```bash
$ distro
Name: Antergos Linux
Version: 2015.10 (ISO-Rolling)
Codename: ISO-Rolling
$ distro -j
{
"codename": "ISO-Rolling",
"id": "antergos",
"like": "arch",
"version": "16.9",
"version_parts": {
"build_number": "",
"major": "16",
"minor": "9"
}
}
$ python
>>> import distro
>>> distro.name(pretty=True)
'CentOS Linux 8'
>>> distro.id()
'centos'
>>> distro.version(best=True)
'8.4.2105'
```
## Documentation
On top of the aforementioned API, several more functions are available. For
a complete description of the
API, see the [latest API documentation].
## Background
An alternative implementation became necessary because Python 3.5
deprecated
this function, and Python 3.8 removed it altogether. Its predecessor
|