Skip to main content

A premium Native & Web GUI framework for Windows.

Project description

๐Ÿš€ M4D Engine (Material 4 Design)

M4D Engine์€ Windows ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ํ”„๋ฆฌ๋ฏธ์—„ GUI ๋ฐ ์›น ๊ฐœ๋ฐœ ํ†ตํ•ฉ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Win32 ๋„ค์ดํ‹ฐ๋ธŒ ๋“œ๋กœ์ž‰๋ถ€ํ„ฐ ์ตœ์‹  Chromium ๊ธฐ๋ฐ˜ ์›น ๊ธฐ์ˆ ๊นŒ์ง€, ํŒŒ์ด์ฌ ์ฝ”๋“œ ํ•œ ์ค„๋กœ ์ „๋ฌธ๊ฐ€๊ธ‰ UI๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ฆ ์„ค์น˜ (Installation)

pip install m4d-engine

๐ŸŒŸ ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ์‚ฌ์šฉ๋ฒ• (Key Features)

1. Zero-Init ์ž๋™ ์›น ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (m4d.App)

ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด ์—†์ด ํŒŒ์ด์ฌ ์‹คํ–‰๋งŒ์œผ๋กœ React + Vite + Chromium ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ฆ‰์‹œ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

import m4d

# ์•ฑ ์ด๋ฆ„๋งŒ ์ง€์ •ํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ ํ™˜๊ฒฝ ์„ค์ •์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
app = m4d.App("my_premium_project")

# ์„œ๋ฒ„ ์‹คํ–‰ ๋ฐ ๋ธŒ๋ผ์šฐ์ € ์˜คํ”ˆ๊นŒ์ง€ ํ•œ ๋ฒˆ์—!
app.run()

2. ํŒŒ์ด์ฌ ์ „์šฉ ์›น์‚ฌ์ดํŠธ ๋นŒ๋” (m4d.WebSite)

ํ”„๋ก ํŠธ์—”๋“œ ์ง€์‹ ์—†์ด ํŒŒ์ด์ฌ ๊ฐ์ฒด๋งŒ์œผ๋กœ ๊ณ ํ•ด์ƒ๋„ ๋‹คํฌ ํ…Œ๋งˆ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

import m4d

site = m4d.WebSite("M4D ๊ณต์‹ ๊ฐ€์ด๋“œ")

# ์„น์…˜ ์ถ”๊ฐ€
site.add_hero(title="M4D Web Engine", subtitle="ํŒŒ์ด์ฌ์œผ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋ฆฌ๋ฏธ์—„ ์›น")
site.add_features([
    ("โšก", "์ดˆ๊ณ ์†", "์ตœ์ ํ™”๋œ ๋ Œ๋”๋ง"),
    ("๐ŸŽจ", "๋””์ž์ธ", "์˜ต์‹œ๋””์–ธ ๋‹คํฌ ํ…Œ๋งˆ")
])

# ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์‹คํ–‰
site.run(port=8080)

3. ๋„ค์ดํ‹ฐ๋ธŒ Win32 GUI ์—”์ง„ (m4d.M4DEngine)

์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด Windows ์‹œ์Šคํ…œ API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

import m4d

app = m4d.M4DEngine("Native App", 800, 600)
app.widgets.append(m4d.widgets.M4DButton(300, 250, 200, 50, "M4D Button"))
app.run()

๐Ÿ› ๏ธ ๊ณ ๊ธ‰ ํ™œ์šฉ (CLI)

์ž๋™ํ™” ๊ธฐ๋Šฅ ์™ธ์— ์ˆ˜๋™์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

m4d-init [ํ”„๋กœ์ ํŠธ๋ช…]

๐Ÿ’Ž ๋””์ž์ธ ์ฒ ํ•™

M4D๋Š” Liquid Glass์™€ Obsidian Dark ํ…Œ๋งˆ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ "์™€์šฐ"๋ฅผ ์„ ์‚ฌํ•˜๋Š” ๊ณ ํ•ด์ƒ๋„ ๊ทธ๋ž˜ํ”ฝ๊ณผ ๋งค๋„๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“ ๋ผ์ด์„ ์Šค

MIT License. ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ • ๋ฐ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


M4D Engine - Material for Design, Logic for Performance. | PyPI | Github |

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

m4d_engine-1.2.1.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

m4d_engine-1.2.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file m4d_engine-1.2.1.tar.gz.

File metadata

  • Download URL: m4d_engine-1.2.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for m4d_engine-1.2.1.tar.gz
Algorithm Hash digest
SHA256 664965d684de94b829649366a9f72688cdb4d32fb44242fe2c1852d6e693d960
MD5 deee2340bd7b0255561f515355eaa600
BLAKE2b-256 2ac6753c44ab17f264293bb8586fa1652c9e2a57423751a561b1bb42d203d42a

See more details on using hashes here.

File details

Details for the file m4d_engine-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: m4d_engine-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for m4d_engine-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e9ded405f51534a0b8b5dcaa8c00cd44b1a84d40ba535f87ac4b6e9aae96ca08
MD5 ad96848d58222dc12989d4915f09b894
BLAKE2b-256 6d43172b088b5dc1aada6eaf1c520a41ea57f29202be614157900e7967a41f91

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