Skip to main content

Minimalist star pattern generator using optimized one-liners.

Project description

makeastar logo

makeastar (별)

반복문 없이 별을 찍는 가장 우아하고 빠른 방법


🚀 개요

makeastar는 파이썬에서 ASCII 별 패턴을 생성하기 위한 초경량, 고성능 패키지입니다. 직관적인 함수 호출, 무한한 패턴 조합, 그리고 한국어 사용자를 위한 완벽한 로컬라이징을 제공합니다.


🛠 모든 문법 소개

1. 기본 사용법 (Basic Shapes)

모든 함수는 width (또는 n)와 char (기본값: '*') 파라미터를 지원합니다.

import star

star.triangle(5)       # 왼쪽 정렬 삼각형
star.right_triangle(5) # 오른쪽 정렬 삼각형
star.pyramid(5)        #Centered 피라미드
star.diamond(5)        #보석 모양 다이아몬드 (New!)
star.rhombus(5)        #마름모 (기존 다이아몬드)
star.hourglass(5)      #모래시계
star.arrow(5)          #화살표

2. 한국어 별칭 및 초성 (K-Localization)

한국어 사용자를 위해 풀 네임, 줄임말, 초성 별칭을 모두 지원합니다.

구분 예시
전체 이름 star.삼각형(5), star.피라미드(5), star.다이아몬드(5)
줄임말 star.삼(5), star.피라(5), star.다(5)
초성 star.ㅅㄱ(5), star.ㅍㄹ(5), star.ㄷㅇ(5), star.ㅁㄹㅁ(5)

3. 무한 조합 시스템 (Pattern Composition)

Pattern 객체 간의 연산을 통해 새로운 모양을 창조할 수 있습니다.

  • 수직 합치기 (+): 두 패턴을 위아래로 붙입니다.
  • 수직 반복 (*): 패턴을 N번 반복합니다.
# 삼각형 위에 역삼각형 붙이기
custom = star.(5) + star.역삼(5)
custom.draw()

# 피라미드 3번 반복
triple = star.피라(3) * 3
triple.draw()

4. 범용 실행 함수 (draw(), 별())

문자열 명령어나 숫자를 통해 즉시 별을 그릴 수 있습니다.

star.(5)              # 기본 피라미드 출력
star.그려("삼각형 10")   # 문자열 명령 실행
star.모양(star.dia(5))  # Pattern 객체 출력

⚡ 극단적 최적화 (Extreme Performance)

makeastar는 단순한 출력을 넘어 속도와 자원 효율을 극한으로 끌어올렸습니다.

  • LRU Cache: 동일한 설정의 패턴은 단 한 번만 계산하고 메모리에서 즉시 불러옵니다.
  • Memory Slots: __slots__를 적용하여 객체 생성 메모리 오버헤드를 최소화했습니다.
  • Lazy String Buffering: 출력 직전에만 문자열 합성을 수행하며, 결과물을 캐싱하여 재사용합니다.

📦 설치 및 라이선스

pip install makeastar

이 프로젝트는 MIT 라이선스를 따릅니다. 대한민국 개발자의 창의력을 응원합니다! 🇰🇷

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

makeastar-1.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

makeastar-1.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file makeastar-1.1.tar.gz.

File metadata

  • Download URL: makeastar-1.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for makeastar-1.1.tar.gz
Algorithm Hash digest
SHA256 4d5beaa1c38997166dfe11bd4a6b278cb45d8626b94abc329e986742c2aae205
MD5 5c89fbc15f39cb024cefcbc8b57ab537
BLAKE2b-256 6753eb047647f6d11b46302812663e4a37fb472c7f4e608b225e76c65194e0cd

See more details on using hashes here.

File details

Details for the file makeastar-1.1-py3-none-any.whl.

File metadata

  • Download URL: makeastar-1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for makeastar-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c28b16ebbd701f754a3cf34aff2b17dc381ff821f665aaa907c4cdcec84ebb5
MD5 af0e52f22aa4bc52b8daea720ec16f88
BLAKE2b-256 e0da990ed79959a48660670f0f5fc7ba0740f503968c063ca2743b133456f64a

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