A Streamlit-powered app and Python library to generate a split-circle double-wave logo (suggestive of ocean waves and DNA) with real-time, interactive controls.
-
Pure-Python logo generation (
logo_gen_stand_alone_script.py)- Numeric root-finding for circle–wave intersections
- Dynamic SVG viewbox sizing so nothing ever gets clipped
- Customizable parameters for wave properties, colors, and sizes
- CairoSVG export to SVG/PNG
-
Pure-Python logo generation (
logo_generator.py)- Similar to logo_gen_stand_alone_script.py but tweaged for use with streamlit
- Numeric root-finding for circle–wave intersections
- Dynamic SVG viewbox sizing so nothing ever gets clipped
- Customizable parameters for wave properties, colors, and sizes
- CairoSVG export to SVG/PNG though logo_gen_stand_alone_script.py (not yet implemented in the app)
-
Interactive Streamlit app (
app.py)- Sliders + paired number-inputs for all geometry parameters
- Color pickers for foreground & background
- “Reset to defaults” button to restore initial settings
- Live full-size and thumbnail previews
git clone https://github.com/<your-username>/ocean-biometrics-logo-designer.git
cd ocean-biometrics-logo-designerpip install -r requirements.txtTo generate a logo SVG and save it to a file using the standalone script:
python src/logo_gen_stand_alone_script.py output.svgTo generate a PNG:
python src/logo_gen_stand_alone_script.py output.png --format PNGTo generate a logo with custom parameters:
python src/logo_gen_stand_alone_script.py --help
python src/logo_gen_stand_alone_script.py logo.svg --diameter 800 --fg1 "#C4EF87" --fg2 "#63C5DA" --bg "#27374D"
python src/logo_gen_stand_alone_script.py Nunito-Regular_side-by-side_undotted_color_outline.svg --format SVG --with_text side-by-side --bg "none"
streamlit run src/app.pyOpen your web browser and go to http://localhost:8501 to access the app.
Use the app's controls to customize your logo, then click the "Download SVG" or "Download PNG" button to save your design. TODO for now, the download buttons are not implemented in the app, but you can use the standalone script to generate logos, or copy image directly from app display.
