[Python-modules-commits] [fabulous] 02/15: Import fabulous_0.3.0+dfsg1.orig.tar.gz
Ondřej Nový
onovy at moszumanska.debian.org
Sun Aug 14 10:40:06 UTC 2016
This is an automated email from the git hooks/post-receive script.
onovy pushed a commit to branch master
in repository fabulous.
commit 36bec92535b9e9cb32d8898aae2cc3c527646fb7
Author: Ondřej Nový <onovy at debian.org>
Date: Sun Aug 14 11:51:02 2016 +0200
Import fabulous_0.3.0+dfsg1.orig.tar.gz
---
.hgignore => .gitignore | 5 -
.hgtags | 7 -
.travis.yml | 35 +
AUTHORS | 13 +
CONTRIBUTORS | 11 +
COPYING | 20 -
LICENSE.txt | 202 ++++
MANIFEST.in | 10 +
PKG-INFO | 169 ---
README | 148 ---
README.rst | 18 +
docs/conf.py | 6 +-
docs/images/fabulous-demo.png | Bin 0 -> 94726 bytes
docs/index.rst | 269 ++++-
ez_setup.py | 7 +-
fabulous.egg-info/PKG-INFO | 169 ---
fabulous.egg-info/SOURCES.txt | 33 -
fabulous.egg-info/dependency_links.txt | 1 -
fabulous.egg-info/not-zip-safe | 1 -
fabulous.egg-info/requires.txt | 1 -
fabulous.egg-info/top_level.txt | 1 -
fabulous/__init__.py | 18 +-
fabulous/_xterm256.c | 16 +
fabulous/balls.png | Bin 0 -> 54588 bytes
fabulous/casts.py | 42 +
fabulous/color.py | 766 ++++++++++--
fabulous/compatibility.py | 30 +
fabulous/debug.py | 26 +-
fabulous/demo.py | 194 ++-
fabulous/experimental/__init__.py | 13 +
fabulous/experimental/canvas.py | 13 +
fabulous/gotham.py | 54 +-
fabulous/grapefruit.py | 2053 ++++++++++++++++++++++++++++++++
fabulous/image.py | 52 +-
fabulous/logs.py | 34 +-
fabulous/prompt.py | 197 +++
fabulous/queries.py | 22 +
fabulous/rlcomplete.py | 131 ++
fabulous/rotating_cube.py | 35 +-
fabulous/term.py | 933 +++++++++++++++
fabulous/test_transientlogging.py | 29 +-
fabulous/text.py | 205 ++--
fabulous/utils.py | 58 +-
fabulous/widget.py | 223 ++++
fabulous/xterm256.py | 42 +-
python-fabulous.spec | 65 +
setup.cfg | 5 -
setup.py | 57 +-
tests/casts_test.py | 36 +
tests/doctests.txt | 10 +
tests/manual/clear.py | 19 +
tests/manual/colors.py | 52 +
tests/manual/convulsions.py | 31 +
tests/manual/filechooser.py | 20 +
tests/manual/info.py | 23 +
tests/manual/longtimedprogressbar.py | 32 +
tests/manual/move.py | 32 +
tests/manual/progressbar.py | 36 +
tests/manual/spinner.py | 23 +
tests/manual/timedprogressbar.py | 25 +
tests/manual/title.py | 21 +
tests/rlcomplete_test.py | 40 +
tests/term_test.py | 66 +
update-gh-pages.sh | 35 +
64 files changed, 5945 insertions(+), 995 deletions(-)
diff --git a/.hgignore b/.gitignore
similarity index 73%
rename from .hgignore
rename to .gitignore
index 7929bc0..f886f66 100644
--- a/.hgignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-syntax: glob
*.pyc
*.pyo
*.pyc
@@ -8,7 +7,6 @@ syntax: glob
*.rej
*.orig
*.mo
-
.figleaf*
*.egg-info
*.egg
@@ -18,6 +16,3 @@ local_settings.py
.build
dist
pip-log.txt
-
-syntax: regexp
-(.*/)?\#[^/]*\#$
diff --git a/.hgtags b/.hgtags
deleted file mode 100644
index 9149f77..0000000
--- a/.hgtags
+++ /dev/null
@@ -1,7 +0,0 @@
-f0b97fffad309fd8dea60efd7d989fff4ba3058a 0.1
-f0b97fffad309fd8dea60efd7d989fff4ba3058a 0.1
-c6a2348d3455d5b25849d50d9fe497192dd62deb 0.1
-2a1837cbbaa1b99ff7caeae5b320584ffda3c8a9 0.1.1
-dfc04f2f18769e08d3d8b5f32bfabc20970e6c6b 0.1.2
-48ffde688a2e85ec80d72b59eb6107f46c8d39e4 0.1.3
-a7cfbe73acd2a137607bb29abbcb250f8b465571 0.1.4
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..3e02f8f
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,35 @@
+language: python
+dist: trusty
+
+python:
+ - 2.6
+ - 2.7
+ - 3.3
+ - 3.4
+ - 3.5
+ - pypy
+
+addons:
+ apt:
+ packages:
+ - libfreetype6-dev
+ - libjpeg8-dev
+ - liblcms2-dev
+ - libtiff5-dev
+ - libwebp-dev
+ - python-tk
+ - tcl8.6-dev
+ - tk8.6-dev
+ - zlib1g-dev
+
+script:
+ - pip install Pillow==2.3.0
+ - python -m doctest -v fabulous/*.py
+ - python setup.py install
+ - yes | fabulous-demo
+ - pip install sphinx==1.2.2
+ - pip install sphinxcontrib-programoutput
+ - sphinx-build docs gh-pages
+
+notifications:
+ email: false
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..cbb49b8
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,13 @@
+# This the official list of Fabulous authors for copyright purposes.
+# This file is distinct from the CONTRIBUTORS files.
+
+# See the latter for an explanation.
+# Names should be added to this file as:
+# Name or Organization <email address>
+# The email address is not required for organizations.
+
+Justine Alexandra Roberts Tunney <jtunney at gmail.com>
+Alan Trick <alantrick at gmail.com>
+Xavier Basty <xbasty at gmail.com>
+Red Hat Inc.
+Google Inc.
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
new file mode 100644
index 0000000..1640064
--- /dev/null
+++ b/CONTRIBUTORS
@@ -0,0 +1,11 @@
+# The AUTHORS file lists the copyright holders; this file
+# lists people.
+#
+# Names should be added to this file as:
+# Name <email address>
+
+Justine Tunney <jtunney at gmail.com>
+Alan Trick <alantrick at gmail.com>
+Ralph Bean <rbean at redhat.com>
+Simon Chopin <chopin.simon at gmail.com>
+Xavier Basty <xbasty at gmail.com>
diff --git a/COPYING b/COPYING
deleted file mode 100644
index 560fcad..0000000
--- a/COPYING
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2010 J.A. Roberts Tunney
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..fdb41bb
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,10 @@
+include AUTHORS
+include CONTRIBUTORS
+include LICENSE.txt
+include MANIFEST.in
+include ez_setup.py
+include fabulous/_xterm256.c
+include fabulous/balls.png
+include fabulous/fonts/LICENSE.txt
+include fabulous/fonts/NotoEmoji-Regular.ttf
+include fabulous/fonts/NotoSans-Bold.ttf
diff --git a/PKG-INFO b/PKG-INFO
deleted file mode 100644
index b3078f5..0000000
--- a/PKG-INFO
+++ /dev/null
@@ -1,169 +0,0 @@
-Metadata-Version: 1.0
-Name: fabulous
-Version: 0.1.5
-Summary: Makes your terminal output totally fabulous
-Home-page: http://lobstertech.com/fabulous.html
-Author: J.A. Roberts Tunney
-Author-email: jtunney at lobstertech.com
-License: MIT
-Download-URL: http://lobstertech.com/media/file/fabulous/fabulous-0.1.5.tar.gz
-Description: .. -*-restructuredtext-*-
-
- ==========
- Fabulous
- ==========
-
- ---------------------------------------------
- Makes Your Terminal Output Totally Fabulous
- ---------------------------------------------
-
- :Version: 0.1
- :Date: 2009-12-07
- :Copyright: Copyright (c) 2009 Lobstertech, Inc.
- :Manual section: 3
- :Manual group: Library Calls
-
-
- Getting Started
- ===============
-
- Download and extract the latest version::
-
- sudo apt-get install gcc python-imaging python-setuptools
- sudo python setup.py install
-
- Run the demo to see what's available::
-
- python -m fabulous.demo
-
-
- Basic Examples
- ==============
-
- Colors
- ------
-
- 4-bit color. These colors and styles are standard and work almost
- everywhere. They are useful in helping make your program output
- easier to read::
-
- from fabulous import bold, magenta, highlight_red
-
- print bold(magenta('hello kitty'))
- print highlight_red('DANGER DANGER!')
-
- print bold('hello') + ' ' + magenta( kitty')
-
- assert len(bold('test')) == 4
-
- 8-bit color. If you want to spice things up a bit, Fabulous supports
- xterm256 colors::
-
- from fabulous import fg256, bg256
- print fg256('#F0F', 'hello kitty')
- print fg256('magenta', 'hello kitty')
-
-
- Fancy Text
- ----------
-
- Way cool text. This is something neat you can use when you program
- starts up to display its name with style::
-
- from fabulous import text
- print text.Text("Fabulous", color='#0099ff', shadow=True, scew=5)
-
-
- Images
- ------
-
- Fabulous lets you print images, which is more fun than useful.
- Fabulous' unique method of printing images really shines when used
- with semi-transparent PNG files. When blending backgrounds, Fabulous
- assumes by default that your terminal has a black background. Don't
- worry if your image is huge, it'll be resized by default to fit your
- terminal::
-
- from fabulous import utils, image
- print image.Image("balls.png")
-
- # adjust for a white background
- utils.term.bgcolor = 'white'
- print image.Image("balls.png")
-
- It's scriptable too (like img2txt) ::
-
- python -m fabulous.image balls.png >balls.txt
- cat balls.txt
-
-
- Transient Logging
- -----------------
-
- This is very useful tool for monitoring what your Python scripts are
- doing. It allows you to have full verbosity without drowning out
- important error messages::
-
- import time, logging
- from fabulous import logs
- logs.basicConfig(level='WARNING')
-
- for n in range(20):
- logging.debug("verbose stuff you don't care about")
- time.sleep(0.1)
- logging.warning("something bad happened!")
- for n in range(20):
- logging.debug("verbose stuff you don't care about")
- time.sleep(0.1)
-
-
- Why Fabulous?
- =============
-
- Here's how Fabulous compares to other similar libraries:
-
- - fabulous_: Licensed MIT. Focuses on delivering useful features in
- the simplest, most user-friendly way possible (without a repulsive
- name.) Written in pure-python but will attempt to auto-magically
- compile/link a speedup library. ~1,000 lines of code.
-
- - libcaca_: WTFPL. This is the established and respected standard for
- doing totally insane things with ascii art (ever wanted to watch a
- movie on the command line?) Weighing in at ~72k lines of C, this
- project is a monster. It uses an older, more complex
- text/dithering-based rendering method. Compared to fabulous, some
- images look better, some worse. I found the docs somewhat difficult
- to follow and couldn't find support for transparency or 256-colors.
-
- - asciiporn_: GPL. Similar to libcaca but has an interesting feature
- for drawing math graphs to the terminal... Needs to compile C code,
- requires numpy/python2.6, and I couldn't get the darn thing to work.
- Aprox 17k lines of code.
-
- - pygments_: BSD. Has *excellent* support for terminal syntax highlighting.
-
- - termcolor_: GPL. Only supports 4-bit ANSI colors.
-
- .. _fabulous: http://pypi.python.org/pypi/fabulous
- .. _libcaca: http://caca.zoy.org/
- .. _termcolor: http://pypi.python.org/pypi/termcolor
- .. _pygments: http://pygments.org/
- .. _asciiporn: http://pypi.python.org/pypi/asciiporn/2009.05.01
-
-
- ToDo
- ====
-
- - <http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/>
-
-Platform: UNKNOWN
-Classifier: Development Status :: 2 - Pre-Alpha
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Environment :: Console
-Classifier: Intended Audience :: Developers
-Classifier: Programming Language :: C
-Classifier: Programming Language :: Python
-Classifier: Topic :: Utilities
-Classifier: Topic :: Artistic Software
-Classifier: Topic :: System :: Logging
-Classifier: Topic :: Multimedia :: Graphics
diff --git a/README b/README
deleted file mode 100644
index 097bbc3..0000000
--- a/README
+++ /dev/null
@@ -1,148 +0,0 @@
-.. -*-restructuredtext-*-
-
-==========
- Fabulous
-==========
-
----------------------------------------------
- Makes Your Terminal Output Totally Fabulous
----------------------------------------------
-
-:Version: 0.1
-:Date: 2009-12-07
-:Copyright: Copyright (c) 2009 Lobstertech, Inc.
-:Manual section: 3
-:Manual group: Library Calls
-
-
-Getting Started
-===============
-
-Download and extract the latest version::
-
- sudo apt-get install gcc python-imaging python-setuptools
- sudo python setup.py install
-
-Run the demo to see what's available::
-
- python -m fabulous.demo
-
-
-Basic Examples
-==============
-
-Colors
-------
-
-4-bit color. These colors and styles are standard and work almost
-everywhere. They are useful in helping make your program output
-easier to read::
-
- from fabulous import bold, magenta, highlight_red
-
- print bold(magenta('hello kitty'))
- print highlight_red('DANGER DANGER!')
-
- print bold('hello') + ' ' + magenta( kitty')
-
- assert len(bold('test')) == 4
-
-8-bit color. If you want to spice things up a bit, Fabulous supports
-xterm256 colors::
-
- from fabulous import fg256, bg256
- print fg256('#F0F', 'hello kitty')
- print fg256('magenta', 'hello kitty')
-
-
-Fancy Text
-----------
-
-Way cool text. This is something neat you can use when you program
-starts up to display its name with style::
-
- from fabulous import text
- print text.Text("Fabulous", color='#0099ff', shadow=True, scew=5)
-
-
-Images
-------
-
-Fabulous lets you print images, which is more fun than useful.
-Fabulous' unique method of printing images really shines when used
-with semi-transparent PNG files. When blending backgrounds, Fabulous
-assumes by default that your terminal has a black background. Don't
-worry if your image is huge, it'll be resized by default to fit your
-terminal::
-
- from fabulous import utils, image
- print image.Image("balls.png")
-
- # adjust for a white background
- utils.term.bgcolor = 'white'
- print image.Image("balls.png")
-
-It's scriptable too (like img2txt) ::
-
- python -m fabulous.image balls.png >balls.txt
- cat balls.txt
-
-
-Transient Logging
------------------
-
-This is very useful tool for monitoring what your Python scripts are
-doing. It allows you to have full verbosity without drowning out
-important error messages::
-
- import time, logging
- from fabulous import logs
- logs.basicConfig(level='WARNING')
-
- for n in range(20):
- logging.debug("verbose stuff you don't care about")
- time.sleep(0.1)
- logging.warning("something bad happened!")
- for n in range(20):
- logging.debug("verbose stuff you don't care about")
- time.sleep(0.1)
-
-
-Why Fabulous?
-=============
-
-Here's how Fabulous compares to other similar libraries:
-
-- fabulous_: Licensed MIT. Focuses on delivering useful features in
- the simplest, most user-friendly way possible (without a repulsive
- name.) Written in pure-python but will attempt to auto-magically
- compile/link a speedup library. ~1,000 lines of code.
-
-- libcaca_: WTFPL. This is the established and respected standard for
- doing totally insane things with ascii art (ever wanted to watch a
- movie on the command line?) Weighing in at ~72k lines of C, this
- project is a monster. It uses an older, more complex
- text/dithering-based rendering method. Compared to fabulous, some
- images look better, some worse. I found the docs somewhat difficult
- to follow and couldn't find support for transparency or 256-colors.
-
-- asciiporn_: GPL. Similar to libcaca but has an interesting feature
- for drawing math graphs to the terminal... Needs to compile C code,
- requires numpy/python2.6, and I couldn't get the darn thing to work.
- Aprox 17k lines of code.
-
-- pygments_: BSD. Has *excellent* support for terminal syntax highlighting.
-
-- termcolor_: GPL. Only supports 4-bit ANSI colors.
-
-.. _fabulous: http://pypi.python.org/pypi/fabulous
-.. _libcaca: http://caca.zoy.org/
-.. _termcolor: http://pypi.python.org/pypi/termcolor
-.. _pygments: http://pygments.org/
-.. _asciiporn: http://pypi.python.org/pypi/asciiporn/2009.05.01
-
-
-ToDo
-====
-
-- <http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/>
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..ab8c8ce
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,18 @@
+.. -*-restructuredtext-*-
+
+===================
+ Fabulous |travis|
+===================
+
+.. |TRAVIS| image:: https://travis-ci.org/jart/fabulous.png?branch=master
+ :target: https://travis-ci.org/jart/fabulous
+
+Fabulous is a Python library (and command line tools) designed to make the
+output of terminal applications look *fabulous*. Fabulous allows you to print
+colors, images, and stylized text to the console (without curses.) Fabulous
+also offers features to improve the usability of Python's standard logging
+system.
+
+Documentation is available at `jart.github.io/fabulous`_.
+
+.. _jart.github.io/fabulous: https://jart.github.io/fabulous
diff --git a/docs/conf.py b/docs/conf.py
index b0af172..b97b6ad 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -23,7 +23,7 @@ import fabulous
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.coverage', 'sphinx.ext.pngmath']
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.coverage', 'sphinx.ext.pngmath', 'sphinxcontrib.programoutput']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -39,7 +39,7 @@ master_doc = 'index'
# General information about the project.
project = u'fabulous'
-copyright = u'2010, J.A. Roberts Tunney'
+copyright = u'2016, Justine Tunney'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -174,7 +174,7 @@ htmlhelp_basename = 'fabulousdoc'
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'fabulous.tex', u'Fabulous Documentation',
- u'J.A. Roberts Tunney', 'manual'),
+ u'Justine Tunney', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
diff --git a/docs/images/fabulous-demo.png b/docs/images/fabulous-demo.png
new file mode 100644
index 0000000..9ef854d
Binary files /dev/null and b/docs/images/fabulous-demo.png differ
diff --git a/docs/index.rst b/docs/index.rst
index 836ab92..42c3c29 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -8,35 +8,182 @@
==========
.. toctree::
- :maxdepth: 1
+ :maxdepth: 2
-:Version: 0.1
-:Copyright: Copyright (c) 2010 J.A. Roberts Tunney
+:Version: 0.3.0
+:Founder: Justine Alexandra Roberts Tunney
+:Copyright: Copyright 2016 The Fabulous Authors. All rights reserved.
+:License: Apache 2.0 / OFL
+:Support: Python 2.6, 2.7, 3.3, 3.4, 3.5, and pypy
+:Source: `github.com/jart/fabulous`_
+
+Fabulous is a Python library (and command line tools) designed to make the
+output of terminal applications look *fabulous*. Fabulous allows you to print
+colors, images, and stylized text to the console (without curses.) Fabulous
+also offers features to improve the usability of Python's standard logging
+system.
+
+.. _github.com/jart/fabulous: https://github.com/jart/fabulous
Installation
============
-Run the following commands::
+The following prerequisites should be installed, but they are not mandatory.
+They help Fabulous run faster and make the full feature set available::
+
+ sudo apt-get install gcc python-imaging
+
+Fabulous can be installed from CheeseShop::
+
+ sudo pip install fabulous
+
+Fabulous can also be installed manually from the source archive::
- sudo apt-get install python-imaging
+ wget https://github.com/jart/fabulous/releases/download/0.3.0/fabulous-0.3.0.tar.gz
+ tar -xvzf fabulous-0.3.0.tar.gz
+ cd fabulous-0.3.0
sudo python setup.py install
+Once installed, run the demo::
+
+ fabulous-demo
+
+.. image:: images/fabulous-demo.png
+
+
+Examples
+========
+
+
+Colors
+------
+
+4-bit colors and styles are standard and work almost everywhere. They are
+useful in helping make your program output easier to read::
+
+ from fabulous.color import bold, magenta, highlight_red
+
+ print bold(magenta('hello world'))
+
+ print highlight_red('DANGER WILL ROBINSON!')
+
+ print bold('hello') + ' ' + magenta(' world')
+
+ assert len(bold('test')) == 4
+
+8-bit color works in most modern terminals, such as gnome-terminal and
+Terminal.app::
+
+ from fabulous import fg256, bg256
+ print fg256('#F0F', 'hello world')
+ print fg256('magenta', 'hello world')
+
+
+Fancy Text
+----------
+
+This is something neat you can use when you program starts up to display its
+name with style::
+
+ from fabulous import text
+ print text.Text("Fabulous!", color='#0099ff', shadow=True, skew=5)
+
+
+Images
+------
+
+Fabulous lets you print images, which is more fun than useful.
+Fabulous' unique method of printing images really shines when used
+with semi-transparent PNG files. When blending backgrounds, Fabulous
+assumes by default that your terminal has a black background. Don't
+worry if your image is huge, it'll be resized by default to fit your
+terminal::
+
+ from fabulous import utils, image
+ print image.Image("balls.png")
+
+ # adjust for a white background
+ utils.term.bgcolor = 'white'
+ print image.Image("balls.png")
+
+Image printing may perform slowly depending on whether or not Fabulous is able
+to compile ``~/.xterm256.so`` on the fly. This is a tiny library that makes
+color quantization go much faster. The pure Python version of the algorithm is
+really slow because it's implemented as a brute force nearest neighbor over
+Euclidean distance search. Although an O(1) version of this algorithm exists
+with slightly less correctness. Your humble author simply hasn't had the time
+to implement it in this library.
+
+If you like this image printing feature, then please check out hiptext_ which
+is a C++ program written by the same author as Fabulous. It offers a much
+richer version of this same functionality. It can even play videos in the
+terminal. Also be sure to check out rickrollrc_.
+
+.. _hiptext: https://github.com/jart/hiptext
+.. _rickrollrc: https://github.com/keroserene/rickrollrc
+
+
+Commands
+========
+
+
+fabulous-text
+-------------
+
+.. program-output:: fabulous-text --help
+
+
+fabulous-image
+--------------
+
+.. program-output:: fabulous-image --help
+
+
+fabulous-demo
+-------------
+
+Displays a demo showing what Fabulous can do.
+
+
+fabulous-gotham
+---------------
-Modules
+The :command:`fabulous-gotham` command is a gothic poetry generator. It is a
+gimmick feature that uses a simple mad lib algorithm. It has no concept of
+meter or rhyme. Users wanting a *proper* poetry generator should consider
+poemy2_ which uses markov chains and isledict. It's also written by the same
+author as Fabulous.
+
+.. _poemy2: https://github.com/jart/poemy2
+
+
+fabulous-rotatingcube
+---------------------
+
+The :command:`fabulous-rotatingcube` command is another gimmick feature that
+animates a wireframe rotating cube in the terminal. It runs until you hit
+Ctrl+C.
+
+
+Library
... 7088 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/fabulous.git
More information about the Python-modules-commits
mailing list