The aero command line package recycler. It uses package managers you already have.
Instead of having to consult several package managers when you are looking for something you can now search through all of them using the same commands and find similar results using the same tool.
When you type aero search php
, aero already knows which package managers are installed and starts collecting information from each package manager while caching the results for when you haven't found exactly what you're looking for yet. Other advanced features besides caching includes intuitive help and command line arguments parsing, loading configurations from file, bash and zsh autocompletion, results paging so that you don't have to always scroll up when the information you need is right at the top of the results that just came flying by but you also wont get dumped into a pager, of your choice I should add, if the results would fit on a single page and doesn't require paging. These are just some of the features already incorporated to enhance your user experience setting new standards for enjoyable software management.
Even though aero is some serious machining it will only focus on the task its set out to do, to recycle your existing package managers and you can rest assured/or continue to worry whichever might be the case, as aero will leave the heavy lifting up to the software partners already tasked with the use case requirements and instead only focuses on the end user requirements through consistent interfaces, intuitive interactions and all the information you require at your fingertips enabling you to make the decisions you need to accomplish the tasks at hand.:
\ \ \ \ . _____ ___________ ____ \_\__/ \__ \ _/ __ \_ __ \/ _ \ O__| \ \ / __ \\ ___/| | \( <_> ) \ o\/ (____ /\___ >__| \____/ \_/\ \/ \/ / \ \ O \ aero v0.0.1 alpha 2 βββββββββ\ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ \ \
Written in python using v 2.7, this may or may not be the entry requirement for now, on Mac OS X currently and the excellent IDE PyCharm by JetBrains which you may consider highly recommended do give it a try. The *nixes will likely be included soon, there exists no bias to the MS platforms only less accessible as a product of choice and opportunity I guess. Feel free to suggest other usages or specific requirements you might have.
After some serious deliberations even though the majority of the team has zero to no python experience at all it will never the less prevent us, like the good professional programmers we are, from using the best hammer for hitting the particular nails or fingers. This has been an interesting learning curve so far and I have to agree python is a pleasure and does suite the requirements like a glove and now that we are empowered with some new lingo like "pythonic" and "tupels" not to mention "generators" and the other "PEP" "recipes" of convenience we make no claim that this is an exemplary python implementation but we sure as the indents are important will try. Feel free to pin-point any obvious mistakes by raising an issue so we may apologise or be damned to continue in err without permission as we continue under assumption that this is the pythonic way. Now I guess I should go read the book perhaps =)
Even though using aero can cause you or your system no harm, by design and while we are using it everyday for a one stop interface to finding the software we need to install we need to warn you about two things:
- This is still a work in progress and you are welcome to pitch in, lend a hand, test, report bugs, request features or make a donation but keep in mind that you will find unfinished and more than likely some broken things.
- May lead to compulsive package installation disorders can cause dependency and some serious addictions, use at your own risk.
aero installation if you already have aero - from version 0.0.1a1 pip will always reinstall:
$ aero install pip:https://github.com/Aeronautics/aero/tarball/develop
aero install with pip --upgrade - upgrade aero and dependencies - from version 0.0.1a1:
$ aero install pip:https://github.com/Aeronautics/aero/tarball/develop === "--upgrade"
aero can be installed directly from github via pip with the following command:
$ pip install --upgrade https://github.com/Aeronautics/aero/tarball/develop
if you prefer using easy_install the following command will download and install aero from github:
$ easy_install https://github.com/Aeronautics/aero/tarball/develop
Clone the repo from github or fork it first and then clone your copy if you want to help out with pull requests. Then just run the setup.py with install:
$ ./setup.py install
On execution of aero with no requirements a short usage instruction will be presented:
$ aero aero v0.0.1 alpha 0 usage: aero [-h] [-v] [-p PAGER] [-d [{Brew,Port,Pip,Npm,Gem,Colour}]] [-i] [-c {bash,zsh}] command [mngr:] package ... aero: error: too few arguments
Providing aero with the customary --help
argument will give more detailed information:
$ aero --help ββββββββββββββββββββββ ββββ Usage Instructions βββββββββββββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ aero.py [-h] [-v] [-p PAGER] [-d [{npm,pyrus,pear,pip,brew,pecl,gem}]] [-i] [=== PASSTHRU] command [mngr:]package ... ββββββββββββββββββββ ββββ Argument Options βββββββββββββββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ optional arguments: -h, --help show this help message and exit -v, --version Show program's version number and exit -p, --pager PAGER The pager to use for long paged displays. The default is based on the environment variable $PAGER, if it is not set, some common pagers like 'less', 'more', 'most' and finally 'cat' are tried, in this order. default: None -d, --disable [{npm,pyrus,pear,pip,brew,pecl,gem}] Add the items you wish to disable to the list. Multiple disable arguments may be supplied. default: [] -i, --invalidate-cache Clear the search cache and enquire anew from the package managers. default: False ===, --pass-through PASSTHRU Passthru arguments to be added as arguments to the package manager's command execution. Enclose the arguments in quotes to distinguish them from others. default: None ββββββββββββββββββ ββββ Commands Usage βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Command arguments: The aero commands are based on the typical package manager commands followed by the package name(s) to perform the task on. At least one command is required but several packages can be processed simultaneously. Use 'aero command --help' to get further details for specific commands. command [mngr:]package Optionally provide the specific manager to use prepended to the package name(s) with a colon ':' or alternatively aero will execute the command against all enabled package managers. choose one of the following valid aero commands: search Do an aero search for packages install Do an aero install package(s) info Do an aero info for packages Configuration argument: command [mngr:]package Optionally provide the specific manager to use prepended to the package name(s) with a colon ':' or alternatively aero will execute the command against all enabled package managers. choose one of the following valid aero commands: search Do an aero search for packages install Do an aero install package(s) info Do an aero info for packages Configuration argument: It is possible to load aero configuration from an input file. @filename Append "key, value" (where applicable) to a file one argument, value pair per line. To tell aero which file to use for configuration specify the path and file name prefixed with an "@".
With aero you can expect to use the common commands and we will translate them to the package manager specific instructions where they may have chosen to deviate from the norm. Currently the following commands are implemented:
Usage:
$ aero <command> <packages...>
Where packages are one or more package names optionally prefixed with the specific package manager, colon separated. The mngr:package
format produced in search is used to instruct a specific package manager with any commands. Omitting the prefix instruction will result in all active package managers being instructed to complete the task. This may or may not necessarily have the desired effect. Multiple packages from different package managers can all be processed with one aero command.
To search for a package which will produce a list with the package manager prefixed the package name by \:
and a short description of the package.
To instruct the installation of a given package.
To obtain more detailed information regarding a given package now also available for pip.
The following package managers have been recycled, more will follow. Let us know if your favourite packaging tool is missing or submit a pull request with new adapter you'd like added.
- search
- install
- info
$ aero search apt:fibonacci ο»Ώββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ apt:libmath-fibonacci-perl β Fibonacci numbers calculations Perl module apt:python-pqueue β a priority queue extension for Python apt:qtstalker β commodity and stock market charting and β technical analysis βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info apt:libmath-fibonacci-perl ο»Ώββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: libmath-fibonacci-perl βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Package: β libmath-fibonacci-perl Priority: β optional Section: β universe/perl Installed-Size: β 64 Maintainer: β Ubuntu MOTU Developers <ubuntu- β [email protected]> Original-Maintainer: β Debian Perl Group <pkg-perl- β [email protected]> Architecture: β all Version: β 1.5-4 Depends: β perl (>= 5.6.0-16) Filename: β pool/universe/libm/libmath-fibonacci-perl β /libmath-fibonacci-perl_1.5-4_all.deb Size: β 6902 Md5Sum: β 7be8cecc5fcd6c44d02a19dce5930396 Sha1: β d6936f3710cf7d995cd9f2e925ee6f6e912a3327 Sha256: β 194a2f8c11dd492074745633c52f07392b537580f015a8 β 1bd20e9ca31c99cabd ο»Ώ Description-En: β Fibonacci numbers calculations Perl module β This module provides a few functions related β to Fibonacci numbers, such as getting the n β term of a Fibonacci sequence, compute and β return the first n Fibonacci numbers, β decompose an integer into the sum of β Fibonacci numbers, etc. Homepage: β http://search.cpan.org/dist/Math-Fibonacci/ Description-Md5: β 11f9aaf15742de4ebb30a58b77eabee3 Bugs: β https://bugs.launchpad.net/ubuntu/+filebug Origin: β Ubuntu βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
- search
- install
- info
$ aero search brew:ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ brew:ncurses β Version:stable 5.9 β http://www.gnu.org/s/ncurses/ β /usr/local/Cellar/ncurses/5.9 (1777 files, βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info brew:ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: ncurses βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Version: β stable 5.9 β http://www.gnu.org/s/ncurses/ β /usr/local/Cellar/ncurses/5.9 (1777 files, β 18M) * β ==> Options β --universal β Build a universal binary βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
Brew has the inclination to only return the package names on search, in addition to retrieval of the package names aero continues to further query info on each package from where it is able to parse and present slightly more usable information. Instead of just calling the info command on the package manager we execute aero info instead which means that all the information for every package listed in the search results is already cached and retrievable instantaneously.
- search
- install
- info
$ aero search gem:fibonacci ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ gem:closest-fibonacci β Version: 0.1.2 β http://github.com/kevindickerson/closest- β fibonacci β Provides some methods to find a Fibonacci β number less than a given N. gem:closest-fibonacci-gem β Version: 1.1.0 β http://github.com/beckram23/closest-fibonacci- β gem β Find the largest fibonacci that is smaller β than the given integer gem:closest_fibonacci β Version: 1.2.13 β http://github.com/bpolania/closest_fibonacci β Fibonacci gem for ModCloth gem:fibonacci β Version: 0.1.7 β http://github.com/chaitanyav/fibonacci β Fibonacci gem:fibonacci-evs β Version: 0.1.2 β http://github.com/edsimpson/fibonacci-evs β Test gem with a Fibonacci-related method for β Fixnum and Bignum. gem:simple_fibonacci β Version: 0.1.2 β http://github.com/anjshenoy/simple_fibonacci β Gem that calculates fibonacci numbers upto a a β provided number βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info gem:fibonacci ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: fibonacci βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Authors: β Chaitanya Vellanki Bindir: β bin Date: β 2012-11-09 Description: β A Ruby gem for exploring Fibonacci series Email: β [email protected] Has_Rdoc: β True Homepage: β http://github.com/chaitanyav/fibonacci Name: β fibonacci Platform: β ruby Require_Paths: β lib Required_Ruby_Version: β >= 0 Required_Rubygems_Version: β >= 0 Rubyforge_Project: β fibonacci Rubygems_Version: β 1.3.6 Specification_Version: β 3 Summary: β Fibonacci Version: β 0.1.7 βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
Search is executed with the -qbd
arguments which will return both locally installed and remotely available packages.
Info is obtained through the specification
command which returns a gemspec class tagged YAML document, nuff said.
- search
- install
- info
$ aero search npm:fibonacci-async ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ npm:fibonacci-async β 2012-10-29 22:03 β So, you want to benchmark node.js with β fibonacci once again? - Here's the library for β that. You're welcome. βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info npm:fibonacci-async ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: fibonacci-async βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Author: β Enno Boland <[email protected]> Description: β So, you want to benchmark node.js with β fibonacci once again? - Here"s the library for β that. You"re welcome. Dist: β tarball: http://registry.npmjs.org/fibonacci- β async/-/fibonacci-async-0.0.2.tgz β shasum: β 173d4d28b038723f41bacc660edc331b1e526047 Dist-Tags: β latest: 0.0.2 Engines: β node: * Main: β lib/binding.js Maintainers: β Gottox <[email protected]> Name: β fibonacci-async Repository: β url: git://github.com/Gottox/fibonacci- β async.git β type: git Scripts: β preinstall: node-waf clean || (exit 0); node- β waf configure build Time: β 0.0.1: 2012-05-26T11:24:06.960Z β 0.0.2: 2012-05-26T11:25:45.254Z Version: β 0.0.2 Versions: β 0.0.1, 0.0.2 βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
Info uses the npm view
command which return a JavaScript object of the registry which we then nudge closer to resembling JSON format so that we may proceed to parse it with :mod:json
- search
- install
- info
$ aero search pear:fibonacci ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ pear:Math_Fibonacci β Version:0.8 (stable) β http://pear.php.net/Math_Fibonacci β Package to calculate and manipulate Fibonacci β numbers βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info pear:Math_Fibonacci ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: Math_Fibonacci βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Latest: β 0.8 Installed: β - no - Package: β Math_Fibonacci License: β PHP Category: β Math Summary: β Package to calculate and manipulate Fibonacci β numbers Description: β The Fibonacci series is constructed using the β formula: F(n) = F(n - 1) + F (n - 2), By β convention F(0) = 0, and F(1) = 1. An β alternative formula that uses the Golden Ratio β can also be used: F(n) = (PHI^n - β phi^n)/sqrt(5) [Lucas' formula], where PHI = β (1 + sqrt(5))/2 is the Golden Ratio, and phi = β (1 - sqrt(5))/2 is its reciprocal Requires β Math_Integer, and can be used with big β integers if the GMP or the BCMATH libraries β are present. βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
- search
- install
- info
$ aero search pecl:ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ pecl:ncurses β Version:1.0.2 (stable) β http://pecl.php.net/ncurses β Terminal screen handling and optimization β package βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info pecl:ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: ncurses βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Latest: β 1.0.2 Installed: β - no - Package: β ncurses License: β PHP Category: β Console Summary: β Terminal screen handling and optimization β package Description: β ncurses (new curses) is a free software β emulation of curses in System V Rel 4.0 (and β above). It uses terminfo format, supports β pads, colors, multiple highlights, form β characters and function key mapping. Because β of the interactive nature of this library, it β will be of little use for writing Web β applications, but may be useful when writing β scripts meant using PHP from the command line. β See also http://www.gnu.org/software/ncurses/n β curses.html βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
- search
- install
- info
$ aero search pip:ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ pip:Canto β Version: 0.7.10 Score: 110 β An ncurses RSS aggregator. pip:chronos β Version: 0.2 Score: 13 β An ncurses stopwatch/timer. pip:gocept.httop β Version: 1.0 Score: 1 β An ncurses-based tool to monitor website β responsiveness in real-time. βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info pip:Canto ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: Canto βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Metadata-Version: β 1.0 Name: β Canto Version: β 0.7.10 Summary: β An ncurses RSS aggregator. Home-Page: β http://codezen.org/canto Author: β Jack Miller Author-Email: β [email protected] License: β GPLv2 Download-Url: β http://codezen.org/static/canto-0.7.10.tar.gz Description: β UNKNOWN Platform: β linux βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
The Pip adaptor does not use subprocess to execute pip command line interface but instead we use the pip library directly. This strategy now enables us to get pip info, functionality that is not exposed on the CLI but very much available as you can see, marking a huge advance for aero.
- search
- install
- info
$ aero search pyrus:ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ pyrus:pecl.php.net/ncurses β Version:1.0.2 (API 1.0.0) β http://pecl.php.net/ncurses β Terminal screen handling and optimization β package βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info pyrus:pecl.php.net/ncurses ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: pecl.php.net/ncurses βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Version: β 1.0.2 (API 1.0.0) Stability: β stable (API stable) Release Date: β 2012-06-16 17:05:19 Summary: β Terminal screen handling and optimization β package Description: β ncurses (new curses) is a free software β emulation of curses in System V Rel 4.0 (and β above). It uses terminfo format, supports β pads, colors, multiple highlights, form ch... Release Notes: β - Fixed build on PHP 5.3+ - Fixed bug #60853 β (Missing NCURSES_KEY_HOME constant)... βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
Similar to brew, with pyrus you are also required to call info should you require more details about a particular package. Luckily aero is more considerate and will call info on your behalf to provide you with more information in the search results.
- search
- install
- info
$ aero search port:cowsay ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ PACKAGE NAME DESCRIPTION βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ port:cowsay β @3.03 (textproc, amusements, games) Configurable β talking characters in ASCII art port:insub β @13.0 (irc) extra cowsay cows and irssi script βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ $ aero info port:insub ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ INFORMATION: insub βββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ Metadata-Version: β 1.0 Version: β @13.0 (irc) Description: β Handy tools for being obnoxious on IRC. Warning: β some of the cows are potentially offensive. Homepage: β http://gruntle.org/projects/irssi/insub/ Platforms: β darwin License: β unknown Maintainers: β [email protected] βββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββ
As well as extending the current functionality we also plan to support:
- fink
- yum
- composer local
Items that require some attention: (Let us know if you want to tackle any of these)
- The pass through is dodgy, some issues with argparse, passing --long-name-args in quotes work but -l short name fails.
- Autocomplete should complete known packages obtained through searching.
- No unit tests as yet
- Limited to no codedocs
New releases are made available on a regular basis as time allows.
- Minor bug fixes
- Improved command install response
- Pip info capable now - whoop whoop!
- Pip via pip library instead of sub-process
- Unicode done right
- Use unicode box drawing chars in output
- Normalized info output title case
- Refactored commands as package
- Refactored arguments
- Improved command line argument exposure
- RF CommandProcessor render method extraction
- Improved pager detection (lazy)
- Replaced autocompletion with argcomplete
- Improved imports (lazy)
- Improved adapter implementation
- Improved resources free on exit
- Improved pass through implementation
- Improved output display and fix typos
- Improved output for pecl and pear
- Repaired pyrus adapter
- Added support for Advanced Package Manage (apt)
- Tested on Linux (ubuntu)
- Terminal window actual size consideration, works with 80 cols or more
- Get dependencies from requirements.txt
- Pygmentized help output
- Using codecs.open instead of file.open for assets
- Documentation as Restructured Text (rst)
- Updated documentation
- Fixed installation issues and dependency installation
- Increased cache granularity command:adapter:package
- Support for multiple packages simultaneously
- Support for pass through arguments
- Progress indication
- Major BaseCommand refactor and Piped Coroutine workflow
- BaseAdapter refactor to simplify adapter implementations
- Colorized output goodness
- Tap brew extended repositories
- Optimize screen real estate utilization - display Version, url (where available) and Short description only in search results
- In process piped output - pager without a tmp file
- DebugCommand support to simplify adapter creation
- Added support for pear, pecl, pyrus
- Gracefully accept abnormal program termination
- Search commands that require more info now uses aero which caches the info details for each package
The New BSD License. see LICENSE.txt
Original Ascii art done by:
- Si Deane
- Chad Vice
- Scott Davey
- Wil Dixon
- Brad Leftwich
- Thor Aage Eldby
- Ennis Trimble
- Joan Stark
- Jochem Berends
__/\__ `==/\==Β΄ _ _____ ____________/__\____________ _____ _ (__\______o=/ /=_ | /____________________________\ | _=\ \=o______/__) >---\\\\ _/_/_^^]:> __||__||__/.--.\__||__||__ <:[^^_\_\_ ////---< __ _/_/|´´ | /__|___|___( >< )___|___|__\ | ``|\_\_ __ β \_________<0)____________________0`--Β΄0____________________(0>_________/ β β β β Brought to you by the Respect team. β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ