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 details)

Uploaded Source

File details

Details for the file pyarchey2-2.0.5.tar.gz.

File metadata

  • Download URL: pyarchey2-2.0.5.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.7.4

File hashes

Hashes for pyarchey2-2.0.5.tar.gz
Algorithm Hash digest
SHA256 ffcfb8408ab902fb8aa2ca9bb715a30264634ada5ca275fdd98f9ac03b11a4ba
MD5 a43d68ed983386197baa9e5d539d982b
BLAKE2b-256 831aff6b4872e723b05b7c28c7036f4c0414ef23bfc05192d4a2791707aae522

See more details on using hashes here.

Supported by

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