Skip to main content

tamcolors standardizes console color output across multiple platforms

Project description

Icon

TotalDownloads WeekDownloads Python3 License Docs Tests

about

This library standardizes console color output across multiple platforms. It also can get keyboard inputs without interrupting the console output and can run a console application at ~25 FPS.

pip install tamcolors

table tennis example

TableTennis

import tamcolors
tamcolors.examples.tabletennis.run()

basic example

BasicExample

import tamcolors
tamcolors.examples.basic.run()
import tamcolors
from tamcolors.tam_io.tam_colors import *
tamcolors.printc("Hello", "World!", ("light blue", "white"), same_color=True)
name = tamcolors.inputc("Whats Your Name? >>> ", ("light aqua", "gray"))
tamcolors.clear()
tamcolors.printc("Hello, ", ("default", "default"), name, (GREEN, WHITE), "!", ("gray", "light aqua"), sep="")

icon example

import tamcolors
tamcolors.examples.icon.run()
from tamcolors import tam, tam_tools, tam_io


class BootLogo(tam.tam_loop.TAMFrame):
    def __init__(self):
        super().__init__(fps=10,
                         char=" ",
                         foreground_color=tam_io.tam_colors.GREEN,
                         background_color=tam_io.tam_colors.BLACK,
                         min_width=57, max_width=57, min_height=20, max_height=20)

        self.icon = tam_tools.tam_fade.tam_fade_in(surface=tam_tools.tam_icon.get_icon(),
                                                   char=" ",
                                                   foreground_color=tam_io.tam_colors.BLACK,
                                                   background_color=tam_io.tam_colors.BLACK)
        self.wait = 10

    def update(self, tam_loop, keys, loop_data, *args):

        if not self.icon.done():
            self.icon.slide()
        else:
            self.wait -= 1

        if self.wait == 0:
            tam_loop.done()

    def draw(self, tam_surface, loop_data, *args):
        tam_surface.clear()

        tam_surface.draw_onto(self.icon.peak(), 0, 0)


tam.tam_loop.TAMLoop(BootLogo()).run()

versions of Python currently supported

  • 3.9
  • 3.8
  • 3.7
  • 3.6

platforms tested on

  • Windows 10
  • Ubuntu 20.04
  • macOS 10.15.5

goals

  • add IO event bus
  • support “get_keyboard_name” on macOS - Objective-C -> C++ -> Python
  • support “key state mode” on macOS - Objective-C -> C++ -> Python
  • add SHIFT KEY and other keys

long term goals

  • build a community that builds fun terminal games
  • make and change fonts at run time
  • add .wav support

3.0.2 goals

  • clean up code
  • add more tests
  • add wiki

3.0.1 goals

  • make and change fonts at run time
  • add SHIFT KEY and other keys

3.0.0 goals

  • update tamtools
  • add SPA, LAT, GER and FRE keyboard maps
  • supports Python 3.9
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

2.1.0 goals

  • update tamloop
  • update tamframe
  • add IO event bus
  • supports Python 3.9
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

2.0.0 goals

  • add .wav support
  • add .wav tests
  • supports Python 3.9
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

what defines a release?

  • x.?.? - tamcolors has matured to a new level of capability.
  • ?.x.? - Backwards compatibility was broken for most programs.
  • ?.?.x - Most programs should still run in this release.
  • All releases can have new features, bug fixes, depreciation and new tests.

versions

1.3.0

  • 2/5/2021
  • fixed exit clear
  • added wait_key
  • added frame_done
  • added multi console example
  • added key state keyboard mode Only for Windows
  • made tam_loop multi console friendly
  • renamed items from buffer to surface
  • updated tamcolors icon
  • supports GER_GERMAN, FRE_FRENCH, SPA_SPANISH, LAT_SPANISH, … Keyboards - Only for Windows and Linux
  • supports Python 3.9
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

1.2.0

  • 11/3/2020
  • added tam_loop profiler
  • added TCP IO (dummy console)
  • save/rest Windows buffer size on exit
  • cleaned up c/c++
  • added sandy check examples
  • added new color mode “MODE_16_PAL_256”
  • added “preferred_mode”argument to TAMLoop
  • cleaned up win dll selection process
  • added .ci testing
  • supports Python 3.9
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

1.1.1

  • 10/10/2020
  • added tam utils
  • added compress utils module
  • added encryption utils module
  • added identifier utils module
  • added log utils module
  • added transport optimizer utils module
  • added immutable cache utils module
  • added slow tests
  • added tcp utils module
  • fixed macOS terminal cursor
  • fixed windows missing dll
  • added dependencies licences
  • supports Python 3.9
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

1.1.0

  • 9/7/2020
  • fixed macOS!
  • broke up IO into drivers
  • added terminal identifier
  • added 256 color mode
  • added rgb color mode
  • added RGBA
  • added Color
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6

1.0.4

  • 8/13/2020
  • added more examples
  • bdist_wheel for Linux
  • cleaned up win_tam, uni_tam and any_tam
  • added alpha color for TAMBuffer
  • set and get rgb value of color (fixed PowerShell colors)
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6
  • dropped support for Python 3.5

1.0.3

  • 7/29/2020
  • tamcolors
  • bdist_wheel for macOS
  • added more examples
  • added documentation
  • added tests for tam_basic
  • added default console colors
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6
  • supports Python 3.5

1.0.2

  • 7/22/2020
  • tamcolors is now very usable
  • bdist_wheel for Windows
  • added non interrupting keyboard input
  • added TAMLoop
  • added tam_tools
  • added tests
  • supports Python 3.8
  • supports Python 3.7
  • supports Python 3.6
  • supports Python 3.5

0.2.0

  • 2/1/2018
  • tamcolors proof of concept
  • added printc
  • added inputc
  • added textBuffer
  • supports Python 3.6

Project details


Download files

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

Files for tamcolors, version 1.3.0
Filename, size File type Python version Upload date Hashes
Filename, size tamcolors-1.3.0-cp36-cp36m-macosx_10_9_x86_64.whl (668.1 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp36-cp36m-win32.whl (675.8 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp36-cp36m-win_amd64.whl (677.2 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp37-cp37m-macosx_10_9_x86_64.whl (668.1 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp37-cp37m-win32.whl (675.8 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp37-cp37m-win_amd64.whl (677.2 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl (668.1 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp38-cp38-win32.whl (675.9 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp38-cp38-win_amd64.whl (677.3 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl (668.1 kB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp39-cp39-win32.whl (675.8 kB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size tamcolors-1.3.0-cp39-cp39-win_amd64.whl (677.2 kB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size tamcolors-1.3.0.tar.gz (3.9 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page