Skip to main content

ASCII art generator for science-themed visuals

Project description

Sciencii

Build Status

A Python package that generates science-themed ASCII art — DNA helices, pipettes, periodic table element cards, test tubes, and molecule-style text captions.

PyPI: https://pypi.org/project/sciencii/

Team

Installation

pip install sciencii

Usage

dna_helix(length)

Generates an ASCII DNA double helix. length is the number of 5-line cycles to repeat.

from sciencii import dna_helix

print(dna_helix(1))
O---o
 O-o
  O
 o-O
o---O

pipette(volume, max_volume)

Draws an ASCII pipette filled proportionally. volume is the current fill level, max_volume is the capacity.

from sciencii.pipette import pipette

print(pipette(5, 10))
        \   \-                                              
         \   \                                              
          \   \                                             
           \   \                                            
            \   \                                           
             \   \-                                         
              \   \                                         
               \   \                                        
                \   \                                       
                 \   \                                      
                  \~~~\-                                    
                   \~~~\                                    
                    \~~~\                                   
                     \~~~\                                  
                      \~~~\                                 
                       \~~~\-                               
                        \~~~\                               
                         \~~~\                              
                          \~~~\                             
                           \~~~\                            
                            \ \                             
                             \ \                            
                              \ \                           
                               \                            
                                \                           
                                 \                          
                                  \                         
                                   o                        

   5/10

get_element(name)

Looks up an element by name, symbol, or atomic number and shows its ASCII art card. Pass "table" for the full periodic table.

import sciencii.periodic_table as periodic_table

periodic_table.get_element("He")
+------------+
|  2         |
|     He     |
|   Helium   |
|   4.0026   |
+------------+
periodic_table.get_element(79)
+------------+
| 79         |
|     Au     |
|    Gold    |
|   196.97   |
+------------+
periodic_table.get_element("table")

Calling periodic_table.get_element("table") prints the full ASCII periodic table.

molecule_caption(text, style)

Draws text in a science-themed ASCII style. style can be "flask", "beaker", "atom", or "bond".

from sciencii.molecule_caption import molecule_caption

print(molecule_caption("H2O", "flask"))
print(molecule_caption("NaCl", "beaker"))
print(molecule_caption("Fe", "atom"))
print(molecule_caption("CO2", "bond"))
   ||
   ||
  /  \
 /    \
/  H2O  \
+-------+
+--------+
|        |)
|  NaCl  |
|        |
+--------+
 .------.
({  Fe  })
 '------'
  ~~~~~~
[C]-[O]=[2]

test_tube(fill_level, label)

Draws an ASCII test tube filled proportionally. fill_level is a number from 0 to 100 representing the percentage filled, and label is a string displayed below the tube.

from sciencii import test_tube

print(test_tube(75, "Sample A"))
|   |
|   |
|   |
|###|
|###|
|###|
|###|
|###|
|###|
|###|
|___|
Sample A

Example Program

See example.py for a runnable program that demonstrates every function.

python example.py

For Developers

Setup

Requires Python 3.9+ and pipenv (pip install pipenv).

git clone https://github.com/swe-students-spring2026/3-package-red_panda.git
cd 3-package-red_panda
pipenv install --dev

Run tests

pipenv run pytest

Build the package

pipenv run python -m build

Environment variables

No .env file or secret credentials are required to run or test this project.

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

sciencii-0.1.5.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sciencii-0.1.5-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file sciencii-0.1.5.tar.gz.

File metadata

  • Download URL: sciencii-0.1.5.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for sciencii-0.1.5.tar.gz
Algorithm Hash digest
SHA256 daa79483cecaa74729c1422701ff87a515b34e439e4bed5a8bc1190e8aa00c9f
MD5 0eec293d2a03702c09459ca5ed4a3e92
BLAKE2b-256 1e9862ee8485d6e2a22eb88b4f41d2c0d0e6c9ec2a343a0f84294427605e2d65

See more details on using hashes here.

File details

Details for the file sciencii-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: sciencii-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for sciencii-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7ada9740ad72f54664001ce6e7b752db8aaee5d2f12cdfa775f5a33106e3bb5d
MD5 cb04cf1ad70cc064527241fabcc309ff
BLAKE2b-256 12faf87215f802e6a323048aad2d578235161b452e65f473323553c57aa194f4

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