MelonTop100
한국 음악 사이트(멜론, 벅스)의 차트 정보를 쉽게 가져올 수 있는 Python 패키지입니다.
get_songs() 함수를 사용하면 각 사이트의 인기 차트 곡 목록을 리스트 형태로 조회할 수 있으며, 각 항목은 곡명, 아티스트, 앨범 등의 정보를 담은 딕셔너리로 제공됩니다.
이 패키지는 Python 3.9 이상 버전을 지원합니다.
Setup(Dev)
개발자 환경 설정 및 테스트 실행 방법입니다.
$ uv sync
$ uv run pytest
$ uv run pytest --run-integration
$ uv run ruff check .
실제 음악 사이트에 직접 접근하여 크롤링 파싱 정상 작동 여부를 검증하려면 --run-integration 옵션을 붙여 통합 테스트를 실행해 주시기 바랍니다.
Use
$ pip install melon-top100
$ python
from melon_top100 import melon, bugs
# 멜론 Top 100
>>> melon.get_songs()
[{'song_no': '34754292', 'title': 'TOMBOY', 'album': 'I NEVER DIE', 'artist': '(여자)아이들'}, ...]
>>> melon.get_like_count(34754292)
{'34754292': 137492}
# 벅스 실시간 차트
>>> bugs.get_songs()
[{'track_id': '130013303', 'title': 'Adrenaline', 'artist': 'ATEEZ', 'album': 'GOLDEN HOUR : Part.4'}, ...]
Ruff
이 프로젝트는 린터와 포매터로 Ruff(https://docs.astral.sh/ruff/)를 사용합니다. Ruff는 Rust로 작성된 Python 린터/포매터로, 기존 도구(flake8, isort, black 등)를 대체하면서도 압도적으로 빠른 속도를 제공합니다.
타입 힌트에 대해서는 개인적으로 선호하는 편은 아니지만, Ruff가 타입 힌트를 기반으로 더 정밀한 분석과 자동 수정을 제공하는 방향으로 발전하고 있어 그 가능성에 대한 기대감으로 적용했습니다.
Metadata
Release files for melon_top100 1.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| melon_top100-1.6.0.tar.gz | 6.1 kB | Without provenance | Details for melon_top100-1.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| melon_top100-1.6.0-py3-none-any.whl | Python 3 | none | any | Details for melon_top100-1.6.0-py3-none-any.whl |
Total release size: 11.3 kB
Release files / melon_top100-1.6.0.tar.gz
| Download URL | melon_top100-1.6.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd0c1d1e644d0bdad27b275e574779ed99d30fddcfd494dffbacde6b79f0996b
|
|
BLAKE2b-256 checksum How to use checksums |
505278437d53e99cccfafb63d247b7d34414f8b24a106402d97267a09821a4da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / melon_top100-1.6.0-py3-none-any.whl
| Download URL | melon_top100-1.6.0-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e8a10471c8a21ca48e5f14fde5feae7a4894fc7f7ad3f2e1662349c7b66c957
|
|
BLAKE2b-256 checksum How to use checksums |
0a370715125f8ad2e7ede6abe0bf6f62717179d9683cbb276211187eba186d1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for melon_top100 1.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.