Skip to main content

Neopolitan: a library for displaying text on LED boards

Project description

neopolitan

A library for displaying "text" on LED boards

Description

This is a revamp of stockticker, which queries real-time stock price data, calculates daily fluctuations, and displays it on an LED board. While the end result of that project was cool, this project aims to clarify much of the data display code and make it usable to display any inputted message. See this sub-readme for an introduction to how data can be used to make the board display "human-readable" text.

Given that access to hardware boards can be constrictive and testing can be difficult, this project aims to support data display on a graphical interface so that anyone can access it. pygame is used to display the graphical display, while the neopixel (hence the project name) library is used to interface with the hardware board. The switch between these two displays is OS-dependent.

Installation

[python3 -m] pip install neopolitan

Usage

Make sure to exit the program by pressing the window close "X", instead of ctrl+c

  • To run the program
    from neopolitan.neop import main as main_function
    main_function()
    
  • To demo live-update functionality
    import neopolitan.testboardrunner
    
  • To run the program with arguments
    from queue import Queue
    
    q = Queue() # Initialize the input events queue
    q.put('say This is a demo statement') # Set the message: 'say {message (spaces okay)}'
    q.put('speed fast') # Set the scroll speed: 'speed {slow/medium/fast}'
    q.put('wrap True') # Set whether message wraps when done displaying: 'wrap {True/False};
    
    from neopolitan.neop import main
    main(events=q) # Run main with the specified events
    

https://github.com/alyoshenka/neopolitan/assets/38815390/1e98261b-8dfb-48e3-943b-34b49878c55f

  • To run some demos
    from neopolitan.demos import *
    
    display('This displays a message that cannot be updated')
    # Execution will return here when the display is closed
    display_all() # display all defined symbols
    

https://github.com/alyoshenka/neopolitan/assets/38815390/e9cae65b-2c18-4844-886f-61a2a319c42a

  • See this code for an example of how to send live updates in the package

Command Line Arguments

[Deprecated] Note: This code only works from source, NOT the package install

From the top-level neopolitan/ directory: python[3] neopolitan/neop.py {args}

  • --message/-m {message_to_display}
    • Displays the given message on the board (enclose in quotes if multiple words)
  • --scroll-speed/-s {slow/medium/fast}
    • Controls how quickly the display scrolls across the screen
  • --wrap/-w {True/False}
    • Determines whether the display should "wrap around" when it gets to the end, or just show a blank screen

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

neopolitan-0.1.29.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

neopolitan-0.1.29-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file neopolitan-0.1.29.tar.gz.

File metadata

  • Download URL: neopolitan-0.1.29.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for neopolitan-0.1.29.tar.gz
Algorithm Hash digest
SHA256 dd717ff6dd5f6566bb11d62a750b504d578b84c31a3e6fc3e0ed812f4497c7d6
MD5 ab65cce445eeb1c0a7c7895a99c4dc5f
BLAKE2b-256 08c51cf898297847f084591e693677d55cf17eeeb61da00d43b1e92090a94fc1

See more details on using hashes here.

File details

Details for the file neopolitan-0.1.29-py3-none-any.whl.

File metadata

  • Download URL: neopolitan-0.1.29-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for neopolitan-0.1.29-py3-none-any.whl
Algorithm Hash digest
SHA256 89ae55e01430ff401fdfd4ed71c8e318376c776a715d01420a5673cb5d343f1a
MD5 8fa743585d36b78f2c70245ad5882656
BLAKE2b-256 36eca4b1c184a9bd717dd0287c34de2b5ec7fa8f9d3a9e25f95b5fc3c6078e5a

See more details on using hashes here.

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