Skip to main content

PyArchey2 is a fork of PyArchey. It is an attempt to speed up PyArchey by introducing multithreading and dropping support for Python2.

Project description

PyArchey2 drops support for Python 2.7. The motivation for PyArchey2 is performance. Main changes includes multi-threading to speed up information gathering and uses f-strings for string formatting. Also, added logging and bytes labels are expanded to yottabytes.

This is based off the archey command (which is also python) distributed by various linux, unix, and osx package managers. In order to avoid a naming conflict between them, I called this pyarchey.

PyArchey is developed for and tested under Python 2.7, no guarrentee is made about its suitability for Python 3.x. Pull requests adding 3.x support are welcome.

Currently, pyarchey supports logos for Arch, Fedora, LinuxMint, Ubuntu, SUSE, Debian, Raspbian, Gentoo, OpenBSD, generic Linux, and Slackware.

[kevin@Tardis soccer2]$ pyarchey -z

                  ##             User: kevin
               ####              Hostname: Tardis.local
               ##                IP: 192.168.1.4 / 58:B0:35:F2:25:D8
       #######    #######        OS: Mac OSX 10.10.5 x86_64
     ######################      Kernel: 14.5.0
    #####################        Uptime: 13 days 14 hrs 45 mins
    ####################         Shell: /bin/bash
    ####################         Processes: 214 running
    #####################        Packages: 113
     ######################      CPU: Intel Core2 Duo P8600 @ 2.40GHz
      ####################       CPU Usage: [17.8, 13.9]
        ################         RAM: 7.0 GB/ 8.0 GB
          ###     ####           Disk: 219.0 / 233.0 GB



pi@calculon ~/github/pyarchey $ pyarchey -z

        .~~.   .~~.      User: pi
       '. \ ' ' / .'     Hostname: calculon
        .~ .~~~..~.      IP: 192.168.1.17 / B8:27:EB:0A:5A:17
       : .~.'~'.~. :     OS: Raspbian 7 (wheezy) armv6l
      ~ (   ) (   ) ~    Kernel: 4.1.6+
     ( : '~'.~.'~' : )   Uptime: 15 days 21 hrs 23 mins
      ~ .~ (   ) ~. ~    Shell: /bin/bash
       (  : '~' :  )     Processes: 73 running
        '~ .~~~. ~'      Packages: 960
            '~'          CPU: ARMv6-compatible processor rev 7 (v6l)
                         CPU Usage: [1.0]
                         RAM: 216.0 MB/ 229.0 MB
                         Disk: 4.0 / 15.0 GB


pi@calculon ~/github/pyarchey $ pyarchey -zj
{"Kernel": "4.1.6+", "Uptime": "15 days 21 hrs 39 mins", "Shell": "/bin/bash",
"Disk": "4.0 / 15.0 GB", "IP": "192.168.1.17 / B8:27:EB:0A:5A:17", "Hostname":
"calculon", "Processes": "73 running", "RAM": "215.0 MB/ 229.0 MB", "User": "pi",
"CPU Usage": "[3.9]", "Packages": 960, "OS": "Raspbian 7 (wheezy) armv6l", "CPU":
"ARMv6-compatible processor rev 7 (v6l)"}

Requirements

Some of the custom code was removed and psutil was used to provide a cross-platform solution.

Install

The preferred way is to use pypi.org

pip install pyarchey2

You can also do:

git clone https://github.com/renyi/pyarchey2.git
cd pyarchey
python setup.py install

If you plan on doing some development, instead of install you can do develop.

Usage

To run:

pyarchey

args:

-d, --display

display ascii logos for all distributions

-h, --help

help

-j, --json

output json of system info, nothing is printed to the screen

-z, --zeroconfig

add .local to a hostname for zeroconfig to find IP address easier

--verbose

enables more verbose messages

--debug

print debug messages

History

As far as I am aware, this was started by @djmelik which was then forked by @mikeantonacci where I forked it form him.

Contributions

  • Dimitris Zlatanidis (dslackw) - Slackware support

  • mikeantonacci - fixed tab errors

  • Alessandro-Barbieri - Gentoo support

Changes

Date

Version

Notes

29 Mar 15

0.4.0

Forked

4 Apr 15

0.5.0

Added Apple logo, changed custom code to psutil

11 Apr 15

0.6.0

Added commandline args for: displaying ascii logos, json output, zeroconfig

26 Aug 15

0.6.2

Minor fixes

21 Sep 15

0.6.3

OSX now reports OSX version and minor other fixes

22 Sep 15

0.6.4

Arch linux fix

23 Sep 15

0.6.5

Refactoring to remove some command line programs

23 Sep 15

0.6.6

Bug fix

6 Oct 15

0.6.7

Bug fix with Python 3

20 Oct 15

0.6.8

Colored the leaves on Rpi ascii image

3 Jun 16

0.7

Bug fix with Python 3 and some PEP8 fixes

19 Jul 19

2.0.0

Dropped Python 2 support. Added multithreading and queues to speed up information gathering. Added logging. Allow output() to override json.dumps(). Use f-strings for string formatting. Added format_bytes to fix some bugs and expand labels to yottabyte.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyarchey2-2.0.5.tar.gz (27.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page